LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-1.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 54.9 % 7062 3879
Test Date: 2026-05-11 19:44:49 Functions: 62.7 % 67 42
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Generated automatically by the program `genmatch' from
       2              :    a IL pattern matching and simplification description.  */
       3              : #pragma GCC diagnostic push
       4              : #pragma GCC diagnostic ignored "-Wunused-variable"
       5              : #pragma GCC diagnostic ignored "-Wunused-function"
       6              : 
       7              : #include "generic-match-auto.h"
       8              : 
       9              : bool
      10     96848535 : tree_zero_one_valued_p (tree t)
      11              : {
      12     96848535 :   const tree type = TREE_TYPE (t);
      13     96848535 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14     96848535 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15     91476165 :   {
      16     91476165 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
      17    182952330 :     if (INTEGRAL_TYPE_P (type)
      18     66479350 :  && (TYPE_UNSIGNED (type)
      19     12158494 :  || TYPE_PRECISION (type) > 1)
      20    224434815 :  && wi::leu_p (tree_nonzero_bits (captures[0]), 1)
      21              : )
      22              :       {
      23       467743 :         {
      24       467743 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 28, __FILE__, __LINE__, false);
      25       467743 :           return true;
      26              :         }
      27              :       }
      28              :   }
      29     91008422 :   switch (TREE_CODE (t))
      30              :     {
      31       237224 :     case BIT_AND_EXPR:
      32       237224 :       {
      33       237224 :         tree _p0 = TREE_OPERAND (t, 0);
      34       237224 :         tree _p1 = TREE_OPERAND (t, 1);
      35       237224 :         if (integer_onep (_p1))
      36              :           {
      37            0 :             {
      38            0 :               tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      39            0 :               if (INTEGRAL_TYPE_P (type)
      40              : )
      41              :                 {
      42            0 :                   {
      43            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
      44            0 :                     return true;
      45              :                   }
      46              :                 }
      47              :             }
      48              :           }
      49       237224 :         if (integer_onep (_p0))
      50              :           {
      51            0 :             {
      52            0 :               tree captures[2] ATTRIBUTE_UNUSED = { t, _p1 };
      53            0 :               if (INTEGRAL_TYPE_P (type)
      54              : )
      55              :                 {
      56            0 :                   {
      57            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
      58            0 :                     return true;
      59              :                   }
      60              :                 }
      61              :             }
      62              :           }
      63              :         break;
      64              :       }
      65     44140921 :     CASE_CONVERT:
      66     44140921 :       {
      67     44140921 :         tree _p0 = TREE_OPERAND (t, 0);
      68     44140921 :         {
      69     44140921 :           tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      70     88274795 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
      71     39685094 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
      72     35269038 :  || TYPE_PRECISION (TREE_TYPE (captures[1])) > 1)
      73     39685086 :  && INTEGRAL_TYPE_P (type)
      74     39685072 :  && (TYPE_UNSIGNED (type)
      75      1860500 :  || TYPE_PRECISION (type) > 1)
      76    127966914 :  && wi::leu_p (tree_nonzero_bits (captures[1]), 1)
      77              : )
      78              :             {
      79            0 :               {
      80            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 30, __FILE__, __LINE__, false);
      81            0 :                 return true;
      82              :               }
      83              :             }
      84              :         }
      85              :         break;
      86              :       }
      87     91008422 :     default:;
      88              :     }
      89     91008422 : if (tree_truth_valued_p (t))
      90              :   {
      91       159147 :     {
      92       159147 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      93       159147 :       if (INTEGRAL_TYPE_P (type)
      94       159147 :  && (TYPE_UNSIGNED (type)
      95       159081 :  || TYPE_PRECISION (type) > 1)
      96              : )
      97              :         {
      98       159097 :           {
      99       159097 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 31, __FILE__, __LINE__, false);
     100       159097 :             return true;
     101              :           }
     102              :         }
     103              :     }
     104              :   }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109            1 : generic_simplify_2 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
     111              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     112              : {
     113            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail73;
     115            1 :   {
     116            1 :     tree res_op0;
     117            1 :     res_op0 = captures[0];
     118            1 :     tree _r;
     119            1 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     120            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
     121            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     122            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 50, __FILE__, __LINE__, true);
     123              :     return _r;
     124              :   }
     125            0 : next_after_fail73:;
     126            0 :   return NULL_TREE;
     127              : }
     128              : 
     129              : tree
     130            0 : generic_simplify_9 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     131              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     132              :  const enum tree_code ARG_UNUSED (bit_op))
     133              : {
     134            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     135            0 :   if (bit_op == BIT_AND_EXPR
     136              : )
     137              :     {
     138            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail81;
     139            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail81;
     140            0 :       {
     141            0 :         tree _r;
     142            0 :         _r =  build_zero_cst (type);
     143            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 56, __FILE__, __LINE__, true);
     144            0 :         return _r;
     145              :       }
     146              : next_after_fail81:;
     147              :     }
     148              :   else
     149              :     {
     150            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail82;
     151            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail82;
     152            0 :       {
     153            0 :         tree _r;
     154            0 :         _r =  build_minus_one_cst (type);
     155            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 57, __FILE__, __LINE__, true);
     156            0 :         return _r;
     157              :       }
     158              : next_after_fail82:;
     159              :     }
     160              :   return NULL_TREE;
     161              : }
     162              : 
     163              : tree
     164          608 : generic_simplify_18 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     165              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     166              : {
     167          608 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     168          608 :   if (bitwise_equal_p (captures[0], captures[2])
     169              : )
     170              :     {
     171           88 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail93;
     172           88 :       {
     173           88 :         tree res_op0;
     174           88 :         {
     175           88 :           tree _o1[1], _r1;
     176           88 :           {
     177           88 :             tree _o2[2], _r2;
     178           88 :             _o2[0] = captures[0];
     179           88 :             {
     180           88 :               tree _o3[1], _r3;
     181           88 :               _o3[0] = captures[1];
     182           88 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     183              :                 {
     184            8 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     185              :                 }
     186              :               else
     187              :                 _r3 = _o3[0];
     188           88 :               _o2[1] = _r3;
     189              :             }
     190           88 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     191           88 :             _o1[0] = _r2;
     192              :           }
     193           88 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     194           88 :           res_op0 = _r1;
     195              :         }
     196           88 :         tree _r;
     197           88 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     198           88 :         if (TREE_SIDE_EFFECTS (captures[2]))
     199            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     200           88 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 66, __FILE__, __LINE__, true);
     201           88 :         return _r;
     202              :       }
     203            0 : next_after_fail93:;
     204              :     }
     205              :   return NULL_TREE;
     206              : }
     207              : 
     208              : tree
     209      3070029 : generic_simplify_32 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     210              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     211              :  const enum tree_code ARG_UNUSED (bitop))
     212              : {
     213      3070029 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     214      3070029 :   if (((TREE_CODE (captures[3]) == INTEGER_CST
     215       914817 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     216       733422 :  && (int_fits_type_p (captures[3], TREE_TYPE (captures[1]))
     217        10965 :  || tree_nop_conversion_p (TREE_TYPE (captures[1]), type)))
     218      2345344 :  || types_match (captures[1], captures[3]))
     219      1135043 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
     220      1135043 :  && !VECTOR_TYPE_P (TREE_TYPE (captures[1]))
     221      1134951 :  && TREE_CODE (TREE_TYPE (captures[1])) != OFFSET_TYPE
     222      1134951 :  && (bitop != BIT_AND_EXPR ||
     223              : 
     224              : )
     225      3070029 :  && (
     226        58817 :  TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
     227              :  || (
     228              : 
     229              :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
     230        57729 :  || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
     231        57729 :  || !type_has_mode_precision_p (type)
     232        57729 :  || (
     233              : 
     234              :  && TREE_CODE (captures[3]) != INTEGER_CST
     235              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     236              :  && single_use (captures[0])
     237              :  && single_use (captures[2])))
     238              : )
     239              :     {
     240         1091 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail107;
     241         1091 :       {
     242         1091 :         tree res_op0;
     243         1091 :         {
     244         1091 :           tree _o1[2], _r1;
     245         1091 :           _o1[0] = captures[1];
     246         1091 :           {
     247         1091 :             tree _o2[1], _r2;
     248         1091 :             _o2[0] = captures[3];
     249         1091 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     250              :               {
     251         1091 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     252              :               }
     253              :             else
     254              :               _r2 = _o2[0];
     255         1091 :             _o1[1] = _r2;
     256              :           }
     257         1091 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     258         1091 :           res_op0 = _r1;
     259              :         }
     260         1091 :         tree _r;
     261         1091 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     262         1091 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 79, __FILE__, __LINE__, true);
     263         1091 :         return _r;
     264              :       }
     265            0 : next_after_fail107:;
     266              :     }
     267              :   return NULL_TREE;
     268              : }
     269              : 
     270              : tree
     271            7 : generic_simplify_46 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     272              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     273              :  const enum tree_code ARG_UNUSED (op))
     274              : {
     275            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     276           14 :   if (INTEGRAL_TYPE_P (type)
     277            7 :  && tree_int_cst_sgn (captures[2]) > 0
     278            7 :  && tree_int_cst_sgn (captures[4]) > 0
     279           28 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
     280              : )
     281              :     {
     282            4 :       {
     283            4 :  tree t = type;
     284            4 :  if (!TYPE_OVERFLOW_WRAPS (t))
     285            4 :  t = unsigned_type_for (t);
     286            4 :  wide_int wone = wi::one (TYPE_PRECISION (t));
     287            8 :  wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])),
     288            8 :  wi::lshift (wone, wi::to_wide (captures[4])));
     289            4 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail124;
     290            4 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail124;
     291            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail124;
     292            4 :           {
     293            4 :             tree res_op0;
     294            4 :             {
     295            4 :               tree _o1[2], _r1;
     296            4 :               {
     297            4 :                 tree _o2[1], _r2;
     298            4 :                 _o2[0] = captures[1];
     299            4 :                 if (TREE_TYPE (_o2[0]) != t)
     300              :                   {
     301            4 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     302              :                   }
     303              :                 else
     304              :                   _r2 = _o2[0];
     305            4 :                 _o1[0] = _r2;
     306              :               }
     307            4 :               _o1[1] =  wide_int_to_tree (t,c);
     308            4 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     309            4 :               res_op0 = _r1;
     310              :             }
     311            4 :             tree _r;
     312            4 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     313            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 92, __FILE__, __LINE__, true);
     314            4 :             return _r;
     315              :           }
     316            0 : next_after_fail124:;
     317            4 :       }
     318              :     }
     319              :   return NULL_TREE;
     320              : }
     321              : 
     322              : tree
     323            7 : generic_simplify_55 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     324              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     325              :  const enum tree_code ARG_UNUSED (op))
     326              : {
     327            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     328            7 :   if (INTEGRAL_TYPE_P (type)
     329            7 :  && TYPE_OVERFLOW_WRAPS (type)
     330           14 :  && !TYPE_SATURATING (type)
     331              : )
     332              :     {
     333            7 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail136;
     334            7 :       {
     335            7 :         tree res_op0;
     336            7 :         {
     337            7 :           tree _o1[2], _r1;
     338            7 :           _o1[0] = captures[1];
     339            7 :           _o1[1] = captures[4];
     340            7 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     341            7 :           res_op0 = _r1;
     342              :         }
     343            7 :         tree res_op1;
     344            7 :         res_op1 = captures[2];
     345            7 :         tree _r;
     346            7 :         _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
     347            7 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 104, __FILE__, __LINE__, true);
     348            7 :         return _r;
     349              :       }
     350            0 : next_after_fail136:;
     351              :     }
     352              :   return NULL_TREE;
     353              : }
     354              : 
     355              : tree
     356           10 : generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     357              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     358              : {
     359           10 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     360           10 :   if (!TYPE_SATURATING (type)
     361              : )
     362              :     {
     363           10 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     364           20 :  && !FIXED_POINT_TYPE_P (type)
     365              : )
     366              :         {
     367           10 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail153;
     368           10 :           {
     369           10 :             tree res_op0;
     370           10 :             res_op0 = captures[2];
     371           10 :             tree res_op1;
     372           10 :             res_op1 = captures[1];
     373           10 :             tree _r;
     374           10 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     375           10 :             if (TREE_SIDE_EFFECTS (captures[0]))
     376            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     377           10 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 121, __FILE__, __LINE__, true);
     378           10 :             return _r;
     379              :           }
     380            0 : next_after_fail153:;
     381              :         }
     382              :     }
     383              :   return NULL_TREE;
     384              : }
     385              : 
     386              : tree
     387       420775 : generic_simplify_71 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     388              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     389              :  const enum tree_code ARG_UNUSED (plusminus))
     390              : {
     391       420775 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     392       420775 :   if (!TYPE_SATURATING (type)
     393       420775 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     394              : )
     395              :     {
     396       420235 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     397              : )
     398              :         {
     399           55 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     400       420194 :  || TYPE_OVERFLOW_WRAPS (type)
     401        87385 :  || (INTEGRAL_TYPE_P (type)
     402        87371 :  && ((tree_expr_nonzero_p (captures[1])
     403        59996 :  && (plusminus == MINUS_EXPR
     404        59855 :  || expr_not_equal_to (captures[1],
     405       480090 :  wi::minus_one (TYPE_PRECISION (type)),
     406              :  gimple_match_ctx (captures[0]))))
     407        27375 :  || expr_not_equal_to (captures[2],
     408              :  (plusminus == PLUS_EXPR
     409       447610 :  ? wi::max_value (TYPE_PRECISION (type), SIGNED)
     410         1639 :  : wi::min_value (TYPE_PRECISION (type), SIGNED)),
     411              :  gimple_match_ctx (captures[0])))))
     412       420235 :  && single_use (captures[0])
     413              : )
     414              :             {
     415       418796 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail161;
     416       418796 :               {
     417       418796 :                 tree res_op0;
     418       418796 :                 {
     419       418796 :                   tree _o1[2], _r1;
     420       418796 :                   _o1[0] = captures[2];
     421       418796 :                   _o1[1] =  build_one_cst (type);
     422       418796 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     423       418796 :                   res_op0 = _r1;
     424              :                 }
     425       418796 :                 tree res_op1;
     426       418796 :                 res_op1 = captures[1];
     427       418796 :                 tree _r;
     428       418796 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     429       418796 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 129, __FILE__, __LINE__, true);
     430       418796 :                 return _r;
     431              :               }
     432            0 : next_after_fail161:;
     433              :             }
     434              :         }
     435              :     }
     436              :   return NULL_TREE;
     437              : }
     438              : 
     439              : tree
     440          116 : generic_simplify_79 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     441              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     442              :  const combined_fn ARG_UNUSED (POPCOUNT))
     443              : {
     444          116 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     445          232 :   if (INTEGRAL_TYPE_P (type)
     446          580 :  && (wi::bit_and (widest_int::from (tree_nonzero_bits (captures[1]), UNSIGNED),
     447          464 :  widest_int::from (tree_nonzero_bits (captures[3]), UNSIGNED))
     448          348 :  == 0)
     449              : )
     450              :     {
     451            1 :       {
     452            1 :  tree utype = TREE_TYPE (captures[1]);
     453            1 :  if (TYPE_PRECISION (utype) < TYPE_PRECISION (TREE_TYPE (captures[3])))
     454            0 :  utype = TREE_TYPE (captures[3]);
     455            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail170;
     456            1 :           {
     457            1 :             tree res_op0;
     458            1 :             {
     459            1 :               tree _o1[2], _r1;
     460            1 :               {
     461            1 :                 tree _o2[1], _r2;
     462            1 :                 _o2[0] = captures[1];
     463            1 :                 if (TREE_TYPE (_o2[0]) != utype)
     464              :                   {
     465            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     466              :                   }
     467              :                 else
     468              :                   _r2 = _o2[0];
     469            1 :                 _o1[0] = _r2;
     470              :               }
     471            1 :               {
     472            1 :                 tree _o2[1], _r2;
     473            1 :                 _o2[0] = captures[3];
     474            1 :                 if (TREE_TYPE (_o2[0]) != utype)
     475              :                   {
     476            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     477              :                   }
     478              :                 else
     479              :                   _r2 = _o2[0];
     480            1 :                 _o1[1] = _r2;
     481              :               }
     482            1 :               _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     483            1 :               res_op0 = _r1;
     484              :             }
     485            1 :             tree _r;
     486            1 :             _r = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, res_op0);
     487            1 :             if (!_r)
     488            0 :               goto next_after_fail170;
     489            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 138, __FILE__, __LINE__, true);
     490            1 :             return _r;
     491              :           }
     492              : next_after_fail170:;
     493              :       }
     494              :     }
     495              :   return NULL_TREE;
     496              : }
     497              : 
     498              : tree
     499          276 : generic_simplify_92 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     500              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     501              : {
     502          276 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     503          276 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     504          276 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     505              : )
     506              :     {
     507          276 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail183;
     508          276 :       {
     509          276 :         tree res_op0;
     510          276 :         {
     511          276 :           tree _o1[2], _r1;
     512          276 :           {
     513          276 :             tree _o2[1], _r2;
     514          276 :             _o2[0] = captures[3];
     515          276 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     516          276 :             _o1[0] = _r2;
     517              :           }
     518          276 :           _o1[1] = captures[0];
     519          276 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     520          276 :           res_op0 = _r1;
     521              :         }
     522          276 :         tree _r;
     523          276 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     524          276 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 150, __FILE__, __LINE__, true);
     525          276 :         return _r;
     526              :       }
     527            0 : next_after_fail183:;
     528              :     }
     529              :   return NULL_TREE;
     530              : }
     531              : 
     532              : tree
     533           41 : generic_simplify_100 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     534              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     535              : {
     536           41 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     537           41 :   if (!TYPE_SATURATING (type)
     538              : )
     539              :     {
     540           41 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     541           82 :  && !FIXED_POINT_TYPE_P (type)
     542              : )
     543              :         {
     544           82 :           if (!TYPE_OVERFLOW_TRAPS (type)
     545           41 :  && TREE_CODE (type) != COMPLEX_TYPE
     546           81 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     547              : )
     548              :             {
     549           40 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail195;
     550           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail195;
     551           40 :               {
     552           40 :                 tree res_op0;
     553           40 :                 {
     554           40 :                   tree _o1[1], _r1;
     555           40 :                   _o1[0] = captures[0];
     556           40 :                   if (TREE_TYPE (_o1[0]) != type)
     557              :                     {
     558            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     559              :                     }
     560              :                   else
     561              :                     _r1 = _o1[0];
     562           40 :                   res_op0 = _r1;
     563              :                 }
     564           40 :                 tree _r;
     565           40 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     566           40 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 162, __FILE__, __LINE__, true);
     567           40 :                 return _r;
     568              :               }
     569              : next_after_fail195:;
     570              :             }
     571              :         }
     572              :     }
     573              :   return NULL_TREE;
     574              : }
     575              : 
     576              : tree
     577            0 : generic_simplify_108 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     578              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     579              : {
     580            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     581            0 :   if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
     582              : )
     583              :     {
     584            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail205;
     585            0 :       {
     586            0 :         if (! tree_invariant_p (captures[2])) goto next_after_fail205;
     587            0 :         tree res_op0;
     588            0 :         {
     589            0 :           tree _o1[2], _r1;
     590            0 :           {
     591            0 :             tree _o2[3], _r2;
     592            0 :             _o2[0] = unshare_expr (captures[2]);
     593            0 :             _o2[1] = captures[2];
     594            0 :             _o2[2] = captures[4];
     595            0 :             _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
     596            0 :             _o1[0] = _r2;
     597              :           }
     598            0 :           _o1[1] = captures[3];
     599            0 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     600            0 :           res_op0 = _r1;
     601              :         }
     602            0 :         tree res_op1;
     603            0 :         res_op1 = captures[5];
     604            0 :         tree _r;
     605            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     606            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 172, __FILE__, __LINE__, true);
     607            0 :         return _r;
     608              :       }
     609              : next_after_fail205:;
     610              :     }
     611              :   return NULL_TREE;
     612              : }
     613              : 
     614              : tree
     615            0 : generic_simplify_114 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     616              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     617              : {
     618            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     619            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail211;
     620            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail211;
     621            0 :   {
     622            0 :     tree _r;
     623            0 :     _r = captures[2];
     624            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 176, __FILE__, __LINE__, true);
     625              :     return _r;
     626              :   }
     627              : next_after_fail211:;
     628              :   return NULL_TREE;
     629              : }
     630              : 
     631              : tree
     632            0 : generic_simplify_120 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     633              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     634              : {
     635            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     636            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail217;
     637            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail217;
     638            0 :   {
     639            0 :     tree _r;
     640            0 :     _r = captures[2];
     641            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 182, __FILE__, __LINE__, true);
     642              :     return _r;
     643              :   }
     644              : next_after_fail217:;
     645              :   return NULL_TREE;
     646              : }
     647              : 
     648              : tree
     649           15 : generic_simplify_127 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     650              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     651              :  const enum tree_code ARG_UNUSED (bitop))
     652              : {
     653           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     654           15 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail224;
     655           15 :   {
     656           15 :     tree res_op0;
     657           15 :     res_op0 = captures[0];
     658           15 :     tree res_op1;
     659           15 :     {
     660           15 :       tree _o1[1], _r1;
     661           15 :       _o1[0] = captures[2];
     662           15 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     663           15 :       res_op1 = _r1;
     664              :     }
     665           15 :     tree _r;
     666           15 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     667           15 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 186, __FILE__, __LINE__, true);
     668              :     return _r;
     669              :   }
     670            0 : next_after_fail224:;
     671            0 :   return NULL_TREE;
     672              : }
     673              : 
     674              : tree
     675            0 : generic_simplify_138 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     676              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     677              :  const enum tree_code ARG_UNUSED (op))
     678              : {
     679            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     680            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     681            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     682              : )
     683              :     {
     684            0 :       if (single_use (captures[4]) && single_use (captures[5])
     685              : )
     686              :         {
     687            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail238;
     688            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail238;
     689            0 :           {
     690            0 :             tree res_op0;
     691            0 :             res_op0 = captures[0];
     692            0 :             tree res_op1;
     693            0 :             {
     694            0 :               tree _o1[1], _r1;
     695            0 :               _o1[0] = captures[6];
     696            0 :               if (TREE_TYPE (_o1[0]) != type)
     697              :                 {
     698            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     699              :                 }
     700              :               else
     701              :                 _r1 = _o1[0];
     702            0 :               res_op1 = _r1;
     703              :             }
     704            0 :             tree _r;
     705            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     706            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 192, __FILE__, __LINE__, true);
     707            0 :             return _r;
     708              :           }
     709              : next_after_fail238:;
     710              :         }
     711              :       else
     712              :         {
     713              :           if (single_use (captures[0]) && single_use (captures[1])
     714              : )
     715              :             {
     716              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail239;
     717              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail239;
     718              :               {
     719              :                 tree res_op0;
     720              :                 {
     721              :                   tree _o1[1], _r1;
     722              :                   _o1[0] = captures[3];
     723              :                   if (TREE_TYPE (_o1[0]) != type)
     724              :                     {
     725              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     726              :                     }
     727              :                   else
     728              :                     _r1 = _o1[0];
     729              :                   res_op0 = _r1;
     730              :                 }
     731              :                 tree res_op1;
     732              :                 res_op1 = captures[4];
     733              :                 tree _r;
     734              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     735              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 193, __FILE__, __LINE__, true);
     736              :                 return _r;
     737              :               }
     738              : next_after_fail239:;
     739              :             }
     740              :         }
     741              :     }
     742              :   return NULL_TREE;
     743              : }
     744              : 
     745              : tree
     746            4 : generic_simplify_154 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     747              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     748              : {
     749            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     750            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail259;
     751            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail259;
     752            4 :   {
     753            4 :     tree _r;
     754            4 :     _r = captures[2];
     755            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     756            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     757            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 208, __FILE__, __LINE__, true);
     758              :     return _r;
     759              :   }
     760              : next_after_fail259:;
     761              :   return NULL_TREE;
     762              : }
     763              : 
     764              : tree
     765            0 : generic_simplify_159 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     766              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     767              :  const enum tree_code ARG_UNUSED (cmp))
     768              : {
     769            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     770            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail282;
     771            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail282;
     772            0 :   {
     773            0 :     tree res_op0;
     774            0 :     {
     775            0 :       tree _o1[2], _r1;
     776            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     777            0 :       _o1[1] = captures[3];
     778            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     779            0 :       res_op0 = _r1;
     780              :     }
     781            0 :     tree res_op1;
     782            0 :     res_op1 = captures[4];
     783            0 :     tree _r;
     784            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     785            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     786            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     787            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 224, __FILE__, __LINE__, true);
     788              :     return _r;
     789              :   }
     790              : next_after_fail282:;
     791              :   return NULL_TREE;
     792              : }
     793              : 
     794              : tree
     795            8 : generic_simplify_168 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     796              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     797              :  const enum tree_code ARG_UNUSED (eqne))
     798              : {
     799            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     800            8 :   if (eqne == EQ_EXPR
     801              : )
     802              :     {
     803            4 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail304;
     804            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail304;
     805            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail304;
     806            4 :       {
     807            4 :         tree _r;
     808            4 :         _r = captures[0];
     809            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 227, __FILE__, __LINE__, true);
     810            4 :         return _r;
     811              :       }
     812              : next_after_fail304:;
     813              :     }
     814              :   else
     815              :     {
     816            4 :       if (eqne == NE_EXPR
     817              : )
     818              :         {
     819            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail305;
     820            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail305;
     821            4 :           {
     822            4 :             tree _r;
     823            4 :             _r =  constant_boolean_node (true, type);
     824            4 :             if (TREE_SIDE_EFFECTS (captures[2]))
     825            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     826            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     827            4 :             return _r;
     828              :           }
     829              : next_after_fail305:;
     830              :         }
     831              :     }
     832              :   return NULL_TREE;
     833              : }
     834              : 
     835              : tree
     836            0 : generic_simplify_174 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     837              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     838              : {
     839            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     840            0 :   if (type_has_mode_precision_p (type)
     841            0 :  && tree_fits_uhwi_p (captures[1])
     842            0 :  && tree_fits_uhwi_p (captures[3])
     843            0 :  && tree_fits_uhwi_p (captures[4])
     844            0 :  && ((~((HOST_WIDE_INT_1U << tree_to_uhwi (captures[1])) - 1)) & tree_to_uhwi (captures[4])) == 0
     845            0 :  && (tree_to_uhwi (captures[1]) + tree_to_uhwi (captures[3])) == TYPE_PRECISION (type)
     846            0 :  && TYPE_UNSIGNED (type)
     847            0 :  && captures[0] == captures[2]
     848              : )
     849              :     {
     850            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail311;
     851            0 :       {
     852            0 :         tree res_op0;
     853            0 :         {
     854            0 :           tree _o1[2], _r1;
     855            0 :           _o1[0] = captures[0];
     856            0 :           _o1[1] = captures[3];
     857            0 :           _r1 = fold_build2_loc (loc, RROTATE_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     858            0 :           res_op0 = _r1;
     859              :         }
     860            0 :         tree res_op1;
     861            0 :         res_op1 = captures[4];
     862            0 :         tree _r;
     863            0 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     864            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
     865            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     866            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
     867            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     868            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 232, __FILE__, __LINE__, true);
     869            0 :         return _r;
     870              :       }
     871            0 : next_after_fail311:;
     872              :     }
     873              :   return NULL_TREE;
     874              : }
     875              : 
     876              : tree
     877            0 : generic_simplify_181 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     878              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     879              :  const combined_fn ARG_UNUSED (copysigns))
     880              : {
     881            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     882            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail318;
     883            0 :   {
     884            0 :     if (! tree_invariant_p (captures[1])) goto next_after_fail318;
     885            0 :     tree res_op0;
     886            0 :     res_op0 = unshare_expr (captures[1]);
     887            0 :     tree res_op1;
     888            0 :     res_op1 = captures[1];
     889            0 :     tree _r;
     890            0 :     _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     891            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     892            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     893            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 237, __FILE__, __LINE__, true);
     894              :     return _r;
     895              :   }
     896              : next_after_fail318:;
     897              :   return NULL_TREE;
     898              : }
     899              : 
     900              : tree
     901            0 : generic_simplify_186 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     902              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     903              : {
     904            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     905            0 :   if (INTEGRAL_TYPE_P (type)
     906            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     907            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     908              : )
     909              :     {
     910            0 :       if (TYPE_UNSIGNED (type)
     911              : )
     912              :         {
     913            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail324;
     914            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail324;
     915            0 :           {
     916            0 :             tree res_op0;
     917            0 :             res_op0 = captures[0];
     918            0 :             tree _r;
     919            0 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
     920            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 240, __FILE__, __LINE__, true);
     921            0 :             return _r;
     922              :           }
     923              : next_after_fail324:;
     924              :         }
     925              :       else
     926              :         {
     927            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail325;
     928            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail325;
     929            0 :           {
     930            0 :             tree res_op0;
     931            0 :             res_op0 = captures[0];
     932            0 :             tree _r;
     933            0 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     934            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 241, __FILE__, __LINE__, true);
     935            0 :             return _r;
     936              :           }
     937              : next_after_fail325:;
     938              :         }
     939              :     }
     940              :   return NULL_TREE;
     941              : }
     942              : 
     943              : tree
     944       145209 : generic_simplify_194 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     945              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     946              : {
     947       145209 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     948       145209 :   if (TREE_CODE (captures[3]) != INTEGER_CST
     949              :  && single_use (captures[0])
     950       145209 :  && !integer_zerop (captures[2]) && !integer_minus_onep (captures[2])
     951              : )
     952              :     {
     953       145179 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail334;
     954       145179 :       {
     955       145179 :         tree res_op0;
     956       145179 :         {
     957       145179 :           tree _o1[2], _r1;
     958       145179 :           _o1[0] = captures[1];
     959       145179 :           _o1[1] = captures[3];
     960       145179 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     961       145179 :           res_op0 = _r1;
     962              :         }
     963       145179 :         tree res_op1;
     964       145179 :         res_op1 = captures[2];
     965       145179 :         tree _r;
     966       145179 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     967       145179 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 249, __FILE__, __LINE__, true);
     968       145179 :         return _r;
     969              :       }
     970            0 : next_after_fail334:;
     971              :     }
     972              :   return NULL_TREE;
     973              : }
     974              : 
     975              : tree
     976           38 : generic_simplify_200 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     977              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     978              :  const combined_fn ARG_UNUSED (POW))
     979              : {
     980           38 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     981           38 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
     982              : )
     983              :     {
     984           38 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail340;
     985           38 :       {
     986           38 :         tree res_op0;
     987           38 :         res_op0 = captures[1];
     988           38 :         tree res_op1;
     989           38 :         {
     990           38 :           tree _o1[2], _r1;
     991           38 :           _o1[0] = captures[2];
     992           38 :           _o1[1] = captures[4];
     993           38 :           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     994           38 :           res_op1 = _r1;
     995              :         }
     996           38 :         tree _r;
     997           38 :         _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
     998           38 :         if (!_r)
     999            0 :           goto next_after_fail340;
    1000           38 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 255, __FILE__, __LINE__, true);
    1001           38 :         return _r;
    1002              :       }
    1003              : next_after_fail340:;
    1004              :     }
    1005              :   return NULL_TREE;
    1006              : }
    1007              : 
    1008              : tree
    1009       101923 : generic_simplify_207 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1010              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1011              :  const enum tree_code ARG_UNUSED (op))
    1012              : {
    1013       101923 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1014       203846 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1015       202262 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
    1016        97766 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
    1017              :  && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
    1018       101127 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1019       304181 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    1020              : )
    1021              :     {
    1022       101119 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail350;
    1023       101119 :       {
    1024       101119 :         tree res_op0;
    1025       101119 :         res_op0 = captures[2];
    1026       101119 :         tree res_op1;
    1027       101119 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1028       101119 :         tree _r;
    1029       101119 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1030       101119 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1031            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1032       101119 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 260, __FILE__, __LINE__, true);
    1033       101119 :         return _r;
    1034              :       }
    1035            0 : next_after_fail350:;
    1036              :     }
    1037              :   return NULL_TREE;
    1038              : }
    1039              : 
    1040              : tree
    1041        26436 : generic_simplify_218 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1042              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1043              :  const enum tree_code ARG_UNUSED (op))
    1044              : {
    1045        26436 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1046        52872 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1047        52758 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1048        23890 :  || ((op == EQ_EXPR || op == NE_EXPR)
    1049         1764 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))))
    1050        52815 :  && (CONSTANT_CLASS_P (captures[2]) || single_use (captures[1]))
    1051              : )
    1052              :     {
    1053         4253 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail374;
    1054         4253 :       {
    1055         4253 :         tree res_op0;
    1056         4253 :         res_op0 = captures[2];
    1057         4253 :         tree res_op1;
    1058         4253 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1059         4253 :         tree _r;
    1060         4253 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1061         4253 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1062            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1063         4253 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 288, __FILE__, __LINE__, true);
    1064         4253 :         return _r;
    1065              :       }
    1066            0 : next_after_fail374:;
    1067              :     }
    1068              :   return NULL_TREE;
    1069              : }
    1070              : 
    1071              : tree
    1072     39453679 : generic_simplify_226 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1073              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1074              :  const enum tree_code ARG_UNUSED (cmp))
    1075              : {
    1076     39453679 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1077     78907510 :   if (wi::bit_and_not (get_known_nonzero_bits (captures[1]),
    1078    118361037 :  get_nonzero_bits (captures[0])) != 0
    1079              : )
    1080              :     {
    1081        80436 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail382;
    1082        80436 :       {
    1083        80436 :         tree _r;
    1084        80436 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1085        80436 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1086            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1087        80436 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1088            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1089        80436 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 295, __FILE__, __LINE__, true);
    1090        80436 :         return _r;
    1091              :       }
    1092            0 : next_after_fail382:;
    1093              :     }
    1094              :   return NULL_TREE;
    1095              : }
    1096              : 
    1097              : tree
    1098            0 : generic_simplify_234 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1099              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1100              :  const enum tree_code ARG_UNUSED (cmp),
    1101              :  const enum tree_code ARG_UNUSED (icmp))
    1102              : {
    1103            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1104            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1105              : )
    1106              :     {
    1107            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail394;
    1108            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail394;
    1109            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail394;
    1110            0 :       {
    1111            0 :         tree res_op0;
    1112            0 :         res_op0 = captures[0];
    1113            0 :         tree res_op1;
    1114            0 :         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]),
    1115            0 :  wi::exact_log2 (wi::to_wide (captures[1])));
    1116            0 :         tree _r;
    1117            0 :         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1118            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 307, __FILE__, __LINE__, true);
    1119            0 :         return _r;
    1120              :       }
    1121              : next_after_fail394:;
    1122              :     }
    1123              :   return NULL_TREE;
    1124              : }
    1125              : 
    1126              : tree
    1127            0 : generic_simplify_238 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1128              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1129              :  const enum tree_code ARG_UNUSED (rotate),
    1130              :  const enum tree_code ARG_UNUSED (invrot),
    1131              :  const enum tree_code ARG_UNUSED (cmp))
    1132              : {
    1133            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1134            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail406;
    1135            0 :   {
    1136            0 :     tree res_op0;
    1137            0 :     res_op0 = captures[0];
    1138            0 :     tree res_op1;
    1139            0 :     res_op1 = captures[2];
    1140            0 :     tree _r;
    1141            0 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1142            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1143            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1144            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 319, __FILE__, __LINE__, true);
    1145              :     return _r;
    1146              :   }
    1147            0 : next_after_fail406:;
    1148            0 :   return NULL_TREE;
    1149              : }
    1150              : 
    1151              : tree
    1152           22 : generic_simplify_243 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1153              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1154              :  const enum tree_code ARG_UNUSED (cmp),
    1155              :  const combined_fn ARG_UNUSED (bswap))
    1156              : {
    1157           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1158           22 :   {
    1159           22 :  tree ctype = TREE_TYPE (captures[1]);
    1160           22 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail411;
    1161           22 :       {
    1162           22 :         tree res_op0;
    1163           22 :         {
    1164           22 :           tree _o1[1], _r1;
    1165           22 :           _o1[0] = captures[0];
    1166           22 :           if (TREE_TYPE (_o1[0]) != ctype)
    1167              :             {
    1168            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1169              :             }
    1170              :           else
    1171              :             _r1 = _o1[0];
    1172           22 :           res_op0 = _r1;
    1173              :         }
    1174           22 :         tree res_op1;
    1175           22 :         {
    1176           22 :           tree _o1[1], _r1;
    1177           22 :           _o1[0] = captures[1];
    1178           22 :           _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1179           22 :           if (!_r1)
    1180            0 :             goto next_after_fail411;
    1181           22 :           if (EXPR_P (_r1))
    1182           22 :             goto next_after_fail411;
    1183            0 :           res_op1 = _r1;
    1184              :         }
    1185            0 :         tree _r;
    1186            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1187            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 324, __FILE__, __LINE__, true);
    1188              :         return _r;
    1189              :       }
    1190              : next_after_fail411:;
    1191              :   }
    1192              :   return NULL_TREE;
    1193              : }
    1194              : 
    1195              : tree
    1196            0 : generic_simplify_252 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1197              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1198              :  const enum tree_code ARG_UNUSED (cmp))
    1199              : {
    1200            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1201            0 :   if (single_use (captures[1]) && single_use (captures[3])
    1202              : )
    1203              :     {
    1204            0 :       {
    1205            0 :  tree otype = TREE_TYPE (captures[0]);
    1206            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail426;
    1207            0 :           {
    1208            0 :             tree res_op0;
    1209            0 :             {
    1210            0 :               tree _o1[1], _r1;
    1211            0 :               _o1[0] = captures[4];
    1212            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1213              :                 {
    1214            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1215              :                 }
    1216              :               else
    1217              :                 _r1 = _o1[0];
    1218            0 :               res_op0 = _r1;
    1219              :             }
    1220            0 :             tree res_op1;
    1221            0 :             {
    1222            0 :               tree _o1[1], _r1;
    1223            0 :               _o1[0] = captures[2];
    1224            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1225              :                 {
    1226            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1227              :                 }
    1228              :               else
    1229              :                 _r1 = _o1[0];
    1230            0 :               res_op1 = _r1;
    1231              :             }
    1232            0 :             tree _r;
    1233            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1234            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 338, __FILE__, __LINE__, true);
    1235            0 :             return _r;
    1236              :           }
    1237            0 : next_after_fail426:;
    1238              :       }
    1239              :     }
    1240            0 :   return NULL_TREE;
    1241              : }
    1242              : 
    1243              : tree
    1244           22 : generic_simplify_258 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1245              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1246              :  const combined_fn ARG_UNUSED (sq),
    1247              :  const enum tree_code ARG_UNUSED (cmp))
    1248              : {
    1249           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1250           22 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1251              : )
    1252              :     {
    1253           20 :       if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    1254              : )
    1255              :         {
    1256            2 :           if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
    1257              : )
    1258              :             {
    1259            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail446;
    1260            1 :               {
    1261            1 :                 tree _r;
    1262            1 :                 _r =  constant_boolean_node (false, type);
    1263            1 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1264            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1265            1 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1266            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1267            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 357, __FILE__, __LINE__, true);
    1268            1 :                 return _r;
    1269              :               }
    1270            0 : next_after_fail446:;
    1271            0 :             }
    1272              :           else
    1273              :             {
    1274            1 :               if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
    1275              : )
    1276              :                 {
    1277            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail447;
    1278            1 :                   {
    1279            1 :                     tree _r;
    1280            1 :                     _r =  constant_boolean_node (true, type);
    1281            1 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1282            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1283            1 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1284            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1285            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 358, __FILE__, __LINE__, true);
    1286            1 :                     return _r;
    1287              :                   }
    1288            0 : next_after_fail447:;
    1289              :                 }
    1290              :               else
    1291              :                 {
    1292            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail448;
    1293            0 :                   {
    1294            0 :                     tree res_op0;
    1295            0 :                     res_op0 = captures[0];
    1296            0 :                     tree res_op1;
    1297            0 :                     res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1298            0 :                     tree _r;
    1299            0 :                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1300            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1301            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1302            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 359, __FILE__, __LINE__, true);
    1303            0 :                     return _r;
    1304              :                   }
    1305            0 : next_after_fail448:;
    1306              :                 }
    1307              :             }
    1308              :         }
    1309              :       else
    1310              :         {
    1311           18 :           if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
    1312              : )
    1313              :             {
    1314            0 :               if (cmp == LT_EXPR
    1315              : )
    1316              :                 {
    1317            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail449;
    1318            0 :                   {
    1319            0 :                     tree _r;
    1320            0 :                     _r =  constant_boolean_node (false, type);
    1321            0 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1322            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1323            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1324            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1325            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 360, __FILE__, __LINE__, true);
    1326            0 :                     return _r;
    1327              :                   }
    1328            0 : next_after_fail449:;
    1329              :                 }
    1330              :               else
    1331              :                 {
    1332            0 :                   if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
    1333              : )
    1334              :                     {
    1335            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail450;
    1336            0 :                       {
    1337            0 :                         tree _r;
    1338            0 :                         _r =  constant_boolean_node (true, type);
    1339            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1340            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1341            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1342            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1343            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 361, __FILE__, __LINE__, true);
    1344            0 :                         return _r;
    1345              :                       }
    1346            0 : next_after_fail450:;
    1347              :                     }
    1348              :                   else
    1349              :                     {
    1350            0 :                       if (cmp == LE_EXPR
    1351              : )
    1352              :                         {
    1353            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail451;
    1354            0 :                           {
    1355            0 :                             tree res_op0;
    1356            0 :                             res_op0 = captures[0];
    1357            0 :                             tree res_op1;
    1358            0 :                             res_op1 = captures[1];
    1359            0 :                             tree _r;
    1360            0 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1361            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 362, __FILE__, __LINE__, true);
    1362            0 :                             return _r;
    1363              :                           }
    1364            0 : next_after_fail451:;
    1365              :                         }
    1366              :                       else
    1367              :                         {
    1368            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail452;
    1369            0 :                           {
    1370            0 :                             tree res_op0;
    1371            0 :                             res_op0 = captures[0];
    1372            0 :                             tree res_op1;
    1373            0 :                             res_op1 = captures[1];
    1374            0 :                             tree _r;
    1375            0 :                             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1376            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 363, __FILE__, __LINE__, true);
    1377            0 :                             return _r;
    1378              :                           }
    1379            0 : next_after_fail452:;
    1380              :                         }
    1381              :                     }
    1382              :                 }
    1383              :             }
    1384              :           else
    1385              :             {
    1386           18 :               if ((cmp == LT_EXPR
    1387              :  || cmp == LE_EXPR
    1388              :  || cmp == GT_EXPR
    1389           18 :  || cmp == GE_EXPR)
    1390           16 :  && !REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
    1391           34 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (TREE_TYPE (captures[0]))
    1392              : )
    1393              :                 {
    1394           16 :                   {
    1395           16 :  REAL_VALUE_TYPE c2;
    1396           16 :  enum tree_code ncmp = cmp;
    1397           16 :  const real_format *fmt
    1398           16 :  = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0])));
    1399           32 :  real_arithmetic (&c2, MULT_EXPR,
    1400           16 :  &TREE_REAL_CST (captures[1]), &TREE_REAL_CST (captures[1]));
    1401           16 :  real_convert (&c2, fmt, &c2);
    1402           16 :  if (!REAL_VALUE_ISINF (c2))
    1403              :  {
    1404           13 :  tree c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1405           13 :  build_real (TREE_TYPE (captures[0]), c2));
    1406           13 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1407              :  ncmp = ERROR_MARK;
    1408           13 :  else if ((cmp == LT_EXPR || cmp == GE_EXPR)
    1409           13 :  && real_less (&TREE_REAL_CST (c3), &TREE_REAL_CST (captures[1])))
    1410            4 :  ncmp = cmp == LT_EXPR ? LE_EXPR : GT_EXPR;
    1411            9 :  else if ((cmp == LE_EXPR || cmp == GT_EXPR)
    1412           13 :  && real_less (&TREE_REAL_CST (captures[1]), &TREE_REAL_CST (c3)))
    1413            1 :  ncmp = cmp == LE_EXPR ? LT_EXPR : GE_EXPR;
    1414              :  else
    1415              :  {
    1416            8 :  REAL_VALUE_TYPE c2alt, tow;
    1417            8 :  if (cmp == LT_EXPR || cmp == GE_EXPR)
    1418            5 :  tow = dconst0;
    1419              :  else
    1420            3 :  tow = dconstinf;
    1421            8 :  real_nextafter (&c2alt, fmt, &c2, &tow);
    1422            8 :  real_convert (&c2alt, fmt, &c2alt);
    1423            8 :  if (REAL_VALUE_ISINF (c2alt))
    1424              :  ncmp = ERROR_MARK;
    1425              :  else
    1426              :  {
    1427            8 :  c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1428            8 :  build_real (TREE_TYPE (captures[0]), c2alt));
    1429            8 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1430              :  ncmp = ERROR_MARK;
    1431            8 :  else if (real_equal (&TREE_REAL_CST (c3),
    1432            8 :  &TREE_REAL_CST (captures[1])))
    1433            8 :  c2 = c2alt;
    1434              :  }
    1435              :  }
    1436              :  }
    1437           12 :                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1438              : )
    1439              :                         {
    1440            5 :                           if (REAL_VALUE_ISINF (c2)
    1441              : )
    1442              :                             {
    1443            1 :                               if (HONOR_INFINITIES (captures[0])
    1444              : )
    1445              :                                 {
    1446            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail453;
    1447            0 :                                   {
    1448            0 :                                     tree res_op0;
    1449            0 :                                     res_op0 = captures[0];
    1450            0 :                                     tree res_op1;
    1451            0 :                                     res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1452            0 :                                     tree _r;
    1453            0 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1454            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1455            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1456            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 364, __FILE__, __LINE__, true);
    1457           14 :                                     return _r;
    1458              :                                   }
    1459            0 : next_after_fail453:;
    1460              :                                 }
    1461              :                               else
    1462              :                                 {
    1463            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail454;
    1464            1 :                                   {
    1465            1 :                                     tree _r;
    1466            1 :                                     _r =  constant_boolean_node (false, type);
    1467            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1468            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1469            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1470            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1471            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 365, __FILE__, __LINE__, true);
    1472            1 :                                     return _r;
    1473              :                                   }
    1474            0 : next_after_fail454:;
    1475              :                                 }
    1476              :                             }
    1477              :                           else
    1478              :                             {
    1479            4 :                               if (ncmp != ERROR_MARK
    1480              : )
    1481              :                                 {
    1482            4 :                                   if (ncmp == GE_EXPR
    1483              : )
    1484              :                                     {
    1485            1 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail455;
    1486            1 :                                       {
    1487            1 :                                         tree res_op0;
    1488            1 :                                         res_op0 = captures[0];
    1489            1 :                                         tree res_op1;
    1490            1 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1491            1 :                                         tree _r;
    1492            1 :                                         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1493            1 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1494            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1495            1 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 366, __FILE__, __LINE__, true);
    1496            1 :                                         return _r;
    1497              :                                       }
    1498            0 : next_after_fail455:;
    1499              :                                     }
    1500              :                                   else
    1501              :                                     {
    1502            3 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail456;
    1503            3 :                                       {
    1504            3 :                                         tree res_op0;
    1505            3 :                                         res_op0 = captures[0];
    1506            3 :                                         tree res_op1;
    1507            3 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1508            3 :                                         tree _r;
    1509            3 :                                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1510            3 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1511            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1512            3 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 367, __FILE__, __LINE__, true);
    1513            3 :                                         return _r;
    1514              :                                       }
    1515            0 : next_after_fail456:;
    1516              :                                     }
    1517              :                                 }
    1518              :                             }
    1519              :                         }
    1520              :                       else
    1521              :                         {
    1522           11 :                           if (REAL_VALUE_ISINF (c2)
    1523              : )
    1524              :                             {
    1525            2 :                               if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
    1526              : )
    1527              :                                 {
    1528            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail457;
    1529            1 :                                   {
    1530            1 :                                     tree _r;
    1531            1 :                                     _r =  constant_boolean_node (true, type);
    1532            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1533            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1534            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1535            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1536            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 368, __FILE__, __LINE__, true);
    1537            1 :                                     return _r;
    1538              :                                   }
    1539            0 : next_after_fail457:;
    1540              :                                 }
    1541              :                               else
    1542              :                                 {
    1543            1 :                                   if (! HONOR_NANS (captures[0])
    1544              : )
    1545              :                                     {
    1546            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail458;
    1547            0 :                                       {
    1548            0 :                                         tree res_op0;
    1549            0 :                                         res_op0 = captures[0];
    1550            0 :                                         tree res_op1;
    1551            0 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1552            0 :                                         tree _r;
    1553            0 :                                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    1554            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1555            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1556            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 369, __FILE__, __LINE__, true);
    1557            0 :                                         return _r;
    1558              :                                       }
    1559            0 : next_after_fail458:;
    1560              :                                     }
    1561              :                                   else
    1562              :                                     {
    1563            1 :                                       if (! HONOR_INFINITIES (captures[0])
    1564              : )
    1565              :                                         {
    1566            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail459;
    1567            0 :                                           {
    1568            0 :                                             tree res_op0;
    1569            0 :                                             res_op0 = captures[0];
    1570            0 :                                             tree res_op1;
    1571            0 :                                             res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1572            0 :                                             tree _r;
    1573            0 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1574            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1575            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1576            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 370, __FILE__, __LINE__, true);
    1577            0 :                                             return _r;
    1578              :                                           }
    1579            0 : next_after_fail459:;
    1580              :                                         }
    1581              :                                       else
    1582              :                                         {
    1583            1 :                                           if (1
    1584              : )
    1585              :                                             {
    1586            1 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail460;
    1587            1 :                                               {
    1588            1 :                                                 if (! tree_invariant_p (captures[0])) goto next_after_fail460;
    1589            0 :                                                 tree res_op0;
    1590            0 :                                                 {
    1591            0 :                                                   tree _o1[2], _r1;
    1592            0 :                                                   _o1[0] = unshare_expr (captures[0]);
    1593            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1594            0 :                                                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1595            0 :                                                   res_op0 = _r1;
    1596              :                                                 }
    1597            0 :                                                 tree res_op1;
    1598            0 :                                                 {
    1599            0 :                                                   tree _o1[2], _r1;
    1600            0 :                                                   _o1[0] = captures[0];
    1601            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1602            0 :                                                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    1603            0 :                                                   res_op1 = _r1;
    1604              :                                                 }
    1605            0 :                                                 tree _r;
    1606            0 :                                                 _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1607            0 :                                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1608            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1609            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 371, __FILE__, __LINE__, true);
    1610            0 :                                                 return _r;
    1611              :                                               }
    1612            2 : next_after_fail460:;
    1613              :                                             }
    1614              :                                         }
    1615              :                                     }
    1616              :                                 }
    1617              :                             }
    1618              :                           else
    1619              :                             {
    1620            9 :                               if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
    1621              : )
    1622              :                                 {
    1623            8 :                                   if (ncmp == LT_EXPR
    1624              : )
    1625              :                                     {
    1626            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail461;
    1627            4 :                                       {
    1628            4 :                                         tree res_op0;
    1629            4 :                                         res_op0 = captures[0];
    1630            4 :                                         tree res_op1;
    1631            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1632            4 :                                         tree _r;
    1633            4 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    1634            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1635            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1636            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 372, __FILE__, __LINE__, true);
    1637            4 :                                         return _r;
    1638              :                                       }
    1639            0 : next_after_fail461:;
    1640              :                                     }
    1641              :                                   else
    1642              :                                     {
    1643            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail462;
    1644            4 :                                       {
    1645            4 :                                         tree res_op0;
    1646            4 :                                         res_op0 = captures[0];
    1647            4 :                                         tree res_op1;
    1648            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1649            4 :                                         tree _r;
    1650            4 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1651            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1652            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1653            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 373, __FILE__, __LINE__, true);
    1654            4 :                                         return _r;
    1655              :                                       }
    1656            0 : next_after_fail462:;
    1657              :                                     }
    1658              :                                 }
    1659              :                               else
    1660              :                                 {
    1661            1 :                                   if (ncmp != ERROR_MARK &&
    1662              : 1
    1663              : )
    1664              :                                     {
    1665            1 :                                       if (ncmp == LT_EXPR
    1666              : )
    1667              :                                         {
    1668            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail463;
    1669            1 :                                           {
    1670            1 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail463;
    1671            0 :                                             tree res_op0;
    1672            0 :                                             {
    1673            0 :                                               tree _o1[2], _r1;
    1674            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1675            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1676            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1677            0 :                                               res_op0 = _r1;
    1678              :                                             }
    1679            0 :                                             tree res_op1;
    1680            0 :                                             {
    1681            0 :                                               tree _o1[2], _r1;
    1682            0 :                                               _o1[0] = captures[0];
    1683            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1684            0 :                                               _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    1685            0 :                                               res_op1 = _r1;
    1686              :                                             }
    1687            0 :                                             tree _r;
    1688            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1689            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1690            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1691            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 374, __FILE__, __LINE__, true);
    1692            0 :                                             return _r;
    1693              :                                           }
    1694            2 : next_after_fail463:;
    1695              :                                         }
    1696              :                                       else
    1697              :                                         {
    1698            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail464;
    1699            0 :                                           {
    1700            0 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail464;
    1701            0 :                                             tree res_op0;
    1702            0 :                                             {
    1703            0 :                                               tree _o1[2], _r1;
    1704            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1705            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1706            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1707            0 :                                               res_op0 = _r1;
    1708              :                                             }
    1709            0 :                                             tree res_op1;
    1710            0 :                                             {
    1711            0 :                                               tree _o1[2], _r1;
    1712            0 :                                               _o1[0] = captures[0];
    1713            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1714            0 :                                               _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    1715            0 :                                               res_op1 = _r1;
    1716              :                                             }
    1717            0 :                                             tree _r;
    1718            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1719            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1720            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1721            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 375, __FILE__, __LINE__, true);
    1722            0 :                                             return _r;
    1723              :                                           }
    1724            2 : next_after_fail464:;
    1725              :                                         }
    1726              :                                     }
    1727              :                                 }
    1728              :                             }
    1729              :                         }
    1730              :                   }
    1731              :                 }
    1732              :             }
    1733              :         }
    1734              :     }
    1735              :   return NULL_TREE;
    1736              : }
    1737              : 
    1738              : tree
    1739            6 : generic_simplify_333 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1740              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1741              :  const combined_fn ARG_UNUSED (SIN),
    1742              :  const combined_fn ARG_UNUSED (TAN),
    1743              :  const combined_fn ARG_UNUSED (COS))
    1744              : {
    1745            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1746            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1747              : )
    1748              :     {
    1749            6 :       if (! HONOR_NANS (captures[1])
    1750            6 :  && ! HONOR_INFINITIES (captures[1])
    1751              : )
    1752              :         {
    1753            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail602;
    1754            6 :           {
    1755            6 :             tree res_op0;
    1756            6 :             res_op0 = captures[1];
    1757            6 :             tree _r;
    1758            6 :             _r = maybe_build_call_expr_loc (loc, COS, type, 1, res_op0);
    1759            6 :             if (!_r)
    1760            0 :               goto next_after_fail602;
    1761            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 494, __FILE__, __LINE__, true);
    1762            6 :             return _r;
    1763              :           }
    1764              : next_after_fail602:;
    1765              :         }
    1766              :     }
    1767              :   return NULL_TREE;
    1768              : }
    1769              : 
    1770              : tree
    1771            0 : generic_simplify_341 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1772              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1773              :  const enum tree_code ARG_UNUSED (cmp))
    1774              : {
    1775            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1776            0 :   if (INTEGRAL_TYPE_P (type)
    1777            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[3]))
    1778            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[4])) || tree_int_cst_sgn (captures[4]) > 0)
    1779            0 :  && TYPE_PRECISION (type) <= BITS_PER_WORD
    1780            0 :  && wi::to_wide (captures[4]) == ~wi::to_wide (captures[6])
    1781              : )
    1782              :     {
    1783            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail610;
    1784            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail610;
    1785            0 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail610;
    1786            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail610;
    1787            0 :       {
    1788            0 :         tree res_op0;
    1789            0 :         res_op0 = captures[5];
    1790            0 :         tree res_op1;
    1791            0 :         {
    1792            0 :           tree _o1[2], _r1;
    1793            0 :           {
    1794            0 :             tree _o2[1], _r2;
    1795            0 :             _o2[0] = captures[0];
    1796            0 :             if (TREE_TYPE (_o2[0]) != type)
    1797              :               {
    1798            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1799              :               }
    1800              :             else
    1801              :               _r2 = _o2[0];
    1802            0 :             _o1[0] = _r2;
    1803              :           }
    1804            0 :           {
    1805            0 :             tree _o2[1], _r2;
    1806            0 :             _o2[0] = captures[4];
    1807            0 :             if (TREE_TYPE (_o2[0]) != type)
    1808              :               {
    1809            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1810              :               }
    1811              :             else
    1812              :               _r2 = _o2[0];
    1813            0 :             _o1[1] = _r2;
    1814              :           }
    1815            0 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1816            0 :           res_op1 = _r1;
    1817              :         }
    1818            0 :         tree _r;
    1819            0 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    1820            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 502, __FILE__, __LINE__, true);
    1821            0 :         return _r;
    1822              :       }
    1823              : next_after_fail610:;
    1824              :     }
    1825              :   return NULL_TREE;
    1826              : }
    1827              : 
    1828              : tree
    1829           21 : generic_simplify_352 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1830              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1831              : {
    1832           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1833           21 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail627;
    1834           21 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail627;
    1835           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail627;
    1836           21 :   {
    1837           21 :     tree _r;
    1838           21 :     _r = captures[2];
    1839           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 519, __FILE__, __LINE__, true);
    1840              :     return _r;
    1841              :   }
    1842              : next_after_fail627:;
    1843              :   return NULL_TREE;
    1844              : }
    1845              : 
    1846              : tree
    1847            0 : generic_simplify_356 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1848              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1849              : {
    1850            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1851            0 :   if (INTEGRAL_TYPE_P (type)
    1852              : )
    1853              :     {
    1854            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail631;
    1855            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail631;
    1856            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail631;
    1857            0 :       {
    1858            0 :         tree _r;
    1859            0 :         _r = captures[2];
    1860            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 523, __FILE__, __LINE__, true);
    1861            0 :         return _r;
    1862              :       }
    1863              : next_after_fail631:;
    1864              :     }
    1865              :   return NULL_TREE;
    1866              : }
    1867              : 
    1868              : tree
    1869            0 : generic_simplify_364 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1870              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1871              :  const enum tree_code ARG_UNUSED (cmp))
    1872              : {
    1873            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1874            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail639;
    1875            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail639;
    1876            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail639;
    1877            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail639;
    1878            0 :   {
    1879            0 :     tree _r;
    1880            0 :     _r = captures[3];
    1881            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
    1882              :     return _r;
    1883              :   }
    1884              : next_after_fail639:;
    1885              :   return NULL_TREE;
    1886              : }
    1887              : 
    1888              : tree
    1889         1646 : generic_simplify_370 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1890              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1891              : {
    1892         1646 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1893         1646 :   if (INTEGRAL_TYPE_P (type)
    1894              : )
    1895              :     {
    1896         1646 :       {
    1897         1646 :  tree itype = TREE_TYPE (captures[2]);
    1898         1646 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail646;
    1899         1646 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail646;
    1900         1646 :           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail646;
    1901         1646 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail646;
    1902         1646 :           {
    1903         1646 :             tree res_op0;
    1904         1646 :             {
    1905         1646 :               tree _o1[2], _r1;
    1906         1646 :               _o1[0] = captures[2];
    1907         1646 :               {
    1908         1646 :                 tree _o2[1], _r2;
    1909         1646 :                 _o2[0] = captures[0];
    1910         1646 :                 if (TREE_TYPE (_o2[0]) != itype)
    1911              :                   {
    1912         1645 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    1913              :                   }
    1914              :                 else
    1915              :                   _r2 = _o2[0];
    1916         1646 :                 _o1[1] = _r2;
    1917              :               }
    1918         1646 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1919         1646 :               res_op0 = _r1;
    1920              :             }
    1921         1646 :             tree _r;
    1922         1646 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1923         1646 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 537, __FILE__, __LINE__, true);
    1924         1646 :             return _r;
    1925              :           }
    1926              : next_after_fail646:;
    1927              :       }
    1928              :     }
    1929              :   return NULL_TREE;
    1930              : }
    1931              : 
    1932              : tree
    1933       484999 : generic_simplify_379 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1934              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1935              :  const enum tree_code ARG_UNUSED (op))
    1936              : {
    1937       484999 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1938       969997 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1939       969910 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1940       301165 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    1941       969954 :  && (CONSTANT_CLASS_P (captures[1]) || single_use (captures[0]))
    1942              : )
    1943              :     {
    1944       301094 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail659;
    1945       301094 :       {
    1946       301094 :         tree res_op0;
    1947       301094 :         res_op0 = captures[1];
    1948       301094 :         tree res_op1;
    1949       301094 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1950       301094 :         tree _r;
    1951       301094 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1952       301094 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1953            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1954       301094 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 549, __FILE__, __LINE__, true);
    1955       301094 :         return _r;
    1956              :       }
    1957            0 : next_after_fail659:;
    1958              :     }
    1959              :   return NULL_TREE;
    1960              : }
    1961              : 
    1962              : tree
    1963            6 : generic_simplify_387 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1964              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1965              :  const enum tree_code ARG_UNUSED (cmp))
    1966              : {
    1967            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1968           12 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1969           12 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1970              : )
    1971              :     {
    1972            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail668;
    1973            6 :       {
    1974            6 :         tree res_op0;
    1975            6 :         res_op0 = captures[0];
    1976            6 :         tree res_op1;
    1977            6 :         res_op1 = captures[1];
    1978            6 :         tree _r;
    1979            6 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1980            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 558, __FILE__, __LINE__, true);
    1981            6 :         return _r;
    1982              :       }
    1983            0 : next_after_fail668:;
    1984              :     }
    1985              :   return NULL_TREE;
    1986              : }
    1987              : 
    1988              : tree
    1989          162 : generic_simplify_394 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1990              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1991              :  const enum tree_code ARG_UNUSED (cmp),
    1992              :  const enum tree_code ARG_UNUSED (out))
    1993              : {
    1994          162 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1995          162 :   if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    1996          162 :  && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
    1997           90 :  && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
    1998          162 :  && wi::to_wide (captures[4]) != 0
    1999            0 :  && single_use (captures[1])
    2000              : )
    2001              :     {
    2002           90 :       {
    2003           90 :  unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
    2004           90 :  signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
    2005           90 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail707;
    2006           90 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail707;
    2007           90 :           {
    2008           90 :             tree res_op0;
    2009           90 :             res_op0 = captures[3];
    2010           90 :             tree res_op1;
    2011           90 :             res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
    2012           90 :  wi::max_value (prec, sign)
    2013          270 :  - wi::to_wide (captures[4]));
    2014           90 :             tree _r;
    2015           90 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2016           90 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 560, __FILE__, __LINE__, true);
    2017           90 :             return _r;
    2018              :           }
    2019              : next_after_fail707:;
    2020              :       }
    2021              :     }
    2022              :   return NULL_TREE;
    2023              : }
    2024              : 
    2025              : tree
    2026           50 : generic_simplify_402 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2027              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2028              :  const enum tree_code ARG_UNUSED (op),
    2029              :  const enum tree_code ARG_UNUSED (cmp),
    2030              :  const combined_fn ARG_UNUSED (ctz))
    2031              : {
    2032           50 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2033           50 :   {
    2034           50 :  bool ok = true;
    2035           50 :  HOST_WIDE_INT val = 0;
    2036           50 :  if (sanitize_flags_p (SANITIZE_BUILTIN)
    2037           50 :  && (!cfun
    2038           32 :  || (cfun->curr_properties & PROP_ssa) == 0))
    2039              :  ok = false;
    2040           18 :  else if (!tree_fits_shwi_p (captures[2]))
    2041              :  ok = false;
    2042              :  else
    2043              :  {
    2044           18 :  val = tree_to_shwi (captures[2]);
    2045           18 :  if (op == GT_EXPR || op == LE_EXPR)
    2046              :  {
    2047           10 :  if (val == HOST_WIDE_INT_MAX)
    2048              :  ok = false;
    2049              :  else
    2050           10 :  val++;
    2051              :  }
    2052              :  }
    2053           50 :  tree type0 = TREE_TYPE (captures[1]);
    2054           50 :  int prec = TYPE_PRECISION (type0);
    2055           68 :       if (ok && prec <= MAX_FIXED_MODE_SIZE
    2056              : )
    2057              :         {
    2058           18 :           if (val <= 0
    2059              : )
    2060              :             {
    2061            8 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail718;
    2062            8 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail718;
    2063            8 :               {
    2064            8 :                 tree _r;
    2065            8 :                 _r =  constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
    2066            8 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2067            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2068            8 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 591, __FILE__, __LINE__, true);
    2069            8 :                 return _r;
    2070              :               }
    2071              : next_after_fail718:;
    2072              :             }
    2073              :           else
    2074              :             {
    2075           10 :               if (val >= prec
    2076              : )
    2077              :                 {
    2078            5 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail719;
    2079            5 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail719;
    2080            5 :                   {
    2081            5 :                     tree _r;
    2082            5 :                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    2083            5 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2084            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2085            5 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 592, __FILE__, __LINE__, true);
    2086            5 :                     return _r;
    2087              :                   }
    2088              : next_after_fail719:;
    2089              :                 }
    2090              :               else
    2091              :                 {
    2092            5 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail720;
    2093            5 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail720;
    2094            5 :                   {
    2095            5 :                     tree res_op0;
    2096            5 :                     {
    2097            5 :                       tree _o1[2], _r1;
    2098            5 :                       _o1[0] = captures[1];
    2099            5 :                       _o1[1] =  wide_int_to_tree (type0,
    2100            5 :  wi::mask (val, false, prec));
    2101            5 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2102            5 :                       res_op0 = _r1;
    2103              :                     }
    2104            5 :                     tree res_op1;
    2105            5 :                     res_op1 =  build_zero_cst (type0);
    2106            5 :                     tree _r;
    2107            5 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2108            5 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 593, __FILE__, __LINE__, true);
    2109            5 :                     return _r;
    2110              :                   }
    2111              : next_after_fail720:;
    2112              :                 }
    2113              :             }
    2114              :         }
    2115              :   }
    2116              :   return NULL_TREE;
    2117              : }
    2118              : 
    2119              : tree
    2120          355 : generic_simplify_415 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2121              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2122              :  const enum tree_code ARG_UNUSED (shift),
    2123              :  const enum tree_code ARG_UNUSED (mod))
    2124              : {
    2125          355 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2126          355 :   if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
    2127              : )
    2128              :     {
    2129          280 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail739;
    2130          280 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail739;
    2131          280 :       {
    2132          280 :         tree res_op0;
    2133          280 :         res_op0 = captures[0];
    2134          280 :         tree res_op1;
    2135          280 :         {
    2136          280 :           tree _o1[2], _r1;
    2137          280 :           _o1[0] = captures[1];
    2138          280 :           {
    2139          280 :             tree _o2[2], _r2;
    2140          280 :             _o2[0] = captures[2];
    2141          280 :             _o2[1] =  build_int_cst (TREE_TYPE (captures[2]),
    2142              :  1);
    2143          280 :             _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2144          280 :             _o1[1] = _r2;
    2145              :           }
    2146          280 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2147          280 :           res_op1 = _r1;
    2148              :         }
    2149          280 :         tree _r;
    2150          280 :         _r = fold_build2_loc (loc, shift, type, res_op0, res_op1);
    2151          280 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 608, __FILE__, __LINE__, true);
    2152          280 :         return _r;
    2153              :       }
    2154              : next_after_fail739:;
    2155              :     }
    2156              :   return NULL_TREE;
    2157              : }
    2158              : 
    2159              : tree
    2160        27455 : generic_simplify_424 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2161              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2162              :  const enum tree_code ARG_UNUSED (bit_op),
    2163              :  const enum tree_code ARG_UNUSED (shift))
    2164              : {
    2165        27455 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2166        27455 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2167              : )
    2168              :     {
    2169        27455 :       {
    2170        27455 :  tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
    2171        27455 :           if (mask
    2172              : )
    2173              :             {
    2174        27448 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail751;
    2175        27448 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail751;
    2176        27448 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail751;
    2177        27448 :               {
    2178        27448 :                 tree res_op0;
    2179        27448 :                 {
    2180        27448 :                   tree _o1[2], _r1;
    2181        27448 :                   {
    2182        27448 :                     tree _o2[1], _r2;
    2183        27448 :                     _o2[0] = captures[2];
    2184        27448 :                     if (TREE_TYPE (_o2[0]) != type)
    2185              :                       {
    2186           70 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2187              :                       }
    2188              :                     else
    2189              :                       _r2 = _o2[0];
    2190        27448 :                     _o1[0] = _r2;
    2191              :                   }
    2192        27448 :                   _o1[1] = captures[4];
    2193        27448 :                   _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2194        27448 :                   res_op0 = _r1;
    2195              :                 }
    2196        27448 :                 tree res_op1;
    2197        27448 :                 res_op1 =  mask;
    2198        27448 :                 tree _r;
    2199        27448 :                 _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2200        27448 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 618, __FILE__, __LINE__, true);
    2201        27448 :                 return _r;
    2202              :               }
    2203              : next_after_fail751:;
    2204              :             }
    2205              :       }
    2206              :     }
    2207              :   return NULL_TREE;
    2208              : }
    2209              : 
    2210              : tree
    2211         7196 : generic_simplify_430 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2212              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2213              :  const enum tree_code ARG_UNUSED (minmax))
    2214              : {
    2215         7196 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2216         7196 :   if (INTEGRAL_TYPE_P (type)
    2217         7196 :  && types_match (captures[1], type) && int_fits_type_p (captures[2], type)
    2218          633 :  && TYPE_SIGN (TREE_TYPE (captures[0])) == TYPE_SIGN (type)
    2219         7196 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2220              : )
    2221              :     {
    2222            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail763;
    2223            0 :       {
    2224            0 :         tree res_op0;
    2225            0 :         res_op0 = captures[1];
    2226            0 :         tree res_op1;
    2227            0 :         {
    2228            0 :           tree _o1[1], _r1;
    2229            0 :           _o1[0] = captures[2];
    2230            0 :           if (TREE_TYPE (_o1[0]) != type)
    2231              :             {
    2232            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2233              :             }
    2234              :           else
    2235              :             _r1 = _o1[0];
    2236            0 :           res_op1 = _r1;
    2237              :         }
    2238            0 :         tree _r;
    2239            0 :         _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    2240            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 630, __FILE__, __LINE__, true);
    2241            0 :         return _r;
    2242              :       }
    2243            0 : next_after_fail763:;
    2244              :     }
    2245              :   return NULL_TREE;
    2246              : }
    2247              : 
    2248              : tree
    2249      2439033 : generic_simplify_433 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2250              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2251              :  const enum tree_code ARG_UNUSED (op))
    2252              : {
    2253      2439033 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2254      2439033 :   if (INTEGRAL_TYPE_P (type)
    2255      1989060 :  && op != MULT_EXPR
    2256      1989060 :  && op != RDIV_EXPR
    2257      1309674 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2258      1309674 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2259      1309674 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2260      1309299 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2261      1308529 :  && type_has_mode_precision_p (type)
    2262      1304676 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2263            0 :  && types_match (captures[2], type)
    2264      2439033 :  && (types_match (captures[2], captures[4])
    2265            0 :  || poly_int_tree_p (captures[3]))
    2266              : )
    2267              :     {
    2268            0 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2269              : )
    2270              :         {
    2271            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail772;
    2272            0 :           {
    2273            0 :             tree res_op0;
    2274            0 :             res_op0 = captures[2];
    2275            0 :             tree res_op1;
    2276            0 :             {
    2277            0 :               tree _o1[1], _r1;
    2278            0 :               _o1[0] = captures[4];
    2279            0 :               if (TREE_TYPE (_o1[0]) != type)
    2280              :                 {
    2281            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2282              :                 }
    2283              :               else
    2284              :                 _r1 = _o1[0];
    2285            0 :               res_op1 = _r1;
    2286              :             }
    2287            0 :             tree _r;
    2288            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2289            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 631, __FILE__, __LINE__, true);
    2290            0 :             return _r;
    2291              :           }
    2292            0 : next_after_fail772:;
    2293              :         }
    2294              :       else
    2295              :         {
    2296            0 :           {
    2297            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2298            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail773;
    2299            0 :               {
    2300            0 :                 tree res_op0;
    2301            0 :                 {
    2302            0 :                   tree _o1[2], _r1;
    2303            0 :                   {
    2304            0 :                     tree _o2[1], _r2;
    2305            0 :                     _o2[0] = captures[2];
    2306            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2307              :                       {
    2308            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2309              :                       }
    2310              :                     else
    2311              :                       _r2 = _o2[0];
    2312            0 :                     _o1[0] = _r2;
    2313              :                   }
    2314            0 :                   {
    2315            0 :                     tree _o2[1], _r2;
    2316            0 :                     _o2[0] = captures[4];
    2317            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2318              :                       {
    2319            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2320              :                       }
    2321              :                     else
    2322              :                       _r2 = _o2[0];
    2323            0 :                     _o1[1] = _r2;
    2324              :                   }
    2325            0 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2326            0 :                   res_op0 = _r1;
    2327              :                 }
    2328            0 :                 tree _r;
    2329            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2330            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 632, __FILE__, __LINE__, true);
    2331            0 :                 return _r;
    2332              :               }
    2333            0 : next_after_fail773:;
    2334              :           }
    2335              :         }
    2336              :     }
    2337              :   else
    2338              :     {
    2339      2426674 :       if (FLOAT_TYPE_P (type)
    2340      2451392 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2341        12359 :  == DECIMAL_FLOAT_TYPE_P (type)
    2342              : )
    2343              :         {
    2344        12336 :           {
    2345        12336 :  tree arg0 = strip_float_extensions (captures[2]);
    2346        12336 :  tree arg1 = strip_float_extensions (captures[4]);
    2347        12336 :  tree itype = TREE_TYPE (captures[0]);
    2348        12336 :  tree ty1 = TREE_TYPE (arg0);
    2349        12336 :  tree ty2 = TREE_TYPE (arg1);
    2350        12336 :  enum tree_code code = TREE_CODE (itype);
    2351            0 :               if (FLOAT_TYPE_P (ty1)
    2352        12336 :  && FLOAT_TYPE_P (ty2)
    2353              : )
    2354              :                 {
    2355        12336 :                   {
    2356        12336 :  tree newtype = type;
    2357        12336 :  if (TYPE_MODE (ty1) == SDmode
    2358        12327 :  || TYPE_MODE (ty2) == SDmode
    2359        24663 :  || TYPE_MODE (type) == SDmode)
    2360            9 :  newtype = dfloat32_type_node;
    2361        12336 :  if (TYPE_MODE (ty1) == DDmode
    2362        12330 :  || TYPE_MODE (ty2) == DDmode
    2363        24666 :  || TYPE_MODE (type) == DDmode)
    2364            6 :  newtype = dfloat64_type_node;
    2365        12336 :  if (TYPE_MODE (ty1) == TDmode
    2366        12336 :  || TYPE_MODE (ty2) == TDmode
    2367        24672 :  || TYPE_MODE (type) == TDmode)
    2368           15 :  newtype = dfloat128_type_node;
    2369        12336 :                       if ((newtype == dfloat32_type_node
    2370        12336 :  || newtype == dfloat64_type_node
    2371        12336 :  || newtype == dfloat128_type_node)
    2372           15 :  && newtype == type
    2373        12342 :  && types_match (newtype, type)
    2374              : )
    2375              :                         {
    2376            6 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail774;
    2377            0 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail774;
    2378            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail774;
    2379            0 :                           {
    2380            0 :                             tree res_op0;
    2381            0 :                             {
    2382            0 :                               tree _o1[1], _r1;
    2383            0 :                               _o1[0] = captures[2];
    2384            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2385              :                                 {
    2386            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2387              :                                 }
    2388              :                               else
    2389              :                                 _r1 = _o1[0];
    2390            0 :                               res_op0 = _r1;
    2391              :                             }
    2392            0 :                             tree res_op1;
    2393            0 :                             {
    2394            0 :                               tree _o1[1], _r1;
    2395            0 :                               _o1[0] = captures[4];
    2396            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2397              :                                 {
    2398            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2399              :                                 }
    2400              :                               else
    2401              :                                 _r1 = _o1[0];
    2402            0 :                               res_op1 = _r1;
    2403              :                             }
    2404            0 :                             tree _r;
    2405            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2406            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 633, __FILE__, __LINE__, true);
    2407            0 :                             return _r;
    2408              :                           }
    2409              : next_after_fail774:;
    2410              :                         }
    2411              :                       else
    2412              :                         {
    2413        12330 :                           {
    2414        12330 :  if (element_precision (ty1) > element_precision (newtype))
    2415          745 :  newtype = ty1;
    2416        12330 :  if (element_precision (ty2) > element_precision (newtype))
    2417            1 :  newtype = ty2;
    2418        12330 :                               if (element_precision (newtype) < element_precision (itype)
    2419        11032 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2420            0 :  || target_supports_op_p (newtype, op, optab_default))
    2421        11032 :  && (flag_unsafe_math_optimizations
    2422        11020 :  || (element_precision (newtype) == element_precision (type)
    2423        11016 :  && real_can_shorten_arithmetic (element_mode (itype),
    2424              :  element_mode (type))
    2425         4026 :  && !excess_precision_type (newtype)))
    2426        13003 :  && !types_match (itype, newtype)
    2427              : )
    2428              :                                 {
    2429          673 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail775;
    2430          673 :                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail775;
    2431          655 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail775;
    2432          655 :                                   {
    2433          655 :                                     tree res_op0;
    2434          655 :                                     {
    2435          655 :                                       tree _o1[2], _r1;
    2436          655 :                                       {
    2437          655 :                                         tree _o2[1], _r2;
    2438          655 :                                         _o2[0] = captures[2];
    2439          655 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2440              :                                           {
    2441          655 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2442              :                                           }
    2443              :                                         else
    2444              :                                           _r2 = _o2[0];
    2445          655 :                                         _o1[0] = _r2;
    2446              :                                       }
    2447          655 :                                       {
    2448          655 :                                         tree _o2[1], _r2;
    2449          655 :                                         _o2[0] = captures[4];
    2450          655 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2451              :                                           {
    2452          604 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2453              :                                           }
    2454              :                                         else
    2455              :                                           _r2 = _o2[0];
    2456          655 :                                         _o1[1] = _r2;
    2457              :                                       }
    2458          655 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2459          655 :                                       res_op0 = _r1;
    2460              :                                     }
    2461          655 :                                     tree _r;
    2462          655 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2463          655 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 634, __FILE__, __LINE__, true);
    2464          655 :                                     return _r;
    2465              :                                   }
    2466              : next_after_fail775:;
    2467              :                                 }
    2468              :                           }
    2469              :                         }
    2470              :                   }
    2471              :                 }
    2472              :           }
    2473              :         }
    2474              :     }
    2475              :   return NULL_TREE;
    2476              : }
    2477              : 
    2478              : tree
    2479           13 : generic_simplify_465 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2480              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2481              : {
    2482           13 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2483           13 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail810;
    2484           13 :   {
    2485           13 :     tree _r;
    2486           13 :     _r =  build_zero_cst (type);
    2487           13 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2488            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2489           13 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 664, __FILE__, __LINE__, true);
    2490              :     return _r;
    2491              :   }
    2492            0 : next_after_fail810:;
    2493            0 :   return NULL_TREE;
    2494              : }
    2495              : 
    2496              : tree
    2497            8 : generic_simplify_470 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2498              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2499              :  const enum tree_code ARG_UNUSED (eqne))
    2500              : {
    2501            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2502            8 :   if (eqne == EQ_EXPR
    2503              : )
    2504              :     {
    2505            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail816;
    2506            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail816;
    2507            4 :       {
    2508            4 :         tree _r;
    2509            4 :         _r =  constant_boolean_node (false, type);
    2510            4 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2511            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2512            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
    2513            4 :         return _r;
    2514              :       }
    2515              : next_after_fail816:;
    2516              :     }
    2517              :   else
    2518              :     {
    2519            4 :       if (eqne == NE_EXPR
    2520              : )
    2521              :         {
    2522            4 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail817;
    2523            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail817;
    2524            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail817;
    2525            4 :           {
    2526            4 :             tree _r;
    2527            4 :             _r = captures[0];
    2528            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 670, __FILE__, __LINE__, true);
    2529            4 :             return _r;
    2530              :           }
    2531              : next_after_fail817:;
    2532              :         }
    2533              :     }
    2534              :   return NULL_TREE;
    2535              : }
    2536              : 
    2537              : tree
    2538            4 : generic_simplify_481 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2539              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2540              : {
    2541            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2542            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail860;
    2543            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail860;
    2544            4 :   {
    2545            4 :     tree _r;
    2546            4 :     _r = captures[2];
    2547            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2548            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2549            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 685, __FILE__, __LINE__, true);
    2550              :     return _r;
    2551              :   }
    2552              : next_after_fail860:;
    2553              :   return NULL_TREE;
    2554              : }
    2555              : 
    2556              : tree
    2557        30511 : generic_simplify_485 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2558              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2559              :  const enum tree_code ARG_UNUSED (shift))
    2560              : {
    2561        30511 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2562        30511 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2563        30511 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2564        30511 :  && tree_fits_uhwi_p (captures[4])
    2565        30511 :  && tree_to_uhwi (captures[4]) > 0
    2566        61021 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2567              : )
    2568              :     {
    2569        30510 :       {
    2570        30510 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2571        30510 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2572        30510 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2573        30510 :  tree shift_type = TREE_TYPE (captures[2]);
    2574        30510 :  unsigned int prec;
    2575        30510 :  if (shift == LSHIFT_EXPR)
    2576         5234 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2577        25276 :  else if (shift == RSHIFT_EXPR
    2578        25276 :  && type_has_mode_precision_p (shift_type))
    2579              :  {
    2580        25276 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2581        25276 :  tree arg00 = captures[3];
    2582        25276 :  if (captures[2] != captures[3]
    2583        25276 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2584              :  {
    2585        25018 :  tree inner_type = TREE_TYPE (captures[3]);
    2586        25018 :  if (type_has_mode_precision_p (inner_type)
    2587        25018 :  && TYPE_PRECISION (inner_type) < prec)
    2588              :  {
    2589          270 :  prec = TYPE_PRECISION (inner_type);
    2590          270 :  if (shiftc < prec)
    2591          269 :  shift_type = inner_type;
    2592              :  }
    2593              :  }
    2594        25276 :  zerobits = HOST_WIDE_INT_M1U;
    2595        25276 :  if (shiftc < prec)
    2596              :  {
    2597        25275 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2598        25275 :  zerobits <<= prec - shiftc;
    2599              :  }
    2600        25276 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2601        25276 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2602              :  {
    2603          824 :  if ((mask & zerobits) == 0)
    2604          817 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2605              :  else
    2606              :  zerobits = 0;
    2607              :  }
    2608              :  }
    2609        30503 :           if ((mask & zerobits) == mask
    2610              : )
    2611              :             {
    2612            1 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail864;
    2613            1 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail864;
    2614            1 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail864;
    2615            1 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail864;
    2616            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail864;
    2617            1 :               {
    2618            1 :                 tree _r;
    2619            1 :                 _r =  build_int_cst (type, 0);
    2620            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 689, __FILE__, __LINE__, true);
    2621            1 :                 return _r;
    2622              :               }
    2623              : next_after_fail864:;
    2624              :             }
    2625              :           else
    2626              :             {
    2627        30509 :               {
    2628        30509 :  newmask = mask | zerobits;
    2629        30509 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2630              : )
    2631              :                     {
    2632              :                       {
    2633         7072 :  for (prec = BITS_PER_UNIT;
    2634        10772 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2635         8676 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2636              :  break;
    2637         3700 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2638         2096 :  || newmask == HOST_WIDE_INT_M1U
    2639              : )
    2640              :                             {
    2641         2010 :                               {
    2642         2010 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2643         2010 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2644              : )
    2645              :                                     {
    2646         2010 :                                       if (shift_type != TREE_TYPE (captures[2])
    2647              : )
    2648              :                                         {
    2649           96 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail865;
    2650           96 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail865;
    2651           96 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail865;
    2652           96 :                                           {
    2653           96 :                                             tree res_op0;
    2654           96 :                                             {
    2655           96 :                                               tree _o1[1], _r1;
    2656           96 :                                               {
    2657           96 :                                                 tree _o2[2], _r2;
    2658           96 :                                                 {
    2659           96 :                                                   tree _o3[1], _r3;
    2660           96 :                                                   _o3[0] = captures[2];
    2661           96 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2662              :                                                     {
    2663           96 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2664              :                                                     }
    2665              :                                                   else
    2666              :                                                     _r3 = _o3[0];
    2667           96 :                                                   _o2[0] = _r3;
    2668              :                                                 }
    2669           96 :                                                 _o2[1] = captures[4];
    2670           96 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2671           96 :                                                 _o1[0] = _r2;
    2672              :                                               }
    2673           96 :                                               if (TREE_TYPE (_o1[0]) != type)
    2674              :                                                 {
    2675           96 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2676              :                                                 }
    2677              :                                               else
    2678              :                                                 _r1 = _o1[0];
    2679           96 :                                               res_op0 = _r1;
    2680              :                                             }
    2681           96 :                                             tree res_op1;
    2682           96 :                                             res_op1 =  newmaskt;
    2683           96 :                                             tree _r;
    2684           96 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2685           96 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 690, __FILE__, __LINE__, true);
    2686           96 :                                             return _r;
    2687              :                                           }
    2688              : next_after_fail865:;
    2689              :                                         }
    2690              :                                       else
    2691              :                                         {
    2692         1914 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail866;
    2693          883 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail866;
    2694          883 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail866;
    2695          883 :                                           {
    2696          883 :                                             tree res_op0;
    2697          883 :                                             res_op0 = captures[0];
    2698          883 :                                             tree res_op1;
    2699          883 :                                             res_op1 =  newmaskt;
    2700          883 :                                             tree _r;
    2701          883 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2702          883 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 691, __FILE__, __LINE__, true);
    2703          883 :                                             return _r;
    2704              :                                           }
    2705              : next_after_fail866:;
    2706              :                                         }
    2707              :                                     }
    2708              :                               }
    2709              :                             }
    2710              :                       }
    2711              :                     }
    2712              :               }
    2713              :             }
    2714              :       }
    2715              :     }
    2716              :   return NULL_TREE;
    2717              : }
    2718              : 
    2719              : tree
    2720       420228 : generic_simplify_494 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2721              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2722              :  const enum tree_code ARG_UNUSED (op))
    2723              : {
    2724       420228 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2725       840456 :   if (INTEGRAL_TYPE_P (type)
    2726       420228 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2727        66120 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2728        66120 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2729        66120 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2730        66120 :  && type_has_mode_precision_p (type)
    2731        66120 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2732           33 :  && types_match (captures[2], captures[4])
    2733           33 :  && (tree_int_cst_min_precision (captures[5], TYPE_SIGN (TREE_TYPE (captures[2])))
    2734           33 :  <= TYPE_PRECISION (TREE_TYPE (captures[2])))
    2735       420255 :  && (wi::to_wide (captures[5])
    2736       420282 :  & wi::mask (TYPE_PRECISION (TREE_TYPE (captures[2])),
    2737       420282 :  true, TYPE_PRECISION (type))) == 0
    2738              : )
    2739              :     {
    2740           25 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2741              : )
    2742              :         {
    2743           12 :           {
    2744           12 :  tree ntype = TREE_TYPE (captures[2]);
    2745           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail882;
    2746           12 :               {
    2747           12 :                 tree res_op0;
    2748           12 :                 {
    2749           12 :                   tree _o1[2], _r1;
    2750           12 :                   {
    2751           12 :                     tree _o2[2], _r2;
    2752           12 :                     _o2[0] = captures[2];
    2753           12 :                     _o2[1] = captures[4];
    2754           12 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2755           12 :                     _o1[0] = _r2;
    2756              :                   }
    2757           12 :                   {
    2758           12 :                     tree _o2[1], _r2;
    2759           12 :                     _o2[0] = captures[5];
    2760           12 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2761              :                       {
    2762           12 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
    2763              :                       }
    2764              :                     else
    2765              :                       _r2 = _o2[0];
    2766           12 :                     _o1[1] = _r2;
    2767              :                   }
    2768           12 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2769           12 :                   res_op0 = _r1;
    2770              :                 }
    2771           12 :                 tree _r;
    2772           12 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2773           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 697, __FILE__, __LINE__, true);
    2774           12 :                 return _r;
    2775              :               }
    2776            0 : next_after_fail882:;
    2777              :           }
    2778              :         }
    2779              :       else
    2780              :         {
    2781           13 :           {
    2782           13 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2783           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail883;
    2784           13 :               {
    2785           13 :                 tree res_op0;
    2786           13 :                 {
    2787           13 :                   tree _o1[2], _r1;
    2788           13 :                   {
    2789           13 :                     tree _o2[2], _r2;
    2790           13 :                     {
    2791           13 :                       tree _o3[1], _r3;
    2792           13 :                       _o3[0] = captures[2];
    2793           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2794              :                         {
    2795           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2796              :                         }
    2797              :                       else
    2798              :                         _r3 = _o3[0];
    2799           13 :                       _o2[0] = _r3;
    2800              :                     }
    2801           13 :                     {
    2802           13 :                       tree _o3[1], _r3;
    2803           13 :                       _o3[0] = captures[4];
    2804           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2805              :                         {
    2806           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2807              :                         }
    2808              :                       else
    2809              :                         _r3 = _o3[0];
    2810           13 :                       _o2[1] = _r3;
    2811              :                     }
    2812           13 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2813           13 :                     _o1[0] = _r2;
    2814              :                   }
    2815           13 :                   {
    2816           13 :                     tree _o2[1], _r2;
    2817           13 :                     _o2[0] = captures[5];
    2818           13 :                     if (TREE_TYPE (_o2[0]) != utype)
    2819              :                       {
    2820           13 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2821              :                       }
    2822              :                     else
    2823              :                       _r2 = _o2[0];
    2824           13 :                     _o1[1] = _r2;
    2825              :                   }
    2826           13 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2827           13 :                   res_op0 = _r1;
    2828              :                 }
    2829           13 :                 tree _r;
    2830           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2831           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 698, __FILE__, __LINE__, true);
    2832           13 :                 return _r;
    2833              :               }
    2834            0 : next_after_fail883:;
    2835              :           }
    2836              :         }
    2837              :     }
    2838              :   return NULL_TREE;
    2839              : }
    2840              : 
    2841              : tree
    2842            0 : generic_simplify_525 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2843              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2844              :  const enum tree_code ARG_UNUSED (minmax))
    2845              : {
    2846            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2847            0 :   if (TYPE_UNSIGNED(type)
    2848              : )
    2849              :     {
    2850            0 :       if (minmax == MIN_EXPR
    2851              : )
    2852              :         {
    2853            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail917;
    2854            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail917;
    2855            0 :           {
    2856            0 :             tree _r;
    2857            0 :             _r = captures[1];
    2858            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 729, __FILE__, __LINE__, true);
    2859            0 :             return _r;
    2860              :           }
    2861              : next_after_fail917:;
    2862              :         }
    2863              :       else
    2864              :         {
    2865            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail918;
    2866            0 :           {
    2867            0 :             tree _r;
    2868            0 :             _r = captures[0];
    2869            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2870            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2871            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 730, __FILE__, __LINE__, true);
    2872            0 :             return _r;
    2873              :           }
    2874            0 : next_after_fail918:;
    2875              :         }
    2876              :     }
    2877              :   return NULL_TREE;
    2878              : }
    2879              : 
    2880              : tree
    2881            0 : generic_simplify_534 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2882              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2883              :  const combined_fn ARG_UNUSED (minmax))
    2884              : {
    2885            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2886            0 :   if (!tree_expr_maybe_signaling_nan_p (captures[0])
    2887              : )
    2888              :     {
    2889            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail939;
    2890            0 :       {
    2891            0 :         tree _r;
    2892            0 :         _r = captures[0];
    2893            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
    2894            0 :         return _r;
    2895              :       }
    2896            0 : next_after_fail939:;
    2897              :     }
    2898              :   return NULL_TREE;
    2899              : }
    2900              : 
    2901              : tree
    2902            6 : generic_simplify_539 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2903              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    2904              : {
    2905            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2906            6 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail944;
    2907            6 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail944;
    2908            6 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail944;
    2909            6 :   {
    2910            6 :     tree _r;
    2911            6 :     _r = captures[2];
    2912            6 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 529, __FILE__, __LINE__, true);
    2913              :     return _r;
    2914              :   }
    2915              : next_after_fail944:;
    2916              :   return NULL_TREE;
    2917              : }
    2918              : 
    2919              : tree
    2920            0 : generic_simplify_546 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2921              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2922              :  const combined_fn ARG_UNUSED (cond_op))
    2923              : {
    2924            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2925            0 :   {
    2926            0 :  tree op_type = TREE_TYPE (captures[6]);
    2927            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2928            0 :  && element_precision (type) == element_precision (op_type)
    2929              : )
    2930              :         {
    2931            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail951;
    2932            0 :           {
    2933            0 :             tree res_op0;
    2934            0 :             {
    2935            0 :               tree _o1[5], _r1;
    2936            0 :               _o1[0] = captures[2];
    2937            0 :               _o1[1] = captures[3];
    2938            0 :               _o1[2] = captures[4];
    2939            0 :               _o1[3] = captures[5];
    2940            0 :               {
    2941            0 :                 tree _o2[1], _r2;
    2942            0 :                 _o2[0] = captures[1];
    2943            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2944              :                   {
    2945            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2946              :                   }
    2947              :                 else
    2948              :                   _r2 = _o2[0];
    2949            0 :                 _o1[4] = _r2;
    2950              :               }
    2951            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 5, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
    2952            0 :               if (!_r1)
    2953            0 :                 goto next_after_fail951;
    2954            0 :               res_op0 = _r1;
    2955              :             }
    2956            0 :             tree _r;
    2957            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2958            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2959            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2960            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    2961            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    2962            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 746, __FILE__, __LINE__, true);
    2963            0 :             return _r;
    2964              :           }
    2965              : next_after_fail951:;
    2966              :         }
    2967              :   }
    2968              :   return NULL_TREE;
    2969              : }
    2970              : 
    2971              : tree
    2972            0 : generic_simplify_559 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2973              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2974              :  const enum tree_code ARG_UNUSED (bitop),
    2975              :  const combined_fn ARG_UNUSED (bswap))
    2976              : {
    2977            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2978            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail967;
    2979            0 :   {
    2980            0 :     tree res_op0;
    2981            0 :     res_op0 = captures[0];
    2982            0 :     tree res_op1;
    2983            0 :     {
    2984            0 :       tree _o1[1], _r1;
    2985            0 :       _o1[0] = captures[1];
    2986            0 :       _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2987            0 :       if (!_r1)
    2988            0 :         goto next_after_fail967;
    2989            0 :       res_op1 = _r1;
    2990              :     }
    2991            0 :     tree _r;
    2992            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2993            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 762, __FILE__, __LINE__, true);
    2994              :     return _r;
    2995              :   }
    2996              : next_after_fail967:;
    2997              :   return NULL_TREE;
    2998              : }
    2999              : 
    3000              : tree
    3001            0 : generic_simplify_567 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3002              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3003              :  const combined_fn ARG_UNUSED (logs),
    3004              :  const combined_fn ARG_UNUSED (pows))
    3005              : {
    3006            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3007            0 :   if (flag_unsafe_math_optimizations
    3008              : )
    3009              :     {
    3010            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail975;
    3011            0 :       {
    3012            0 :         tree res_op0;
    3013            0 :         res_op0 = captures[1];
    3014            0 :         tree res_op1;
    3015            0 :         {
    3016            0 :           tree _o1[1], _r1;
    3017            0 :           _o1[0] = captures[0];
    3018            0 :           _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3019            0 :           if (!_r1)
    3020            0 :             goto next_after_fail975;
    3021            0 :           res_op1 = _r1;
    3022              :         }
    3023            0 :         tree _r;
    3024            0 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    3025            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 770, __FILE__, __LINE__, true);
    3026            0 :         return _r;
    3027              :       }
    3028              : next_after_fail975:;
    3029              :     }
    3030              :   return NULL_TREE;
    3031              : }
    3032              : 
    3033              : tree
    3034            0 : generic_simplify_575 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3035              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3036              :  const combined_fn ARG_UNUSED (floors),
    3037              :  const combined_fn ARG_UNUSED (truncs))
    3038              : {
    3039            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3040            0 :   if (canonicalize_math_p ()
    3041              : )
    3042              :     {
    3043            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail983;
    3044            0 :       {
    3045            0 :         tree res_op0;
    3046            0 :         res_op0 = captures[0];
    3047            0 :         tree _r;
    3048            0 :         _r = maybe_build_call_expr_loc (loc, truncs, type, 1, res_op0);
    3049            0 :         if (!_r)
    3050            0 :           goto next_after_fail983;
    3051            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 778, __FILE__, __LINE__, true);
    3052            0 :         return _r;
    3053              :       }
    3054              : next_after_fail983:;
    3055              :     }
    3056              :   return NULL_TREE;
    3057              : }
    3058              : 
    3059              : tree
    3060            0 : generic_simplify_582 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3061              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3062              :  const combined_fn ARG_UNUSED (ifn),
    3063              :  const combined_fn ARG_UNUSED (lfn),
    3064              :  const combined_fn ARG_UNUSED (llfn))
    3065              : {
    3066            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3067            0 :   if (canonicalize_math_p ()
    3068              : )
    3069              :     {
    3070            0 :       if (TYPE_PRECISION (integer_type_node)
    3071            0 :  == TYPE_PRECISION (long_integer_type_node)
    3072              : )
    3073              :         {
    3074            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail990;
    3075            0 :           {
    3076            0 :             tree res_op0;
    3077            0 :             res_op0 = captures[0];
    3078            0 :             tree _r;
    3079            0 :             _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
    3080            0 :             if (!_r)
    3081            0 :               goto next_after_fail990;
    3082            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 785, __FILE__, __LINE__, true);
    3083            0 :             return _r;
    3084              :           }
    3085              : next_after_fail990:;
    3086              :         }
    3087              :     }
    3088              :   return NULL_TREE;
    3089              : }
    3090              : 
    3091              : tree
    3092            0 : generic_simplify_592 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3093              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3094              : {
    3095            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3096            0 :   if (canonicalize_math_after_vectorization_p ()
    3097              : )
    3098              :     {
    3099              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1000;
    3100              :       {
    3101              :         tree res_op0;
    3102              :         res_op0 = captures[0];
    3103              :         tree res_op1;
    3104              :         res_op1 = captures[1];
    3105              :         tree res_op2;
    3106              :         res_op2 = captures[2];
    3107              :         tree _r;
    3108              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3109              :         if (!_r)
    3110              :           goto next_after_fail1000;
    3111              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 795, __FILE__, __LINE__, true);
    3112              :         return _r;
    3113              :       }
    3114            0 : next_after_fail1000:;
    3115              :     }
    3116            0 :   return NULL_TREE;
    3117              : }
    3118              : 
    3119              : tree
    3120            0 : generic_simplify_602 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3121              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3122              : {
    3123            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3124            0 :   if (canonicalize_math_after_vectorization_p ()
    3125              : )
    3126              :     {
    3127              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1010;
    3128              :       {
    3129              :         tree res_op0;
    3130              :         res_op0 = captures[0];
    3131              :         tree res_op1;
    3132              :         res_op1 = captures[1];
    3133              :         tree res_op2;
    3134              :         res_op2 = captures[2];
    3135              :         tree res_op3;
    3136              :         res_op3 = captures[3];
    3137              :         tree res_op4;
    3138              :         res_op4 = captures[4];
    3139              :         tree _r;
    3140              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3141              :         if (!_r)
    3142              :           goto next_after_fail1010;
    3143              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 805, __FILE__, __LINE__, true);
    3144              :         return _r;
    3145              :       }
    3146            0 : next_after_fail1010:;
    3147              :     }
    3148            0 :   return NULL_TREE;
    3149              : }
    3150              : 
    3151              : tree
    3152            0 : generic_simplify_613 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3153              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3154              :  const combined_fn ARG_UNUSED (pfun))
    3155              : {
    3156            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3157            0 :   if (INTEGRAL_TYPE_P (type)
    3158              : )
    3159              :     {
    3160            0 :       {
    3161            0 :  wide_int nz = tree_nonzero_bits (captures[0]);
    3162            0 :           if (nz == 1
    3163              : )
    3164              :             {
    3165            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1021;
    3166            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1021;
    3167            0 :               {
    3168            0 :                 tree res_op0;
    3169            0 :                 res_op0 = captures[0];
    3170            0 :                 tree _r;
    3171            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3172            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 811, __FILE__, __LINE__, true);
    3173            0 :                 return _r;
    3174              :               }
    3175            0 : next_after_fail1021:;
    3176              :             }
    3177              :           else
    3178              :             {
    3179            0 :               if (wi::popcount (nz) == 1
    3180              : )
    3181              :                 {
    3182            0 :                   {
    3183            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    3184            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1022;
    3185            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1022;
    3186            0 :                       {
    3187            0 :                         tree res_op0;
    3188            0 :                         {
    3189            0 :                           tree _o1[2], _r1;
    3190            0 :                           {
    3191            0 :                             tree _o2[1], _r2;
    3192            0 :                             _o2[0] = captures[0];
    3193            0 :                             if (TREE_TYPE (_o2[0]) != utype)
    3194              :                               {
    3195            0 :                                 _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    3196              :                               }
    3197              :                             else
    3198              :                               _r2 = _o2[0];
    3199            0 :                             _o1[0] = _r2;
    3200              :                           }
    3201            0 :                           _o1[1] =  build_int_cst (integer_type_node,
    3202            0 :  wi::ctz (nz));
    3203            0 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o1[0], _o1[1]);
    3204            0 :                           res_op0 = _r1;
    3205              :                         }
    3206            0 :                         tree _r;
    3207            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3208            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 812, __FILE__, __LINE__, true);
    3209            0 :                         return _r;
    3210              :                       }
    3211            0 : next_after_fail1022:;
    3212              :                   }
    3213              :                 }
    3214              :             }
    3215            0 :       }
    3216              :     }
    3217              :   return NULL_TREE;
    3218              : }
    3219              : 
    3220              : tree
    3221      4170368 : generic_simplify_NEGATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3222              : {
    3223      4170368 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3224      4170368 :   switch (TREE_CODE (_p0))
    3225              :     {
    3226        40121 :     case PLUS_EXPR:
    3227        40121 :       {
    3228        40121 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3229        40121 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3230        40121 :         if (tree_negate_expr_p (_q21))
    3231              :           {
    3232        38943 :             {
    3233        38943 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3234        38943 :               tree res = generic_simplify_510 (loc, type, _p0, captures);
    3235        38943 :               if (res) return res;
    3236              :             }
    3237              :           }
    3238         1178 :         if (tree_negate_expr_p (_q20))
    3239              :           {
    3240           17 :             {
    3241           17 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    3242           17 :               tree res = generic_simplify_510 (loc, type, _p0, captures);
    3243           17 :               if (res) return res;
    3244              :             }
    3245              :           }
    3246              :         break;
    3247              :       }
    3248       106585 :     case MINUS_EXPR:
    3249       106585 :       {
    3250       106585 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3251       106585 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3252       106585 :         {
    3253       106585 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3254       106585 :           if ((ANY_INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_SANITIZED (type))
    3255       181452 :  || (FLOAT_TYPE_P (type)
    3256        74867 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3257        74867 :  && !HONOR_SIGNED_ZEROS (type))
    3258              : )
    3259              :             {
    3260        31775 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1073;
    3261        31775 :               {
    3262        31775 :                 tree res_op0;
    3263        31775 :                 res_op0 = captures[1];
    3264        31775 :                 tree res_op1;
    3265        31775 :                 res_op1 = captures[0];
    3266        31775 :                 tree _r;
    3267        31775 :                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3268        31775 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 852, __FILE__, __LINE__, true);
    3269        31775 :                 return _r;
    3270              :               }
    3271            0 : next_after_fail1073:;
    3272              :             }
    3273              :         }
    3274        74810 :         break;
    3275              :       }
    3276           16 :     case POINTER_DIFF_EXPR:
    3277           16 :       {
    3278           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3279           16 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3280           16 :         {
    3281           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3282           16 :           tree res = generic_simplify_511 (loc, type, _p0, captures);
    3283           16 :           if (res) return res;
    3284              :         }
    3285            0 :         break;
    3286              :       }
    3287         4113 :     case MULT_EXPR:
    3288         4113 :       {
    3289         4113 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3290         4113 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3291         4113 :         if (tree_negate_expr_p (_q21))
    3292              :           {
    3293         1820 :             {
    3294         1820 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3295         1820 :               tree res = generic_simplify_514 (loc, type, _p0, captures);
    3296         1820 :               if (res) return res;
    3297              :             }
    3298              :           }
    3299         2707 :         if (tree_negate_expr_p (_q20))
    3300              :           {
    3301           27 :             {
    3302           27 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3303           27 :               tree res = generic_simplify_514 (loc, type, _p0, captures);
    3304           27 :               if (res) return res;
    3305              :             }
    3306              :           }
    3307              :         break;
    3308              :       }
    3309          188 :     case RDIV_EXPR:
    3310          188 :       {
    3311          188 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3312          188 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3313          188 :         if (tree_negate_expr_p (_q21))
    3314              :           {
    3315           60 :             {
    3316           60 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3317           60 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3318           60 :  && single_use (captures[0])
    3319              : )
    3320              :                 {
    3321           60 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1074;
    3322           60 :                   {
    3323           60 :                     tree res_op0;
    3324           60 :                     res_op0 = captures[1];
    3325           60 :                     tree res_op1;
    3326           60 :                     {
    3327           60 :                       tree _o1[1], _r1;
    3328           60 :                       _o1[0] = captures[2];
    3329           60 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3330           60 :                       res_op1 = _r1;
    3331              :                     }
    3332           60 :                     tree _r;
    3333           60 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3334           60 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 853, __FILE__, __LINE__, true);
    3335           60 :                     return _r;
    3336              :                   }
    3337            0 : next_after_fail1074:;
    3338              :                 }
    3339              :             }
    3340              :           }
    3341          128 :         if (tree_negate_expr_p (_q20))
    3342              :           {
    3343            0 :             {
    3344            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3345            0 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3346            0 :  && single_use (captures[0])
    3347              : )
    3348              :                 {
    3349            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1075;
    3350            0 :                   {
    3351            0 :                     tree res_op0;
    3352            0 :                     {
    3353            0 :                       tree _o1[1], _r1;
    3354            0 :                       _o1[0] = captures[1];
    3355            0 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3356            0 :                       res_op0 = _r1;
    3357              :                     }
    3358            0 :                     tree res_op1;
    3359            0 :                     res_op1 = captures[2];
    3360            0 :                     tree _r;
    3361            0 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3362            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 854, __FILE__, __LINE__, true);
    3363            0 :                     return _r;
    3364              :                   }
    3365            0 : next_after_fail1075:;
    3366              :                 }
    3367              :             }
    3368              :           }
    3369              :         break;
    3370              :       }
    3371      1309598 :     CASE_CONVERT:
    3372      1309598 :       {
    3373      1309598 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3374      1309598 :         switch (TREE_CODE (_q20))
    3375              :           {
    3376           58 :           case RSHIFT_EXPR:
    3377           58 :             {
    3378           58 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3379           58 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3380           58 :               switch (TREE_CODE (_q31))
    3381              :                 {
    3382           43 :                 case INTEGER_CST:
    3383           43 :                   {
    3384           43 :                     {
    3385           43 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3386           43 :                       tree res = generic_simplify_515 (loc, type, _p0, captures);
    3387           43 :                       if (res) return res;
    3388              :                     }
    3389           36 :                     break;
    3390              :                   }
    3391              :                 default:;
    3392              :                 }
    3393              :               break;
    3394              :             }
    3395          207 :           case NEGATE_EXPR:
    3396          207 :             {
    3397          207 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3398          207 :               {
    3399          207 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3400          207 :                 if (!TYPE_SATURATING (type)
    3401              : )
    3402              :                   {
    3403          207 :                     if (INTEGRAL_TYPE_P (type)
    3404          207 :  && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    3405           17 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3406           32 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    3407          206 :  && !TYPE_OVERFLOW_SANITIZED (type)
    3408          429 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    3409              : )
    3410              :                       {
    3411          206 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1076;
    3412          206 :                         {
    3413          206 :                           tree res_op0;
    3414          206 :                           res_op0 = captures[0];
    3415          206 :                           tree _r;
    3416          206 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3417          206 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 855, __FILE__, __LINE__, true);
    3418          206 :                           return _r;
    3419              :                         }
    3420            0 : next_after_fail1076:;
    3421              :                       }
    3422              :                   }
    3423              :               }
    3424              :               break;
    3425              :             }
    3426      1309385 :           default:;
    3427              :           }
    3428      1309385 :       {
    3429      1309385 :         tree _q20_pops[1];
    3430      1309385 :         if (tree_logical_inverted_value (_q20, _q20_pops))
    3431              :           {
    3432            1 :             tree _q30 = _q20_pops[0];
    3433            1 :             {
    3434            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3435            1 :               if (INTEGRAL_TYPE_P (type)
    3436            1 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3437            1 :  && TYPE_PRECISION (type) > 1
    3438            1 :  && TREE_CODE (captures[2]) == SSA_NAME
    3439            1 :  && ssa_name_has_boolean_range (captures[2])
    3440              : )
    3441              :                 {
    3442            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1077;
    3443            0 :                   {
    3444            0 :                     tree res_op0;
    3445            0 :                     {
    3446            0 :                       tree _o1[1], _r1;
    3447            0 :                       _o1[0] = captures[2];
    3448            0 :                       if (TREE_TYPE (_o1[0]) != type)
    3449              :                         {
    3450            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3451              :                         }
    3452              :                       else
    3453              :                         _r1 = _o1[0];
    3454            0 :                       res_op0 = _r1;
    3455              :                     }
    3456            0 :                     tree res_op1;
    3457            0 :                     res_op1 =  build_all_ones_cst (type);
    3458            0 :                     tree _r;
    3459            0 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3460            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 856, __FILE__, __LINE__, true);
    3461            0 :                     return _r;
    3462              :                   }
    3463            0 : next_after_fail1077:;
    3464              :                 }
    3465              :             }
    3466              :           }
    3467              :       }
    3468      1309385 :       if (tree_negate_expr_p (_q20))
    3469              :         {
    3470         1592 :           {
    3471         1592 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3472         1592 :             if (!TYPE_SATURATING (type)
    3473              : )
    3474              :               {
    3475         1592 :                 if (SCALAR_FLOAT_TYPE_P (type)
    3476         1592 :  && ((DECIMAL_FLOAT_TYPE_P (type)
    3477            0 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    3478            0 :  && TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (captures[0])))
    3479            0 :  || !HONOR_SIGN_DEPENDENT_ROUNDING (type))
    3480              : )
    3481              :                   {
    3482            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1078;
    3483            0 :                     {
    3484            0 :                       tree res_op0;
    3485            0 :                       {
    3486            0 :                         tree _o1[1], _r1;
    3487            0 :                         _o1[0] = captures[0];
    3488            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3489            0 :                         res_op0 = _r1;
    3490              :                       }
    3491            0 :                       tree _r;
    3492            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3493            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 857, __FILE__, __LINE__, true);
    3494            0 :                       return _r;
    3495              :                     }
    3496            0 : next_after_fail1078:;
    3497              :                   }
    3498              :               }
    3499              :           }
    3500              :         }
    3501              :         break;
    3502              :       }
    3503          394 :     case RSHIFT_EXPR:
    3504          394 :       {
    3505          394 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3506          394 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3507          394 :         switch (TREE_CODE (_q21))
    3508              :           {
    3509          376 :           case INTEGER_CST:
    3510          376 :             {
    3511          376 :               {
    3512          376 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3513          376 :                 tree res = generic_simplify_515 (loc, type, _p0, captures);
    3514          376 :                 if (res) return res;
    3515              :               }
    3516          339 :               break;
    3517              :             }
    3518              :           default:;
    3519              :           }
    3520              :         break;
    3521              :       }
    3522          147 :     case BIT_NOT_EXPR:
    3523          147 :       {
    3524          147 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3525          147 :         {
    3526          147 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3527          147 :           tree res = generic_simplify_512 (loc, type, _p0, captures);
    3528          147 :           if (res) return res;
    3529              :         }
    3530            0 :         break;
    3531              :       }
    3532         3777 :     case NEGATE_EXPR:
    3533         3777 :       {
    3534         3777 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3535         3777 :         {
    3536         3777 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3537         3777 :           tree res = generic_simplify_513 (loc, type, _p0, captures);
    3538         3777 :           if (res) return res;
    3539              :         }
    3540           13 :         break;
    3541              :       }
    3542           72 :     case VEC_COND_EXPR:
    3543           72 :       {
    3544           72 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3545           72 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3546           72 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3547           72 :         {
    3548           72 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3549           72 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1079;
    3550           72 :           {
    3551           72 :             tree res_op0;
    3552           72 :             res_op0 = captures[1];
    3553           72 :             tree res_op1;
    3554           72 :             {
    3555           72 :               tree _o1[1], _r1;
    3556           72 :               _o1[0] = captures[2];
    3557           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3558           72 :               if (EXPR_P (_r1))
    3559            0 :                 goto next_after_fail1079;
    3560           72 :               res_op1 = _r1;
    3561              :             }
    3562           72 :             tree res_op2;
    3563           72 :             {
    3564           72 :               tree _o1[1], _r1;
    3565           72 :               _o1[0] = captures[3];
    3566           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3567           72 :               if (EXPR_P (_r1))
    3568            0 :                 goto next_after_fail1079;
    3569           72 :               res_op2 = _r1;
    3570              :             }
    3571           72 :             tree _r;
    3572           72 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3573           72 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
    3574           72 :             return _r;
    3575              :           }
    3576            0 : next_after_fail1079:;
    3577              :         }
    3578            0 :         break;
    3579              :       }
    3580       266140 :     case CALL_EXPR:
    3581       266140 :       switch (get_call_combined_fn (_p0))
    3582              :         {
    3583           12 :         case CFN_BUILT_IN_FMA:
    3584           12 :           if (call_expr_nargs (_p0) == 3)
    3585              :     {
    3586           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3587           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3588           12 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3589           12 :               {
    3590           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3591           12 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, CFN_BUILT_IN_FMA);
    3592           12 :                 if (res) return res;
    3593              :               }
    3594              :             }
    3595              :           break;
    3596            0 :         case CFN_COND_FMA:
    3597            0 :           if (call_expr_nargs (_p0) == 5)
    3598              :     {
    3599            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3600            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3601            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3602            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3603            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3604            0 :               {
    3605            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3606            0 :                 const combined_fn fmas = CFN_COND_FMA;
    3607            0 :                 if (canonicalize_math_after_vectorization_p ()
    3608              : )
    3609              :                   {
    3610              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3611              : )
    3612              :                       {
    3613              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1080;
    3614              :                         {
    3615              :                           tree res_op0;
    3616              :                           res_op0 = captures[1];
    3617              :                           tree res_op1;
    3618              :                           res_op1 = captures[2];
    3619              :                           tree res_op2;
    3620              :                           res_op2 = captures[3];
    3621              :                           tree res_op3;
    3622              :                           res_op3 = captures[4];
    3623              :                           tree res_op4;
    3624              :                           res_op4 = captures[5];
    3625              :                           tree _r;
    3626              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3627              :                           if (!_r)
    3628              :                             goto next_after_fail1080;
    3629              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 858, __FILE__, __LINE__, true);
    3630              :                           return _r;
    3631              :                         }
    3632            0 : next_after_fail1080:;
    3633              :                       }
    3634              :                   }
    3635              :               }
    3636              :             }
    3637              :           break;
    3638            4 :         case CFN_BUILT_IN_FMAF:
    3639            4 :           if (call_expr_nargs (_p0) == 3)
    3640              :     {
    3641            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3642            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3643            4 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3644            4 :               {
    3645            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3646            4 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, CFN_BUILT_IN_FMAF);
    3647            4 :                 if (res) return res;
    3648              :               }
    3649              :             }
    3650              :           break;
    3651            0 :         case CFN_BUILT_IN_FMAL:
    3652            0 :           if (call_expr_nargs (_p0) == 3)
    3653              :     {
    3654            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3655            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3656            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3657            0 :               {
    3658            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3659            0 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, CFN_BUILT_IN_FMAL);
    3660            0 :                 if (res) return res;
    3661              :               }
    3662              :             }
    3663              :           break;
    3664            0 :         case CFN_FMA:
    3665            0 :           if (call_expr_nargs (_p0) == 3)
    3666              :     {
    3667            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3668            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3669            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3670            0 :               {
    3671            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3672            0 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, CFN_FMA);
    3673            0 :                 if (res) return res;
    3674              :               }
    3675              :             }
    3676              :           break;
    3677            0 :         case CFN_FMS:
    3678            0 :           if (call_expr_nargs (_p0) == 3)
    3679              :     {
    3680            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3681            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3682            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3683            0 :               {
    3684            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3685            0 :                 if (canonicalize_math_after_vectorization_p ()
    3686              : )
    3687              :                   {
    3688              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3689              : )
    3690              :                       {
    3691              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1081;
    3692              :                         {
    3693              :                           tree res_op0;
    3694              :                           res_op0 = captures[1];
    3695              :                           tree res_op1;
    3696              :                           res_op1 = captures[2];
    3697              :                           tree res_op2;
    3698              :                           res_op2 = captures[3];
    3699              :                           tree _r;
    3700              :                           _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3701              :                           if (!_r)
    3702              :                             goto next_after_fail1081;
    3703              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 859, __FILE__, __LINE__, true);
    3704              :                           return _r;
    3705              :                         }
    3706            0 : next_after_fail1081:;
    3707              :                       }
    3708              :                   }
    3709              :               }
    3710              :             }
    3711            0 :           if (call_expr_nargs (_p0) == 5)
    3712              :     {
    3713            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3714            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3715            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3716            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3717            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3718            0 :               {
    3719            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3720            0 :                 if (canonicalize_math_after_vectorization_p ()
    3721              : )
    3722              :                   {
    3723              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3724              : )
    3725              :                       {
    3726              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1082;
    3727              :                         {
    3728              :                           tree res_op0;
    3729              :                           res_op0 = captures[1];
    3730              :                           tree res_op1;
    3731              :                           res_op1 = captures[2];
    3732              :                           tree res_op2;
    3733              :                           res_op2 = captures[3];
    3734              :                           tree res_op3;
    3735              :                           res_op3 = captures[4];
    3736              :                           tree res_op4;
    3737              :                           res_op4 = captures[5];
    3738              :                           tree _r;
    3739              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3740              :                           if (!_r)
    3741              :                             goto next_after_fail1082;
    3742              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 860, __FILE__, __LINE__, true);
    3743              :                           return _r;
    3744              :                         }
    3745            0 : next_after_fail1082:;
    3746              :                       }
    3747              :                   }
    3748              :               }
    3749              :             }
    3750              :           break;
    3751            0 :         case CFN_COND_FNMA:
    3752            0 :           if (call_expr_nargs (_p0) == 5)
    3753              :     {
    3754            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3755            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3756            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3757            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3758            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3759            0 :               {
    3760            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3761            0 :                 if (canonicalize_math_after_vectorization_p ()
    3762              : )
    3763              :                   {
    3764              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3765              : )
    3766              :                       {
    3767              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1083;
    3768              :                         {
    3769              :                           tree res_op0;
    3770              :                           res_op0 = captures[1];
    3771              :                           tree res_op1;
    3772              :                           res_op1 = captures[2];
    3773              :                           tree res_op2;
    3774              :                           res_op2 = captures[3];
    3775              :                           tree res_op3;
    3776              :                           res_op3 = captures[4];
    3777              :                           tree res_op4;
    3778              :                           res_op4 = captures[5];
    3779              :                           tree _r;
    3780              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3781              :                           if (!_r)
    3782              :                             goto next_after_fail1083;
    3783              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 861, __FILE__, __LINE__, true);
    3784              :                           return _r;
    3785              :                         }
    3786            0 : next_after_fail1083:;
    3787              :                       }
    3788              :                   }
    3789              :               }
    3790              :             }
    3791              :           break;
    3792            0 :         case CFN_COND_FNMS:
    3793            0 :           if (call_expr_nargs (_p0) == 5)
    3794              :     {
    3795            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3796            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3797            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3798            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3799            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3800            0 :               {
    3801            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3802            0 :                 if (canonicalize_math_after_vectorization_p ()
    3803              : )
    3804              :                   {
    3805              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3806              : )
    3807              :                       {
    3808              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
    3809              :                         {
    3810              :                           tree res_op0;
    3811              :                           res_op0 = captures[1];
    3812              :                           tree res_op1;
    3813              :                           res_op1 = captures[2];
    3814              :                           tree res_op2;
    3815              :                           res_op2 = captures[3];
    3816              :                           tree res_op3;
    3817              :                           res_op3 = captures[4];
    3818              :                           tree res_op4;
    3819              :                           res_op4 = captures[5];
    3820              :                           tree _r;
    3821              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3822              :                           if (!_r)
    3823              :                             goto next_after_fail1084;
    3824              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3825              :                           return _r;
    3826              :                         }
    3827            0 : next_after_fail1084:;
    3828              :                       }
    3829              :                   }
    3830              :               }
    3831              :             }
    3832              :           break;
    3833            0 :         case CFN_FNMA:
    3834            0 :           if (call_expr_nargs (_p0) == 3)
    3835              :     {
    3836            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3837            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3838            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3839            0 :               {
    3840            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3841            0 :                 if (canonicalize_math_after_vectorization_p ()
    3842              : )
    3843              :                   {
    3844              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3845              : )
    3846              :                       {
    3847              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
    3848              :                         {
    3849              :                           tree res_op0;
    3850              :                           res_op0 = captures[1];
    3851              :                           tree res_op1;
    3852              :                           res_op1 = captures[2];
    3853              :                           tree res_op2;
    3854              :                           res_op2 = captures[3];
    3855              :                           tree _r;
    3856              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3857              :                           if (!_r)
    3858              :                             goto next_after_fail1085;
    3859              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3860              :                           return _r;
    3861              :                         }
    3862            0 : next_after_fail1085:;
    3863              :                       }
    3864              :                   }
    3865              :               }
    3866              :             }
    3867              :           break;
    3868            0 :         case CFN_FNMS:
    3869            0 :           if (call_expr_nargs (_p0) == 3)
    3870              :     {
    3871            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3872            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3873            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3874            0 :               {
    3875            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3876            0 :                 if (canonicalize_math_after_vectorization_p ()
    3877              : )
    3878              :                   {
    3879              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3880              : )
    3881              :                       {
    3882              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
    3883              :                         {
    3884              :                           tree res_op0;
    3885              :                           res_op0 = captures[1];
    3886              :                           tree res_op1;
    3887              :                           res_op1 = captures[2];
    3888              :                           tree res_op2;
    3889              :                           res_op2 = captures[3];
    3890              :                           tree _r;
    3891              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3892              :                           if (!_r)
    3893              :                             goto next_after_fail1086;
    3894              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3895              :                           return _r;
    3896              :                         }
    3897            0 : next_after_fail1086:;
    3898              :                       }
    3899              :                   }
    3900              :               }
    3901              :             }
    3902              :           break;
    3903              :         default:;
    3904              :         }
    3905              :       break;
    3906      4093891 :     default:;
    3907              :     }
    3908      4093891 : {
    3909      4093891 :   tree _p0_pops[1];
    3910      4093891 :   if (tree_nop_convert (_p0, _p0_pops))
    3911              :     {
    3912      1544289 :       tree _q20 = _p0_pops[0];
    3913      1544289 :       switch (TREE_CODE (_q20))
    3914              :         {
    3915            0 :         case POINTER_DIFF_EXPR:
    3916            0 :           {
    3917            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3918            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    3919            0 :             {
    3920            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    3921            0 :               tree res = generic_simplify_511 (loc, type, _p0, captures);
    3922            0 :               if (res) return res;
    3923              :             }
    3924            0 :             break;
    3925              :           }
    3926            0 :         case BIT_NOT_EXPR:
    3927            0 :           {
    3928            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3929            0 :             {
    3930            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3931            0 :               tree res = generic_simplify_512 (loc, type, _p0, captures);
    3932            0 :               if (res) return res;
    3933              :             }
    3934            0 :             break;
    3935              :           }
    3936            0 :         case NEGATE_EXPR:
    3937            0 :           {
    3938            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3939            0 :             {
    3940            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3941            0 :               tree res = generic_simplify_513 (loc, type, _p0, captures);
    3942            0 :               if (res) return res;
    3943              :             }
    3944            0 :             break;
    3945              :           }
    3946              :         default:;
    3947              :         }
    3948              :     }
    3949              : }
    3950      4093891 : {
    3951      4093891 :   tree _p0_pops[1];
    3952      4093891 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    3953              :     {
    3954           70 :       tree _q20 = _p0_pops[0];
    3955           70 :       {
    3956           70 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3957           70 :         if (INTEGRAL_TYPE_P (type)
    3958           70 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3959           70 :  && TYPE_PRECISION (type) > 1
    3960           70 :  && TREE_CODE (captures[2]) == SSA_NAME
    3961           70 :  && ssa_name_has_boolean_range (captures[2])
    3962              : )
    3963              :           {
    3964            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
    3965            0 :             {
    3966            0 :               tree res_op0;
    3967            0 :               {
    3968            0 :                 tree _o1[1], _r1;
    3969            0 :                 _o1[0] = captures[2];
    3970            0 :                 if (TREE_TYPE (_o1[0]) != type)
    3971              :                   {
    3972            0 :                     _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3973              :                   }
    3974              :                 else
    3975              :                   _r1 = _o1[0];
    3976            0 :                 res_op0 = _r1;
    3977              :               }
    3978            0 :               tree res_op1;
    3979            0 :               res_op1 =  build_all_ones_cst (type);
    3980            0 :               tree _r;
    3981            0 :               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3982            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 856, __FILE__, __LINE__, true);
    3983            0 :               return _r;
    3984              :             }
    3985            0 : next_after_fail1087:;
    3986              :           }
    3987              :       }
    3988              :     }
    3989              : }
    3990      4093891 :   {
    3991      4093891 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3992      4093891 :     tree res = generic_simplify_435 (loc, type, _p0, captures);
    3993      4093891 :     if (res) return res;
    3994              :   }
    3995      4079802 :   return NULL_TREE;
    3996              : }
    3997              : 
    3998              : tree
    3999     26531486 : generic_simplify_EQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4000              : {
    4001     26531486 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4002     26531486 :   switch (TREE_CODE (_p1))
    4003              :     {
    4004           66 :     case NEGATE_EXPR:
    4005           66 :       {
    4006           66 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4007           66 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4008              :           {
    4009            0 :             {
    4010            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4011            0 :               tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4012            0 :               if (res) return res;
    4013              :             }
    4014              :           }
    4015              :         break;
    4016              :       }
    4017     26531486 :     default:;
    4018              :     }
    4019     26531486 :   switch (TREE_CODE (_p0))
    4020              :     {
    4021         1028 :     case NEGATE_EXPR:
    4022         1028 :       {
    4023         1028 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4024         1028 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4025              :           {
    4026           83 :             {
    4027           83 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4028           83 :               tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4029           83 :               if (res) return res;
    4030              :             }
    4031              :           }
    4032              :         break;
    4033              :       }
    4034            0 :     case CEIL_MOD_EXPR:
    4035            0 :       {
    4036            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4037            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4038            0 :         if (integer_pow2p (_q21))
    4039              :           {
    4040            0 :             if (integer_zerop (_p1))
    4041              :               {
    4042            0 :                 {
    4043            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4044            0 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, EQ_EXPR, CEIL_MOD_EXPR);
    4045            0 :                   if (res) return res;
    4046              :                 }
    4047              :               }
    4048              :           }
    4049              :         break;
    4050              :       }
    4051          876 :     case FLOOR_MOD_EXPR:
    4052          876 :       {
    4053          876 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4054          876 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4055          876 :         if (integer_pow2p (_q21))
    4056              :           {
    4057           26 :             if (integer_zerop (_p1))
    4058              :               {
    4059           26 :                 {
    4060           26 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4061           26 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, EQ_EXPR, FLOOR_MOD_EXPR);
    4062           26 :                   if (res) return res;
    4063              :                 }
    4064              :               }
    4065              :           }
    4066              :         break;
    4067              :       }
    4068            0 :     case ROUND_MOD_EXPR:
    4069            0 :       {
    4070            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4071            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4072            0 :         if (integer_pow2p (_q21))
    4073              :           {
    4074            0 :             if (integer_zerop (_p1))
    4075              :               {
    4076            0 :                 {
    4077            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4078            0 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, EQ_EXPR, ROUND_MOD_EXPR);
    4079            0 :                   if (res) return res;
    4080              :                 }
    4081              :               }
    4082              :           }
    4083              :         break;
    4084              :       }
    4085        89755 :     case TRUNC_MOD_EXPR:
    4086        89755 :       {
    4087        89755 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4088        89755 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4089        89755 :         if (integer_pow2p (_q21))
    4090              :           {
    4091        38553 :             if (integer_zerop (_p1))
    4092              :               {
    4093          549 :                 {
    4094          549 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4095          549 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, EQ_EXPR, TRUNC_MOD_EXPR);
    4096          549 :                   if (res) return res;
    4097              :                 }
    4098              :               }
    4099              :           }
    4100              :         break;
    4101              :       }
    4102      4847737 :     CASE_CONVERT:
    4103      4847737 :       {
    4104      4847737 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4105      4847737 :         switch (TREE_CODE (_p1))
    4106              :           {
    4107            2 :           case LSHIFT_EXPR:
    4108            2 :             {
    4109            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4110            2 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4111            2 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4112              :                 {
    4113            0 :                   {
    4114            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4115            0 :                     tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4116            0 :                     if (res) return res;
    4117              :                   }
    4118              :                 }
    4119              :               break;
    4120              :             }
    4121      4847737 :           default:;
    4122              :           }
    4123      4847737 :       {
    4124      4847737 :         tree _p1_pops[1];
    4125      4847737 :         if (tree_nop_convert (_p1, _p1_pops))
    4126              :           {
    4127       853831 :             tree _q40 = _p1_pops[0];
    4128       853831 :             switch (TREE_CODE (_q40))
    4129              :               {
    4130            0 :               case LSHIFT_EXPR:
    4131            0 :                 {
    4132            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4133            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4134            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4135              :                     {
    4136            0 :                       {
    4137            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4138            0 :                         tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4139            0 :                         if (res) return res;
    4140              :                       }
    4141              :                     }
    4142              :                   break;
    4143              :                 }
    4144              :               default:;
    4145              :               }
    4146              :           }
    4147              :       }
    4148      4847737 :         switch (TREE_CODE (_q20))
    4149              :           {
    4150           82 :           case EXACT_DIV_EXPR:
    4151           82 :             {
    4152           82 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4153           82 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4154           82 :               switch (TREE_CODE (_q31))
    4155              :                 {
    4156           82 :                 case INTEGER_CST:
    4157           82 :                   {
    4158           82 :                     switch (TREE_CODE (_p1))
    4159              :                       {
    4160            0 :                       CASE_CONVERT:
    4161            0 :                         {
    4162            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4163            0 :                           switch (TREE_CODE (_q60))
    4164              :                             {
    4165            0 :                             case EXACT_DIV_EXPR:
    4166            0 :                               {
    4167            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4168            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4169            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4170              :                                   {
    4171            0 :                                     {
    4172            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4173            0 :                                       tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4174            0 :                                       if (res) return res;
    4175              :                                     }
    4176              :                                   }
    4177              :                                 break;
    4178              :                               }
    4179              :                             default:;
    4180              :                             }
    4181              :                           break;
    4182              :                         }
    4183              :                       default:;
    4184              :                       }
    4185              :                     break;
    4186              :                   }
    4187              :                 default:;
    4188              :                 }
    4189              :               break;
    4190              :             }
    4191      4847737 :           default:;
    4192              :           }
    4193      4847737 :         switch (TREE_CODE (_p1))
    4194              :           {
    4195        29835 :           case PLUS_EXPR:
    4196        29835 :             {
    4197        29835 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4198        29835 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4199        29835 :               switch (TREE_CODE (_q41))
    4200              :                 {
    4201           26 :                 CASE_CONVERT:
    4202           26 :                   {
    4203           26 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4204           26 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4205              :                       {
    4206            0 :                         {
    4207            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4208            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4209            0 :                           if (res) return res;
    4210              :                         }
    4211              :                       }
    4212              :                     break;
    4213              :                   }
    4214        29835 :                 default:;
    4215              :                 }
    4216        29835 :               switch (TREE_CODE (_q40))
    4217              :                 {
    4218         4003 :                 CASE_CONVERT:
    4219         4003 :                   {
    4220         4003 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4221         4003 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4222              :                       {
    4223            0 :                         {
    4224            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4225            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4226            0 :                           if (res) return res;
    4227              :                         }
    4228              :                       }
    4229              :                     break;
    4230              :                   }
    4231        29835 :                 default:;
    4232              :                 }
    4233        29835 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4234              :                 {
    4235            0 :                   {
    4236            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4237            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4238            0 :                     if (res) return res;
    4239              :                   }
    4240              :                 }
    4241        29835 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4242              :                 {
    4243            0 :                   {
    4244            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4245            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4246            0 :                     if (res) return res;
    4247              :                   }
    4248              :                 }
    4249              :               break;
    4250              :             }
    4251      4847737 :           default:;
    4252              :           }
    4253      4847737 :       {
    4254      4847737 :         tree _p1_pops[1];
    4255      4847737 :         if (tree_nop_convert (_p1, _p1_pops))
    4256              :           {
    4257       853831 :             tree _q40 = _p1_pops[0];
    4258       853831 :             switch (TREE_CODE (_q40))
    4259              :               {
    4260          472 :               case PLUS_EXPR:
    4261          472 :                 {
    4262          472 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4263          472 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4264          472 :                   switch (TREE_CODE (_q51))
    4265              :                     {
    4266            0 :                     CASE_CONVERT:
    4267            0 :                       {
    4268            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4269            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4270              :                           {
    4271            0 :                             {
    4272            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4273            0 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4274            0 :                               if (res) return res;
    4275              :                             }
    4276              :                           }
    4277              :                         break;
    4278              :                       }
    4279          472 :                     default:;
    4280              :                     }
    4281          472 :                   switch (TREE_CODE (_q50))
    4282              :                     {
    4283          403 :                     CASE_CONVERT:
    4284          403 :                       {
    4285          403 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4286          403 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4287              :                           {
    4288            0 :                             {
    4289            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4290            0 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4291            0 :                               if (res) return res;
    4292              :                             }
    4293              :                           }
    4294              :                         break;
    4295              :                       }
    4296          472 :                     default:;
    4297              :                     }
    4298          472 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4299              :                     {
    4300            0 :                       {
    4301            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4302            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4303            0 :                         if (res) return res;
    4304              :                       }
    4305              :                     }
    4306          472 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4307              :                     {
    4308            0 :                       {
    4309            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4310            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4311            0 :                         if (res) return res;
    4312              :                       }
    4313              :                     }
    4314              :                   break;
    4315              :                 }
    4316              :               default:;
    4317              :               }
    4318              :           }
    4319              :       }
    4320      4847737 :         break;
    4321              :       }
    4322     26530908 :     default:;
    4323              :     }
    4324     26530908 : {
    4325     26530908 :   tree _p0_pops[1];
    4326     26530908 :   if (tree_nop_convert (_p0, _p0_pops))
    4327              :     {
    4328      2769826 :       tree _q20 = _p0_pops[0];
    4329      2769826 :       switch (TREE_CODE (_q20))
    4330              :         {
    4331            1 :         case LSHIFT_EXPR:
    4332            1 :           {
    4333            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4334            1 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4335            1 :             switch (TREE_CODE (_p1))
    4336              :               {
    4337            0 :               CASE_CONVERT:
    4338            0 :                 {
    4339            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4340            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4341              :                     {
    4342            0 :                       {
    4343            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4344            0 :                         tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4345            0 :                         if (res) return res;
    4346              :                       }
    4347              :                     }
    4348              :                   break;
    4349              :                 }
    4350            1 :               default:;
    4351              :               }
    4352            1 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4353              :               {
    4354            1 :                 {
    4355            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4356            1 :                   tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4357            1 :                   if (res) return res;
    4358              :                 }
    4359              :               }
    4360              :             break;
    4361              :           }
    4362         2361 :         case PLUS_EXPR:
    4363         2361 :           {
    4364         2361 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4365         2361 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4366         2361 :             switch (TREE_CODE (_q31))
    4367              :               {
    4368            0 :               CASE_CONVERT:
    4369            0 :                 {
    4370            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4371            0 :                   switch (TREE_CODE (_p1))
    4372              :                     {
    4373            0 :                     CASE_CONVERT:
    4374            0 :                       {
    4375            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4376            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4377              :                           {
    4378            0 :                             {
    4379            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4380            0 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4381            0 :                               if (res) return res;
    4382              :                             }
    4383              :                           }
    4384              :                         break;
    4385              :                       }
    4386              :                     default:;
    4387              :                     }
    4388              :                   break;
    4389              :                 }
    4390         2361 :               default:;
    4391              :               }
    4392         2361 :             switch (TREE_CODE (_q30))
    4393              :               {
    4394         1173 :               CASE_CONVERT:
    4395         1173 :                 {
    4396         1173 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4397         1173 :                   switch (TREE_CODE (_p1))
    4398              :                     {
    4399           10 :                     CASE_CONVERT:
    4400           10 :                       {
    4401           10 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4402           10 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4403              :                           {
    4404            0 :                             {
    4405            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4406            0 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4407            0 :                               if (res) return res;
    4408              :                             }
    4409              :                           }
    4410              :                         break;
    4411              :                       }
    4412         1173 :                     default:;
    4413              :                     }
    4414         1173 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4415              :                     {
    4416            0 :                       {
    4417            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4418            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4419            0 :                         if (res) return res;
    4420              :                       }
    4421              :                     }
    4422              :                   break;
    4423              :                 }
    4424         2361 :               default:;
    4425              :               }
    4426         2361 :             switch (TREE_CODE (_q31))
    4427              :               {
    4428            0 :               CASE_CONVERT:
    4429            0 :                 {
    4430            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4431            0 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4432              :                     {
    4433            0 :                       {
    4434            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4435            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4436            0 :                         if (res) return res;
    4437              :                       }
    4438              :                     }
    4439              :                   break;
    4440              :                 }
    4441         2361 :               default:;
    4442              :               }
    4443         2361 :             switch (TREE_CODE (_p1))
    4444              :               {
    4445           79 :               CASE_CONVERT:
    4446           79 :                 {
    4447           79 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4448           79 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4449              :                     {
    4450            0 :                       {
    4451            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4452            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4453            0 :                         if (res) return res;
    4454              :                       }
    4455              :                     }
    4456           79 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4457              :                     {
    4458            0 :                       {
    4459            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4460            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4461            0 :                         if (res) return res;
    4462              :                       }
    4463              :                     }
    4464              :                   break;
    4465              :                 }
    4466         2361 :               default:;
    4467              :               }
    4468         2361 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4469              :               {
    4470            0 :                 {
    4471            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4472            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4473            0 :                   if (res) return res;
    4474              :                 }
    4475              :               }
    4476         2361 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4477              :               {
    4478            0 :                 {
    4479            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4480            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4481            0 :                   if (res) return res;
    4482              :                 }
    4483              :               }
    4484              :             break;
    4485              :           }
    4486              :         default:;
    4487              :         }
    4488              :     }
    4489              : }
    4490     26530907 :   {
    4491     26530907 :     tree _p1_pops[1];
    4492     26530907 :     if (tree_nop_convert (_p1, _p1_pops))
    4493              :       {
    4494      1081221 :         tree _q30 = _p1_pops[0];
    4495      1081221 :         switch (TREE_CODE (_q30))
    4496              :           {
    4497            0 :           case LSHIFT_EXPR:
    4498            0 :             {
    4499            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4500            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4501            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4502              :                 {
    4503            0 :                   {
    4504            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4505            0 :                     tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4506            0 :                     if (res) return res;
    4507              :                   }
    4508              :                 }
    4509              :               break;
    4510              :             }
    4511              :           default:;
    4512              :           }
    4513              :       }
    4514              :   }
    4515     26530907 :   switch (TREE_CODE (_p0))
    4516              :     {
    4517         1733 :     case LSHIFT_EXPR:
    4518         1733 :       {
    4519         1733 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4520         1733 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4521         1733 :         switch (TREE_CODE (_p1))
    4522              :           {
    4523           61 :           CASE_CONVERT:
    4524           61 :             {
    4525           61 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4526           61 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4527              :                 {
    4528            4 :                   {
    4529            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4530            4 :                     tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4531            4 :                     if (res) return res;
    4532              :                   }
    4533              :                 }
    4534              :               break;
    4535              :             }
    4536         1732 :           default:;
    4537              :           }
    4538         1732 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4539              :           {
    4540           27 :             {
    4541           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4542           27 :               tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4543           27 :               if (res) return res;
    4544              :             }
    4545              :           }
    4546         1728 :         if (tree_zero_one_valued_p (_q20))
    4547              :           {
    4548          233 :             switch (TREE_CODE (_q21))
    4549              :               {
    4550           10 :               case INTEGER_CST:
    4551           10 :                 {
    4552           10 :                   if (integer_zerop (_p1))
    4553              :                     {
    4554            2 :                       {
    4555            2 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4556            2 :                         if (tree_fits_shwi_p (captures[1])
    4557            2 :  && tree_to_shwi (captures[1]) > 0
    4558            4 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    4559              : )
    4560              :                           {
    4561            2 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1483;
    4562            2 :                             {
    4563            2 :                               tree res_op0;
    4564            2 :                               res_op0 = captures[0];
    4565            2 :                               tree res_op1;
    4566            2 :                               res_op1 = captures[2];
    4567            2 :                               tree _r;
    4568            2 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    4569            2 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    4570            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4571            2 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4572            2 :                               return _r;
    4573              :                             }
    4574            0 : next_after_fail1483:;
    4575              :                           }
    4576              :                       }
    4577              :                     }
    4578              :                   break;
    4579              :                 }
    4580              :               default:;
    4581              :               }
    4582              :           }
    4583              :         break;
    4584              :       }
    4585     26530900 :     default:;
    4586              :     }
    4587     26530900 :   switch (TREE_CODE (_p1))
    4588              :     {
    4589          154 :     case LSHIFT_EXPR:
    4590          154 :       {
    4591          154 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4592          154 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4593          154 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4594              :           {
    4595            0 :             {
    4596            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4597            0 :               tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4598            0 :               if (res) return res;
    4599              :             }
    4600              :           }
    4601              :         break;
    4602              :       }
    4603     26530900 :     default:;
    4604              :     }
    4605     26530900 :   switch (TREE_CODE (_p0))
    4606              :     {
    4607        45860 :     case VIEW_CONVERT_EXPR:
    4608        45860 :       {
    4609        45860 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4610        45860 :         if (tree_zero_one_valued_p (_q20))
    4611              :           {
    4612            0 :             if (integer_zerop (_p1))
    4613              :               {
    4614            0 :                 {
    4615            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4616            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4617            0 :                   if (res) return res;
    4618              :                 }
    4619              :               }
    4620              :           }
    4621              :         break;
    4622              :       }
    4623        16575 :     case RSHIFT_EXPR:
    4624        16575 :       {
    4625        16575 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4626        16575 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4627        16575 :         switch (TREE_CODE (_q21))
    4628              :           {
    4629        15595 :           case INTEGER_CST:
    4630        15595 :             {
    4631        15595 :               switch (TREE_CODE (_p1))
    4632              :                 {
    4633           58 :                 case RSHIFT_EXPR:
    4634           58 :                   {
    4635           58 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4636           58 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4637           58 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4638              :                       {
    4639           14 :                         switch (TREE_CODE (_q51))
    4640              :                           {
    4641           14 :                           case INTEGER_CST:
    4642           14 :                             {
    4643           14 :                               {
    4644           14 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4645           14 :                                 tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    4646           14 :                                 if (res) return res;
    4647              :                               }
    4648           13 :                               break;
    4649              :                             }
    4650              :                           default:;
    4651              :                           }
    4652              :                       }
    4653              :                     break;
    4654              :                   }
    4655        15594 :                 default:;
    4656              :                 }
    4657        15594 :             if (integer_zerop (_p1))
    4658              :               {
    4659         1511 :                 {
    4660         1511 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4661         1511 :                   tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    4662         1511 :                   if (res) return res;
    4663              :                 }
    4664              :               }
    4665              :               break;
    4666              :             }
    4667              :           default:;
    4668              :           }
    4669              :         break;
    4670              :       }
    4671       823294 :     case BIT_AND_EXPR:
    4672       823294 :       {
    4673       823294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4674       823294 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4675       823294 :         if (tree_truth_valued_p (_q20))
    4676              :           {
    4677           21 :             if (tree_truth_valued_p (_q21))
    4678              :               {
    4679           20 :                 switch (TREE_CODE (_p1))
    4680              :                   {
    4681            0 :                   case BIT_XOR_EXPR:
    4682            0 :                     {
    4683            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    4684            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    4685            0 :                       if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4686              :                         {
    4687            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4688              :                             {
    4689            0 :                               {
    4690            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4691            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1484;
    4692            0 :                                 {
    4693            0 :                                   tree res_op0;
    4694            0 :                                   {
    4695            0 :                                     tree _o1[2], _r1;
    4696            0 :                                     _o1[0] = captures[0];
    4697            0 :                                     _o1[1] = captures[1];
    4698            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4699            0 :                                     res_op0 = _r1;
    4700              :                                   }
    4701            0 :                                   tree _r;
    4702            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4703            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    4704            0 :                                   return _r;
    4705              :                                 }
    4706            0 : next_after_fail1484:;
    4707              :                               }
    4708              :                             }
    4709              :                         }
    4710            0 :                       if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4711              :                         {
    4712            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4713              :                             {
    4714            0 :                               {
    4715            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4716            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1485;
    4717            0 :                                 {
    4718            0 :                                   tree res_op0;
    4719            0 :                                   {
    4720            0 :                                     tree _o1[2], _r1;
    4721            0 :                                     _o1[0] = captures[0];
    4722            0 :                                     _o1[1] = captures[1];
    4723            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4724            0 :                                     res_op0 = _r1;
    4725              :                                   }
    4726            0 :                                   tree _r;
    4727            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4728            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    4729            0 :                                   return _r;
    4730              :                                 }
    4731            0 : next_after_fail1485:;
    4732              :                               }
    4733              :                             }
    4734              :                         }
    4735              :                       break;
    4736              :                     }
    4737              :                   default:;
    4738              :                   }
    4739              :               }
    4740              :           }
    4741              :         break;
    4742              :       }
    4743          581 :     case BIT_XOR_EXPR:
    4744          581 :       {
    4745          581 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4746          581 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4747          581 :         switch (TREE_CODE (_p1))
    4748              :           {
    4749            0 :           case BIT_AND_EXPR:
    4750            0 :             {
    4751            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4752            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4753            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4754              :                 {
    4755            0 :                   if (tree_truth_valued_p (_q50))
    4756              :                     {
    4757            0 :                       if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4758              :                         {
    4759            0 :                           if (tree_truth_valued_p (_q51))
    4760              :                             {
    4761            0 :                               {
    4762            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4763            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1486;
    4764            0 :                                 {
    4765            0 :                                   tree res_op0;
    4766            0 :                                   {
    4767            0 :                                     tree _o1[2], _r1;
    4768            0 :                                     _o1[0] = captures[0];
    4769            0 :                                     _o1[1] = captures[1];
    4770            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4771            0 :                                     res_op0 = _r1;
    4772              :                                   }
    4773            0 :                                   tree _r;
    4774            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4775            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    4776            0 :                                   return _r;
    4777              :                                 }
    4778            0 : next_after_fail1486:;
    4779              :                               }
    4780              :                             }
    4781              :                         }
    4782              :                     }
    4783              :                 }
    4784            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4785              :                 {
    4786            0 :                   if (tree_truth_valued_p (_q50))
    4787              :                     {
    4788            0 :                       if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4789              :                         {
    4790            0 :                           if (tree_truth_valued_p (_q51))
    4791              :                             {
    4792            0 :                               {
    4793            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4794            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1487;
    4795            0 :                                 {
    4796            0 :                                   tree res_op0;
    4797            0 :                                   {
    4798            0 :                                     tree _o1[2], _r1;
    4799            0 :                                     _o1[0] = captures[0];
    4800            0 :                                     _o1[1] = captures[1];
    4801            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4802            0 :                                     res_op0 = _r1;
    4803              :                                   }
    4804            0 :                                   tree _r;
    4805            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4806            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    4807            0 :                                   return _r;
    4808              :                                 }
    4809            0 : next_after_fail1487:;
    4810              :                               }
    4811              :                             }
    4812              :                         }
    4813              :                     }
    4814              :                 }
    4815              :               break;
    4816              :             }
    4817              :           default:;
    4818              :           }
    4819              :         break;
    4820              :       }
    4821          404 :     case BIT_NOT_EXPR:
    4822          404 :       {
    4823          404 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4824          404 :         if (tree_truth_valued_p (_q20))
    4825              :           {
    4826            0 :             if (tree_truth_valued_p (_p1))
    4827              :               {
    4828            0 :                 {
    4829            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    4830            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures);
    4831            0 :                   if (res) return res;
    4832              :                 }
    4833              :               }
    4834              :           }
    4835              :         break;
    4836              :       }
    4837        64390 :     case MULT_EXPR:
    4838        64390 :       {
    4839        64390 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4840        64390 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4841        64390 :         switch (TREE_CODE (_p1))
    4842              :           {
    4843          813 :           case MULT_EXPR:
    4844          813 :             {
    4845          813 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4846          813 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4847          813 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4848              :                 {
    4849          502 :                   {
    4850          502 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4851          502 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4852          502 :                     if (res) return res;
    4853              :                   }
    4854              :                 }
    4855          797 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4856              :                 {
    4857            0 :                   {
    4858            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4859            0 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4860            0 :                     if (res) return res;
    4861              :                   }
    4862              :                 }
    4863          797 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4864              :                 {
    4865            0 :                   {
    4866            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4867            0 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4868            0 :                     if (res) return res;
    4869              :                   }
    4870              :                 }
    4871          797 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4872              :                 {
    4873           19 :                   {
    4874           19 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4875           19 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4876           19 :                     if (res) return res;
    4877              :                   }
    4878              :                 }
    4879              :               break;
    4880              :             }
    4881        64374 :           default:;
    4882              :           }
    4883        64374 :         switch (TREE_CODE (_q21))
    4884              :           {
    4885        56528 :           case INTEGER_CST:
    4886        56528 :             {
    4887        56528 :               switch (TREE_CODE (_p1))
    4888              :                 {
    4889          760 :                 case MULT_EXPR:
    4890          760 :                   {
    4891          760 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4892          760 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4893          760 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4894              :                       {
    4895          454 :                         {
    4896          454 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4897          454 :                           tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4898          454 :                           if (res) return res;
    4899              :                         }
    4900              :                       }
    4901              :                     break;
    4902              :                   }
    4903              :                 default:;
    4904              :                 }
    4905              :               break;
    4906              :             }
    4907              :           default:;
    4908              :           }
    4909              :         break;
    4910              :       }
    4911         6788 :     case EXACT_DIV_EXPR:
    4912         6788 :       {
    4913         6788 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4914         6788 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4915         6788 :         switch (TREE_CODE (_q21))
    4916              :           {
    4917         6788 :           case INTEGER_CST:
    4918         6788 :             {
    4919         6788 :               switch (TREE_CODE (_p1))
    4920              :                 {
    4921            0 :                 case EXACT_DIV_EXPR:
    4922            0 :                   {
    4923            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4924            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4925            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4926              :                       {
    4927            0 :                         {
    4928            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    4929            0 :                           tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4930            0 :                           if (res) return res;
    4931              :                         }
    4932              :                       }
    4933              :                     break;
    4934              :                   }
    4935              :                 default:;
    4936              :                 }
    4937              :               break;
    4938              :             }
    4939              :           default:;
    4940              :           }
    4941              :         break;
    4942              :       }
    4943         5287 :     case TRUNC_DIV_EXPR:
    4944         5287 :       {
    4945         5287 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4946         5287 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4947         5287 :         switch (TREE_CODE (_q21))
    4948              :           {
    4949         3801 :           case INTEGER_CST:
    4950         3801 :             {
    4951         3801 :               switch (TREE_CODE (_p1))
    4952              :                 {
    4953          986 :                 case INTEGER_CST:
    4954          986 :                   {
    4955          986 :                     {
    4956          986 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4957          986 :                       tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4958          986 :                       if (res) return res;
    4959              :                     }
    4960           21 :                     break;
    4961              :                   }
    4962              :                 default:;
    4963              :                 }
    4964              :               break;
    4965              :             }
    4966              :           default:;
    4967              :           }
    4968              :         break;
    4969              :       }
    4970       657002 :     case PLUS_EXPR:
    4971       657002 :       {
    4972       657002 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4973       657002 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4974       657002 :         switch (TREE_CODE (_p1))
    4975              :           {
    4976        49843 :           case PLUS_EXPR:
    4977        49843 :             {
    4978        49843 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4979        49843 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4980        49843 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4981              :                 {
    4982          380 :                   {
    4983          380 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4984          760 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4985          688 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4986          266 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4987              : )
    4988              :                       {
    4989          308 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1488;
    4990          308 :                         {
    4991          308 :                           tree res_op0;
    4992          308 :                           res_op0 = captures[0];
    4993          308 :                           tree res_op1;
    4994          308 :                           res_op1 = captures[2];
    4995          308 :                           tree _r;
    4996          308 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    4997          308 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4998            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4999          308 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5000          308 :                           return _r;
    5001              :                         }
    5002            0 : next_after_fail1488:;
    5003              :                       }
    5004              :                   }
    5005              :                 }
    5006        49535 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5007              :                 {
    5008            2 :                   {
    5009            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5010            4 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5011            2 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5012            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5013              : )
    5014              :                       {
    5015            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1489;
    5016            0 :                         {
    5017            0 :                           tree res_op0;
    5018            0 :                           res_op0 = captures[0];
    5019            0 :                           tree res_op1;
    5020            0 :                           res_op1 = captures[2];
    5021            0 :                           tree _r;
    5022            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5023            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5024            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5025            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5026            0 :                           return _r;
    5027              :                         }
    5028            0 : next_after_fail1489:;
    5029              :                       }
    5030              :                   }
    5031              :                 }
    5032        49535 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5033              :                 {
    5034            2 :                   {
    5035            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5036            4 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5037            2 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5038            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5039              : )
    5040              :                       {
    5041            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1490;
    5042            0 :                         {
    5043            0 :                           tree res_op0;
    5044            0 :                           res_op0 = captures[0];
    5045            0 :                           tree res_op1;
    5046            0 :                           res_op1 = captures[2];
    5047            0 :                           tree _r;
    5048            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5049            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5050            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5051            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5052            0 :                           return _r;
    5053              :                         }
    5054            0 : next_after_fail1490:;
    5055              :                       }
    5056              :                   }
    5057              :                 }
    5058        49535 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5059              :                 {
    5060           47 :                   {
    5061           47 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5062           94 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5063           47 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5064            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5065              : )
    5066              :                       {
    5067            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1491;
    5068            0 :                         {
    5069            0 :                           tree res_op0;
    5070            0 :                           res_op0 = captures[0];
    5071            0 :                           tree res_op1;
    5072            0 :                           res_op1 = captures[2];
    5073            0 :                           tree _r;
    5074            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5075            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5076            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5077            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5078            0 :                           return _r;
    5079              :                         }
    5080            0 : next_after_fail1491:;
    5081              :                       }
    5082              :                   }
    5083              :                 }
    5084              :               break;
    5085              :             }
    5086       656694 :           default:;
    5087              :           }
    5088       656694 :         switch (TREE_CODE (_q21))
    5089              :           {
    5090         2716 :           CASE_CONVERT:
    5091         2716 :             {
    5092         2716 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5093         2716 :               switch (TREE_CODE (_p1))
    5094              :                 {
    5095          158 :                 CASE_CONVERT:
    5096          158 :                   {
    5097          158 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5098          158 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    5099              :                       {
    5100            0 :                         {
    5101            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5102            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5103            0 :                           if (res) return res;
    5104              :                         }
    5105              :                       }
    5106              :                     break;
    5107              :                   }
    5108              :                 default:;
    5109              :                 }
    5110              :               break;
    5111              :             }
    5112       656694 :           default:;
    5113              :           }
    5114       656694 :         switch (TREE_CODE (_q20))
    5115              :           {
    5116        26378 :           CASE_CONVERT:
    5117        26378 :             {
    5118        26378 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5119        26378 :               switch (TREE_CODE (_p1))
    5120              :                 {
    5121          367 :                 CASE_CONVERT:
    5122          367 :                   {
    5123          367 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5124          367 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5125              :                       {
    5126            1 :                         {
    5127            1 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5128            1 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5129            1 :                           if (res) return res;
    5130              :                         }
    5131              :                       }
    5132              :                     break;
    5133              :                   }
    5134        26377 :                 default:;
    5135              :                 }
    5136        26377 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5137              :                 {
    5138            0 :                   {
    5139            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5140            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5141            0 :                     if (res) return res;
    5142              :                   }
    5143              :                 }
    5144              :               break;
    5145              :             }
    5146       656693 :           default:;
    5147              :           }
    5148       656693 :         switch (TREE_CODE (_q21))
    5149              :           {
    5150         2716 :           CASE_CONVERT:
    5151         2716 :             {
    5152         2716 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5153         2716 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5154              :                 {
    5155            0 :                   {
    5156            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5157            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5158            0 :                     if (res) return res;
    5159              :                   }
    5160              :                 }
    5161              :               break;
    5162              :             }
    5163       656693 :           default:;
    5164              :           }
    5165       656693 :         switch (TREE_CODE (_p1))
    5166              :           {
    5167        14145 :           CASE_CONVERT:
    5168        14145 :             {
    5169        14145 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5170        14145 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5171              :                 {
    5172            0 :                   {
    5173            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5174            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5175            0 :                     if (res) return res;
    5176              :                   }
    5177              :                 }
    5178        14145 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5179              :                 {
    5180            0 :                   {
    5181            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5182            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5183            0 :                     if (res) return res;
    5184              :                   }
    5185              :                 }
    5186              :               break;
    5187              :             }
    5188       656693 :           default:;
    5189              :           }
    5190       656693 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5191              :           {
    5192         2368 :             {
    5193         2368 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5194         2368 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5195         2368 :               if (res) return res;
    5196              :             }
    5197              :           }
    5198       654387 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5199              :           {
    5200           67 :             {
    5201           67 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5202           67 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5203           67 :               if (res) return res;
    5204              :             }
    5205              :           }
    5206              :         break;
    5207              :       }
    5208        58822 :     case POINTER_PLUS_EXPR:
    5209        58822 :       {
    5210        58822 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5211        58822 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5212        58822 :         switch (TREE_CODE (_p1))
    5213              :           {
    5214         2576 :           case POINTER_PLUS_EXPR:
    5215         2576 :             {
    5216         2576 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5217         2576 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5218         2576 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5219              :                 {
    5220           14 :                   {
    5221           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5222           14 :                     tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5223           14 :                     if (res) return res;
    5224              :                   }
    5225              :                 }
    5226              :               break;
    5227              :             }
    5228        58808 :           default:;
    5229              :           }
    5230        58808 :         switch (TREE_CODE (_q20))
    5231              :           {
    5232         1112 :           CASE_CONVERT:
    5233         1112 :             {
    5234         1112 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5235         1112 :               switch (TREE_CODE (_p1))
    5236              :                 {
    5237           84 :                 CASE_CONVERT:
    5238           84 :                   {
    5239           84 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5240           84 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5241              :                       {
    5242           54 :                         {
    5243           54 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5244           54 :                           tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5245           54 :                           if (res) return res;
    5246              :                         }
    5247              :                       }
    5248              :                     break;
    5249              :                   }
    5250         1058 :                 default:;
    5251              :                 }
    5252         1058 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5253              :                 {
    5254            0 :                   {
    5255            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5256            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5257            0 :                     if (res) return res;
    5258              :                   }
    5259              :                 }
    5260              :               break;
    5261              :             }
    5262        58754 :           default:;
    5263              :           }
    5264        58754 :         switch (TREE_CODE (_p1))
    5265              :           {
    5266          385 :           CASE_CONVERT:
    5267          385 :             {
    5268          385 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5269          385 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5270              :                 {
    5271            0 :                   {
    5272            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5273            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5274            0 :                     if (res) return res;
    5275              :                   }
    5276              :                 }
    5277              :               break;
    5278              :             }
    5279        58754 :           default:;
    5280              :           }
    5281        58754 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5282              :           {
    5283         1291 :             {
    5284         1291 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5285         1291 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5286         1291 :               if (res) return res;
    5287              :             }
    5288              :           }
    5289              :         break;
    5290              :       }
    5291       152261 :     case MINUS_EXPR:
    5292       152261 :       {
    5293       152261 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5294       152261 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5295       152261 :         switch (TREE_CODE (_p1))
    5296              :           {
    5297          165 :           case MINUS_EXPR:
    5298          165 :             {
    5299          165 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5300          165 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5301          165 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5302              :                 {
    5303           25 :                   {
    5304           25 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5305           50 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5306           25 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5307            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5308              : )
    5309              :                       {
    5310            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1492;
    5311            0 :                         {
    5312            0 :                           tree res_op0;
    5313            0 :                           res_op0 = captures[0];
    5314            0 :                           tree res_op1;
    5315            0 :                           res_op1 = captures[2];
    5316            0 :                           tree _r;
    5317            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5318            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5319            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5320            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
    5321            0 :                           return _r;
    5322              :                         }
    5323            0 : next_after_fail1492:;
    5324              :                       }
    5325              :                   }
    5326              :                 }
    5327          165 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5328              :                 {
    5329           25 :                   {
    5330           25 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5331           50 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5332           25 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5333            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5334              : )
    5335              :                       {
    5336            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1493;
    5337            0 :                         {
    5338            0 :                           tree res_op0;
    5339            0 :                           res_op0 = captures[2];
    5340            0 :                           tree res_op1;
    5341            0 :                           res_op1 = captures[1];
    5342            0 :                           tree _r;
    5343            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5344            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5345            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5346            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 924, __FILE__, __LINE__, true);
    5347            0 :                           return _r;
    5348              :                         }
    5349            0 : next_after_fail1493:;
    5350              :                       }
    5351              :                   }
    5352              :                 }
    5353              :               break;
    5354              :             }
    5355       152261 :           default:;
    5356              :           }
    5357       152261 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5358              :           {
    5359           77 :             {
    5360           77 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5361           77 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5362           77 :               if (res) return res;
    5363              :             }
    5364              :           }
    5365              :         break;
    5366              :       }
    5367        30736 :     case POINTER_DIFF_EXPR:
    5368        30736 :       {
    5369        30736 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5370        30736 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5371        30736 :         switch (TREE_CODE (_p1))
    5372              :           {
    5373          971 :           case POINTER_DIFF_EXPR:
    5374          971 :             {
    5375          971 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5376          971 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5377          971 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5378              :                 {
    5379            0 :                   {
    5380            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5381            0 :                     tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5382            0 :                     if (res) return res;
    5383              :                   }
    5384              :                 }
    5385          971 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5386              :                 {
    5387            0 :                   {
    5388            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5389            0 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5390            0 :                     if (res) return res;
    5391              :                   }
    5392              :                 }
    5393              :               break;
    5394              :             }
    5395              :           default:;
    5396              :           }
    5397              :         break;
    5398              :       }
    5399     26525775 :     default:;
    5400              :     }
    5401     26525775 : {
    5402     26525775 :   tree _p0_pops[1];
    5403     26525775 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    5404              :     {
    5405         7826 :       tree _q20 = _p0_pops[0];
    5406         7826 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5407              :         {
    5408            9 :           if (tree_truth_valued_p (_p1))
    5409              :             {
    5410            0 :               {
    5411            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5412            0 :                 tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5413            0 :                 if (res) return res;
    5414              :               }
    5415              :             }
    5416              :         }
    5417              :     }
    5418              : }
    5419     26525775 : if (tree_truth_valued_p (_p0))
    5420              :   {
    5421       629001 :     switch (TREE_CODE (_p1))
    5422              :       {
    5423           24 :       case BIT_NOT_EXPR:
    5424           24 :         {
    5425           24 :           tree _q30 = TREE_OPERAND (_p1, 0);
    5426           24 :           if (tree_truth_valued_p (_q30))
    5427              :             {
    5428            4 :               {
    5429            4 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5430            4 :                 tree res = generic_simplify_209 (loc, type, _p0, _p1, captures);
    5431            4 :                 if (res) return res;
    5432              :               }
    5433              :             }
    5434              :           break;
    5435              :         }
    5436       629001 :       default:;
    5437              :       }
    5438       629001 :   {
    5439       629001 :     tree _p1_pops[1];
    5440       629001 :     if (tree_logical_inverted_value (_p1, _p1_pops))
    5441              :       {
    5442           90 :         tree _q30 = _p1_pops[0];
    5443           90 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5444              :           {
    5445            0 :             {
    5446            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5447            0 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5448            0 :               if (res) return res;
    5449              :             }
    5450              :           }
    5451              :       }
    5452              :   }
    5453              :   }
    5454     26525775 :   switch (TREE_CODE (_p1))
    5455              :     {
    5456        84333 :     case PLUS_EXPR:
    5457        84333 :       {
    5458        84333 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5459        84333 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5460        84333 :         switch (TREE_CODE (_q31))
    5461              :           {
    5462           26 :           CASE_CONVERT:
    5463           26 :             {
    5464           26 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5465           26 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5466              :                 {
    5467            0 :                   {
    5468            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5469            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5470            0 :                     if (res) return res;
    5471              :                   }
    5472              :                 }
    5473              :               break;
    5474              :             }
    5475        84333 :           default:;
    5476              :           }
    5477        84333 :         switch (TREE_CODE (_q30))
    5478              :           {
    5479        20311 :           CASE_CONVERT:
    5480        20311 :             {
    5481        20311 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5482        20311 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5483              :                 {
    5484            0 :                   {
    5485            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5486            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5487            0 :                     if (res) return res;
    5488              :                   }
    5489              :                 }
    5490              :               break;
    5491              :             }
    5492        84333 :           default:;
    5493              :           }
    5494        84333 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5495              :           {
    5496            0 :             {
    5497            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5498            0 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5499            0 :               if (res) return res;
    5500              :             }
    5501              :           }
    5502        84333 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5503              :           {
    5504            0 :             {
    5505            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5506            0 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5507            0 :               if (res) return res;
    5508              :             }
    5509              :           }
    5510              :         break;
    5511              :       }
    5512     26525775 :     default:;
    5513              :     }
    5514     26525775 : {
    5515     26525775 :   tree _p1_pops[1];
    5516     26525775 :   if (tree_nop_convert (_p1, _p1_pops))
    5517              :     {
    5518      1081164 :       tree _q30 = _p1_pops[0];
    5519      1081164 :       switch (TREE_CODE (_q30))
    5520              :         {
    5521         1725 :         case PLUS_EXPR:
    5522         1725 :           {
    5523         1725 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5524         1725 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5525         1725 :             switch (TREE_CODE (_q41))
    5526              :               {
    5527            2 :               CASE_CONVERT:
    5528            2 :                 {
    5529            2 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5530            2 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5531              :                     {
    5532            0 :                       {
    5533            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5534            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5535            0 :                         if (res) return res;
    5536              :                       }
    5537              :                     }
    5538              :                   break;
    5539              :                 }
    5540         1725 :               default:;
    5541              :               }
    5542         1725 :             switch (TREE_CODE (_q40))
    5543              :               {
    5544         1619 :               CASE_CONVERT:
    5545         1619 :                 {
    5546         1619 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5547         1619 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5548              :                     {
    5549            0 :                       {
    5550            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5551            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5552            0 :                         if (res) return res;
    5553              :                       }
    5554              :                     }
    5555              :                   break;
    5556              :                 }
    5557         1725 :               default:;
    5558              :               }
    5559         1725 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5560              :               {
    5561            0 :                 {
    5562            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5563            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5564            0 :                   if (res) return res;
    5565              :                 }
    5566              :               }
    5567         1725 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5568              :               {
    5569            0 :                 {
    5570            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5571            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5572            0 :                   if (res) return res;
    5573              :                 }
    5574              :               }
    5575              :             break;
    5576              :           }
    5577              :         default:;
    5578              :         }
    5579              :     }
    5580              : }
    5581     26525775 :   switch (TREE_CODE (_p0))
    5582              :     {
    5583      4847736 :     CASE_CONVERT:
    5584      4847736 :       {
    5585      4847736 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5586      4847736 :         switch (TREE_CODE (_p1))
    5587              :           {
    5588          151 :           case POINTER_PLUS_EXPR:
    5589          151 :             {
    5590          151 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5591          151 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5592          151 :               switch (TREE_CODE (_q40))
    5593              :                 {
    5594           96 :                 CASE_CONVERT:
    5595           96 :                   {
    5596           96 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5597           96 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5598              :                       {
    5599            3 :                         {
    5600            3 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5601            3 :                           tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5602            3 :                           if (res) return res;
    5603              :                         }
    5604              :                       }
    5605              :                     break;
    5606              :                   }
    5607          148 :                 default:;
    5608              :                 }
    5609          148 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    5610              :                 {
    5611            0 :                   {
    5612            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5613            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5614            0 :                     if (res) return res;
    5615              :                   }
    5616              :                 }
    5617              :               break;
    5618              :             }
    5619      4847733 :           default:;
    5620              :           }
    5621      4847733 :       {
    5622      4847733 :         tree _p1_pops[1];
    5623      4847733 :         if (tree_nop_convert (_p1, _p1_pops))
    5624              :           {
    5625       853831 :             tree _q40 = _p1_pops[0];
    5626       853831 :             switch (TREE_CODE (_q40))
    5627              :               {
    5628            6 :               case POINTER_PLUS_EXPR:
    5629            6 :                 {
    5630            6 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5631            6 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    5632            6 :                   switch (TREE_CODE (_q50))
    5633              :                     {
    5634            0 :                     CASE_CONVERT:
    5635            0 :                       {
    5636            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5637            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5638              :                           {
    5639            0 :                             {
    5640            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5641            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5642            0 :                               if (res) return res;
    5643              :                             }
    5644              :                           }
    5645              :                         break;
    5646              :                       }
    5647            6 :                     default:;
    5648              :                     }
    5649            6 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5650              :                     {
    5651            0 :                       {
    5652            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5653            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5654            0 :                         if (res) return res;
    5655              :                       }
    5656              :                     }
    5657              :                   break;
    5658              :                 }
    5659              :               default:;
    5660              :               }
    5661              :           }
    5662              :       }
    5663      4847733 :         break;
    5664              :       }
    5665     26525772 :     default:;
    5666              :     }
    5667     26525772 : {
    5668     26525772 :   tree _p0_pops[1];
    5669     26525772 :   if (tree_nop_convert (_p0, _p0_pops))
    5670              :     {
    5671      2769822 :       tree _q20 = _p0_pops[0];
    5672      2769822 :       switch (TREE_CODE (_q20))
    5673              :         {
    5674           97 :         case POINTER_PLUS_EXPR:
    5675           97 :           {
    5676           97 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5677           97 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5678           97 :             switch (TREE_CODE (_q30))
    5679              :               {
    5680           21 :               CASE_CONVERT:
    5681           21 :                 {
    5682           21 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5683           21 :                   switch (TREE_CODE (_p1))
    5684              :                     {
    5685            0 :                     CASE_CONVERT:
    5686            0 :                       {
    5687            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    5688            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5689              :                           {
    5690            0 :                             {
    5691            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5692            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5693            0 :                               if (res) return res;
    5694              :                             }
    5695              :                           }
    5696              :                         break;
    5697              :                       }
    5698           21 :                     default:;
    5699              :                     }
    5700           21 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5701              :                     {
    5702            0 :                       {
    5703            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5704            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5705            0 :                         if (res) return res;
    5706              :                       }
    5707              :                     }
    5708              :                   break;
    5709              :                 }
    5710           97 :               default:;
    5711              :               }
    5712           97 :             switch (TREE_CODE (_p1))
    5713              :               {
    5714           27 :               CASE_CONVERT:
    5715           27 :                 {
    5716           27 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5717           27 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5718              :                     {
    5719            0 :                       {
    5720            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5721            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5722            0 :                         if (res) return res;
    5723              :                       }
    5724              :                     }
    5725              :                   break;
    5726              :                 }
    5727           97 :               default:;
    5728              :               }
    5729           97 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5730              :               {
    5731            0 :                 {
    5732            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5733            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5734            0 :                   if (res) return res;
    5735              :                 }
    5736              :               }
    5737              :             break;
    5738              :           }
    5739              :         default:;
    5740              :         }
    5741              :     }
    5742              : }
    5743     26525772 :   switch (TREE_CODE (_p1))
    5744              :     {
    5745         6267 :     case POINTER_PLUS_EXPR:
    5746         6267 :       {
    5747         6267 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5748         6267 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5749         6267 :         switch (TREE_CODE (_q30))
    5750              :           {
    5751         3440 :           CASE_CONVERT:
    5752         3440 :             {
    5753         3440 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5754         3440 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5755              :                 {
    5756            0 :                   {
    5757            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5758            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5759            0 :                     if (res) return res;
    5760              :                   }
    5761              :                 }
    5762              :               break;
    5763              :             }
    5764         6267 :           default:;
    5765              :           }
    5766         6267 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5767              :           {
    5768            0 :             {
    5769            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5770            0 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5771            0 :               if (res) return res;
    5772              :             }
    5773              :           }
    5774              :         break;
    5775              :       }
    5776     26525772 :     default:;
    5777              :     }
    5778     26525772 : {
    5779     26525772 :   tree _p1_pops[1];
    5780     26525772 :   if (tree_nop_convert (_p1, _p1_pops))
    5781              :     {
    5782      1081164 :       tree _q30 = _p1_pops[0];
    5783      1081164 :       switch (TREE_CODE (_q30))
    5784              :         {
    5785           18 :         case POINTER_PLUS_EXPR:
    5786           18 :           {
    5787           18 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5788           18 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5789           18 :             switch (TREE_CODE (_q40))
    5790              :               {
    5791            0 :               CASE_CONVERT:
    5792            0 :                 {
    5793            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5794            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5795              :                     {
    5796            0 :                       {
    5797            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5798            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5799            0 :                         if (res) return res;
    5800              :                       }
    5801              :                     }
    5802              :                   break;
    5803              :                 }
    5804           18 :               default:;
    5805              :               }
    5806           18 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5807              :               {
    5808            0 :                 {
    5809            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5810            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5811            0 :                   if (res) return res;
    5812              :                 }
    5813              :               }
    5814              :             break;
    5815              :           }
    5816              :         default:;
    5817              :         }
    5818              :     }
    5819              : }
    5820     26525772 :   switch (TREE_CODE (_p0))
    5821              :     {
    5822        57463 :     case POINTER_PLUS_EXPR:
    5823        57463 :       {
    5824        57463 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5825        57463 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5826        57463 :         switch (TREE_CODE (_p1))
    5827              :           {
    5828        10071 :           case ADDR_EXPR:
    5829        10071 :             {
    5830        10071 :               {
    5831        10071 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5832        10071 :                 tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5833        10071 :                 if (res) return res;
    5834              :               }
    5835        10070 :               break;
    5836              :             }
    5837        57462 :           default:;
    5838              :           }
    5839        57462 :         switch (TREE_CODE (_q20))
    5840              :           {
    5841         1075 :           case ADDR_EXPR:
    5842         1075 :             {
    5843         1075 :               switch (TREE_CODE (_p1))
    5844              :                 {
    5845           15 :                 case POINTER_PLUS_EXPR:
    5846           15 :                   {
    5847           15 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5848           15 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5849           15 :                     switch (TREE_CODE (_q50))
    5850              :                       {
    5851            6 :                       case ADDR_EXPR:
    5852            6 :                         {
    5853            6 :                           {
    5854            6 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    5855            6 :                             tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5856            6 :                             if (res) return res;
    5857              :                           }
    5858            6 :                           break;
    5859              :                         }
    5860              :                       default:;
    5861              :                       }
    5862              :                     break;
    5863              :                   }
    5864              :                 default:;
    5865              :                 }
    5866              :               break;
    5867              :             }
    5868              :           default:;
    5869              :           }
    5870              :         break;
    5871              :       }
    5872        89345 :     case ADDR_EXPR:
    5873        89345 :       {
    5874        89345 :         switch (TREE_CODE (_p1))
    5875              :           {
    5876            0 :           case POINTER_PLUS_EXPR:
    5877            0 :             {
    5878            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    5879            0 :               tree _q31 = TREE_OPERAND (_p1, 1);
    5880            0 :               {
    5881            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5882            0 :                 tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5883            0 :                 if (res) return res;
    5884              :               }
    5885            0 :               break;
    5886              :             }
    5887              :           default:;
    5888              :           }
    5889              :         break;
    5890              :       }
    5891     26525771 :     default:;
    5892              :     }
    5893     26525771 :   switch (TREE_CODE (_p1))
    5894              :     {
    5895         3344 :     case MINUS_EXPR:
    5896         3344 :       {
    5897         3344 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5898         3344 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5899         3344 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5900              :           {
    5901            0 :             {
    5902            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5903            0 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5904            0 :               if (res) return res;
    5905              :             }
    5906              :           }
    5907              :         break;
    5908              :       }
    5909     26525771 :     default:;
    5910              :     }
    5911     26525771 :   switch (TREE_CODE (_p0))
    5912              :     {
    5913         4322 :     case TRUNC_DIV_EXPR:
    5914         4322 :       {
    5915         4322 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5916         4322 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5917         4322 :         if (integer_zerop (_p1))
    5918              :           {
    5919          331 :             {
    5920          331 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5921          331 :               tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    5922          331 :               if (res) return res;
    5923              :             }
    5924              :           }
    5925              :         break;
    5926              :       }
    5927      4847733 :     CASE_CONVERT:
    5928      4847733 :       {
    5929      4847733 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5930      4847733 :         switch (TREE_CODE (_p1))
    5931              :           {
    5932      1254657 :           CASE_CONVERT:
    5933      1254657 :             {
    5934      1254657 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5935      1254657 :               switch (TREE_CODE (_q40))
    5936              :                 {
    5937            0 :                 case MINUS_EXPR:
    5938            0 :                   {
    5939            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5940            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5941            0 :                     switch (TREE_CODE (_q50))
    5942              :                       {
    5943            0 :                       case INTEGER_CST:
    5944            0 :                         {
    5945            0 :                           switch (TREE_CODE (_q51))
    5946              :                             {
    5947            0 :                             CASE_CONVERT:
    5948            0 :                               {
    5949            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    5950            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    5951              :                                   {
    5952            0 :                                     {
    5953            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5954            0 :                                       tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5955            0 :                                       if (res) return res;
    5956              :                                     }
    5957              :                                   }
    5958              :                                 break;
    5959              :                               }
    5960              :                             default:;
    5961              :                             }
    5962              :                           break;
    5963              :                         }
    5964              :                       default:;
    5965              :                       }
    5966              :                     break;
    5967              :                   }
    5968              :                 default:;
    5969              :                 }
    5970              :               break;
    5971              :             }
    5972      4847733 :           default:;
    5973              :           }
    5974      4847733 :         switch (TREE_CODE (_q20))
    5975              :           {
    5976          242 :           case MINUS_EXPR:
    5977          242 :             {
    5978          242 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5979          242 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5980          242 :               switch (TREE_CODE (_q30))
    5981              :                 {
    5982           56 :                 case INTEGER_CST:
    5983           56 :                   {
    5984           56 :                     switch (TREE_CODE (_q31))
    5985              :                       {
    5986            0 :                       CASE_CONVERT:
    5987            0 :                         {
    5988            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    5989            0 :                           switch (TREE_CODE (_p1))
    5990              :                             {
    5991            0 :                             CASE_CONVERT:
    5992            0 :                               {
    5993            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    5994            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    5995              :                                   {
    5996            0 :                                     {
    5997            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    5998            0 :                                       tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5999            0 :                                       if (res) return res;
    6000              :                                     }
    6001              :                                   }
    6002              :                                 break;
    6003              :                               }
    6004            0 :                             default:;
    6005              :                             }
    6006            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6007              :                             {
    6008            0 :                               {
    6009            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6010            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6011            0 :                                 if (res) return res;
    6012              :                               }
    6013              :                             }
    6014              :                           break;
    6015              :                         }
    6016           56 :                       default:;
    6017              :                       }
    6018           56 :                     switch (TREE_CODE (_p1))
    6019              :                       {
    6020            0 :                       CASE_CONVERT:
    6021            0 :                         {
    6022            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6023            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6024              :                             {
    6025            0 :                               {
    6026            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6027            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6028            0 :                                 if (res) return res;
    6029              :                               }
    6030              :                             }
    6031              :                           break;
    6032              :                         }
    6033           56 :                       default:;
    6034              :                       }
    6035           56 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6036              :                       {
    6037            0 :                         {
    6038            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6039            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6040            0 :                           if (res) return res;
    6041              :                         }
    6042              :                       }
    6043              :                     break;
    6044              :                   }
    6045              :                 default:;
    6046              :                 }
    6047              :               break;
    6048              :             }
    6049      4847733 :           default:;
    6050              :           }
    6051      4847733 :         switch (TREE_CODE (_p1))
    6052              :           {
    6053      1254657 :           CASE_CONVERT:
    6054      1254657 :             {
    6055      1254657 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6056      1254657 :               switch (TREE_CODE (_q40))
    6057              :                 {
    6058            0 :                 case MINUS_EXPR:
    6059            0 :                   {
    6060            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6061            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6062            0 :                     switch (TREE_CODE (_q50))
    6063              :                       {
    6064            0 :                       case INTEGER_CST:
    6065            0 :                         {
    6066            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6067              :                             {
    6068            0 :                               {
    6069            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6070            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6071            0 :                                 if (res) return res;
    6072              :                               }
    6073              :                             }
    6074              :                           break;
    6075              :                         }
    6076              :                       default:;
    6077              :                       }
    6078              :                     break;
    6079              :                   }
    6080              :                 default:;
    6081              :                 }
    6082              :               break;
    6083              :             }
    6084          277 :           case MINUS_EXPR:
    6085          277 :             {
    6086          277 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6087          277 :               tree _q41 = TREE_OPERAND (_p1, 1);
    6088          277 :               switch (TREE_CODE (_q40))
    6089              :                 {
    6090           70 :                 case INTEGER_CST:
    6091           70 :                   {
    6092           70 :                     switch (TREE_CODE (_q41))
    6093              :                       {
    6094           12 :                       CASE_CONVERT:
    6095           12 :                         {
    6096           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6097           12 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6098              :                             {
    6099            0 :                               {
    6100            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6101            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6102            0 :                                 if (res) return res;
    6103              :                               }
    6104              :                             }
    6105              :                           break;
    6106              :                         }
    6107           70 :                       default:;
    6108              :                       }
    6109           70 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6110              :                       {
    6111            0 :                         {
    6112            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6113            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6114            0 :                           if (res) return res;
    6115              :                         }
    6116              :                       }
    6117              :                     break;
    6118              :                   }
    6119              :                 default:;
    6120              :                 }
    6121              :               break;
    6122              :             }
    6123              :           default:;
    6124              :           }
    6125              :         break;
    6126              :       }
    6127       152184 :     case MINUS_EXPR:
    6128       152184 :       {
    6129       152184 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6130       152184 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6131       152184 :         switch (TREE_CODE (_q20))
    6132              :           {
    6133        41114 :           case INTEGER_CST:
    6134        41114 :             {
    6135        41114 :               switch (TREE_CODE (_q21))
    6136              :                 {
    6137        23959 :                 CASE_CONVERT:
    6138        23959 :                   {
    6139        23959 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    6140        23959 :                     switch (TREE_CODE (_p1))
    6141              :                       {
    6142            0 :                       CASE_CONVERT:
    6143            0 :                         {
    6144            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6145            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    6146              :                             {
    6147            0 :                               {
    6148            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6149            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6150            0 :                                 if (res) return res;
    6151              :                               }
    6152              :                             }
    6153              :                           break;
    6154              :                         }
    6155        23959 :                       default:;
    6156              :                       }
    6157        23959 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6158              :                       {
    6159            0 :                         {
    6160            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6161            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6162            0 :                           if (res) return res;
    6163              :                         }
    6164              :                       }
    6165              :                     break;
    6166              :                   }
    6167        41114 :                 default:;
    6168              :                 }
    6169        41114 :               switch (TREE_CODE (_p1))
    6170              :                 {
    6171           24 :                 CASE_CONVERT:
    6172           24 :                   {
    6173           24 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6174           24 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6175              :                       {
    6176            0 :                         {
    6177            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6178            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6179            0 :                           if (res) return res;
    6180              :                         }
    6181              :                       }
    6182              :                     break;
    6183              :                   }
    6184        41114 :                 default:;
    6185              :                 }
    6186        41114 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6187              :                 {
    6188            2 :                   {
    6189            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6190            2 :                     tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6191            2 :                     if (res) return res;
    6192              :                   }
    6193              :                 }
    6194              :               break;
    6195              :             }
    6196              :           default:;
    6197              :           }
    6198              :         break;
    6199              :       }
    6200     26525533 :     default:;
    6201              :     }
    6202     26525533 :   switch (TREE_CODE (_p1))
    6203              :     {
    6204      1540420 :     CASE_CONVERT:
    6205      1540420 :       {
    6206      1540420 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6207      1540420 :         switch (TREE_CODE (_q30))
    6208              :           {
    6209           12 :           case MINUS_EXPR:
    6210           12 :             {
    6211           12 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6212           12 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6213           12 :               switch (TREE_CODE (_q40))
    6214              :                 {
    6215           12 :                 case INTEGER_CST:
    6216           12 :                   {
    6217           12 :                     switch (TREE_CODE (_q41))
    6218              :                       {
    6219           12 :                       CASE_CONVERT:
    6220           12 :                         {
    6221           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6222           12 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6223              :                             {
    6224            0 :                               {
    6225            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6226            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6227            0 :                                 if (res) return res;
    6228              :                               }
    6229              :                             }
    6230              :                           break;
    6231              :                         }
    6232           12 :                       default:;
    6233              :                       }
    6234           12 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6235              :                       {
    6236            0 :                         {
    6237            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6238            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6239            0 :                           if (res) return res;
    6240              :                         }
    6241              :                       }
    6242              :                     break;
    6243              :                   }
    6244              :                 default:;
    6245              :                 }
    6246              :               break;
    6247              :             }
    6248              :           default:;
    6249              :           }
    6250              :         break;
    6251              :       }
    6252         3344 :     case MINUS_EXPR:
    6253         3344 :       {
    6254         3344 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6255         3344 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6256         3344 :         switch (TREE_CODE (_q30))
    6257              :           {
    6258          206 :           case INTEGER_CST:
    6259          206 :             {
    6260          206 :               switch (TREE_CODE (_q31))
    6261              :                 {
    6262           16 :                 CASE_CONVERT:
    6263           16 :                   {
    6264           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    6265           16 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6266              :                       {
    6267            0 :                         {
    6268            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6269            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6270            0 :                           if (res) return res;
    6271              :                         }
    6272              :                       }
    6273              :                     break;
    6274              :                   }
    6275          206 :                 default:;
    6276              :                 }
    6277          206 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6278              :                 {
    6279            0 :                   {
    6280            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6281            0 :                     tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6282            0 :                     if (res) return res;
    6283              :                   }
    6284              :                 }
    6285              :               break;
    6286              :             }
    6287              :           default:;
    6288              :           }
    6289              :         break;
    6290              :       }
    6291     26525533 :     default:;
    6292              :     }
    6293     26525533 :   switch (TREE_CODE (_p0))
    6294              :     {
    6295         1141 :     case LT_EXPR:
    6296         1141 :       {
    6297         1141 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6298         1141 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6299         1141 :         switch (TREE_CODE (_p1))
    6300              :           {
    6301           16 :           case GT_EXPR:
    6302           16 :             {
    6303           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6304           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6305           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6306              :                 {
    6307            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6308              :                     {
    6309            0 :                       {
    6310            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6311            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6312            0 :                         if (res) return res;
    6313              :                       }
    6314              :                     }
    6315              :                 }
    6316              :               break;
    6317              :             }
    6318            0 :           case EQ_EXPR:
    6319            0 :             {
    6320            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6321            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6322            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6323              :                 {
    6324            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6325              :                     {
    6326            0 :                       {
    6327            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6328            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6329            0 :                         if (res) return res;
    6330              :                       }
    6331              :                     }
    6332              :                 }
    6333              :               break;
    6334              :             }
    6335            2 :           case NE_EXPR:
    6336            2 :             {
    6337            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6338            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6339            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6340              :                 {
    6341            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6342              :                     {
    6343            0 :                       {
    6344            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6345            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6346            0 :                         if (res) return res;
    6347              :                       }
    6348              :                     }
    6349              :                 }
    6350              :               break;
    6351              :             }
    6352              :           default:;
    6353              :           }
    6354              :         break;
    6355              :       }
    6356         1542 :     case LE_EXPR:
    6357         1542 :       {
    6358         1542 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6359         1542 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6360         1542 :         switch (TREE_CODE (_p1))
    6361              :           {
    6362            4 :           case GE_EXPR:
    6363            4 :             {
    6364            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6365            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6366            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6367              :                 {
    6368            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6369              :                     {
    6370            0 :                       {
    6371            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6372            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6373            0 :                         if (res) return res;
    6374              :                       }
    6375              :                     }
    6376              :                 }
    6377              :               break;
    6378              :             }
    6379            0 :           case EQ_EXPR:
    6380            0 :             {
    6381            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6382            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6383            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6384              :                 {
    6385            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6386              :                     {
    6387            0 :                       {
    6388            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6389            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6390            0 :                         if (res) return res;
    6391              :                       }
    6392              :                     }
    6393              :                 }
    6394              :               break;
    6395              :             }
    6396            8 :           case NE_EXPR:
    6397            8 :             {
    6398            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6399            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6400            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6401              :                 {
    6402            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6403              :                     {
    6404            0 :                       {
    6405            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6406            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6407            0 :                         if (res) return res;
    6408              :                       }
    6409              :                     }
    6410              :                 }
    6411              :               break;
    6412              :             }
    6413              :           default:;
    6414              :           }
    6415              :         break;
    6416              :       }
    6417        64761 :     case GT_EXPR:
    6418        64761 :       {
    6419        64761 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6420        64761 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6421        64761 :         switch (TREE_CODE (_p1))
    6422              :           {
    6423        63012 :           case GT_EXPR:
    6424        63012 :             {
    6425        63012 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6426        63012 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6427        63012 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6428              :                 {
    6429           12 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6430              :                     {
    6431            0 :                       {
    6432            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6433            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6434            0 :                         if (res) return res;
    6435              :                       }
    6436            0 :                       {
    6437            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6438            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6439            0 :                         if (res) return res;
    6440              :                       }
    6441              :                     }
    6442              :                 }
    6443              :               break;
    6444              :             }
    6445           57 :           case EQ_EXPR:
    6446           57 :             {
    6447           57 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6448           57 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6449           57 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6450              :                 {
    6451            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6452              :                     {
    6453            0 :                       {
    6454            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6455            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6456            0 :                         if (res) return res;
    6457              :                       }
    6458              :                     }
    6459              :                 }
    6460              :               break;
    6461              :             }
    6462           37 :           case NE_EXPR:
    6463           37 :             {
    6464           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6465           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6466           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6467              :                 {
    6468            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6469              :                     {
    6470            0 :                       {
    6471            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6472            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6473            0 :                         if (res) return res;
    6474              :                       }
    6475              :                     }
    6476              :                 }
    6477              :               break;
    6478              :             }
    6479           41 :           case LT_EXPR:
    6480           41 :             {
    6481           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6482           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6483           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6484              :                 {
    6485            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6486              :                     {
    6487            0 :                       {
    6488            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6489            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6490            0 :                         if (res) return res;
    6491              :                       }
    6492              :                     }
    6493              :                 }
    6494              :               break;
    6495              :             }
    6496              :           default:;
    6497              :           }
    6498              :         break;
    6499              :       }
    6500         6618 :     case GE_EXPR:
    6501         6618 :       {
    6502         6618 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6503         6618 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6504         6618 :         switch (TREE_CODE (_p1))
    6505              :           {
    6506           26 :           case GE_EXPR:
    6507           26 :             {
    6508           26 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6509           26 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6510           26 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6511              :                 {
    6512            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6513              :                     {
    6514            0 :                       {
    6515            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6516            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6517            0 :                         if (res) return res;
    6518              :                       }
    6519            0 :                       {
    6520            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6521            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6522            0 :                         if (res) return res;
    6523              :                       }
    6524              :                     }
    6525              :                 }
    6526              :               break;
    6527              :             }
    6528           90 :           case EQ_EXPR:
    6529           90 :             {
    6530           90 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6531           90 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6532           90 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6533              :                 {
    6534            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6535              :                     {
    6536            0 :                       {
    6537            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6538            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6539            0 :                         if (res) return res;
    6540              :                       }
    6541              :                     }
    6542              :                 }
    6543              :               break;
    6544              :             }
    6545           56 :           case NE_EXPR:
    6546           56 :             {
    6547           56 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6548           56 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6549           56 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6550              :                 {
    6551            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6552              :                     {
    6553            0 :                       {
    6554            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6555            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6556            0 :                         if (res) return res;
    6557              :                       }
    6558              :                     }
    6559              :                 }
    6560              :               break;
    6561              :             }
    6562            8 :           case LE_EXPR:
    6563            8 :             {
    6564            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6565            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6566            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6567              :                 {
    6568            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6569              :                     {
    6570            0 :                       {
    6571            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6572            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6573            0 :                         if (res) return res;
    6574              :                       }
    6575              :                     }
    6576              :                 }
    6577              :               break;
    6578              :             }
    6579              :           default:;
    6580              :           }
    6581              :         break;
    6582              :       }
    6583        32121 :     case EQ_EXPR:
    6584        32121 :       {
    6585        32121 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6586        32121 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6587        32121 :         switch (TREE_CODE (_p1))
    6588              :           {
    6589            4 :           case LT_EXPR:
    6590            4 :             {
    6591            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6592            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6593            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6594              :                 {
    6595            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6596              :                     {
    6597            0 :                       {
    6598            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6599            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6600            0 :                         if (res) return res;
    6601              :                       }
    6602              :                     }
    6603              :                 }
    6604              :               break;
    6605              :             }
    6606            4 :           case LE_EXPR:
    6607            4 :             {
    6608            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6609            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6610            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6611              :                 {
    6612            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6613              :                     {
    6614            0 :                       {
    6615            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6616            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6617            0 :                         if (res) return res;
    6618              :                       }
    6619              :                     }
    6620              :                 }
    6621              :               break;
    6622              :             }
    6623           75 :           case GT_EXPR:
    6624           75 :             {
    6625           75 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6626           75 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6627           75 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6628              :                 {
    6629            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6630              :                     {
    6631            0 :                       {
    6632            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6633            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6634            0 :                         if (res) return res;
    6635              :                       }
    6636              :                     }
    6637              :                 }
    6638              :               break;
    6639              :             }
    6640          112 :           case GE_EXPR:
    6641          112 :             {
    6642          112 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6643          112 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6644          112 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6645              :                 {
    6646            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6647              :                     {
    6648            0 :                       {
    6649            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6650            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6651            0 :                         if (res) return res;
    6652              :                       }
    6653              :                     }
    6654              :                 }
    6655              :               break;
    6656              :             }
    6657              :           default:;
    6658              :           }
    6659              :         break;
    6660              :       }
    6661        11802 :     case NE_EXPR:
    6662        11802 :       {
    6663        11802 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6664        11802 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6665        11802 :         switch (TREE_CODE (_p1))
    6666              :           {
    6667            3 :           case LT_EXPR:
    6668            3 :             {
    6669            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6670            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6671            3 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6672              :                 {
    6673            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6674              :                     {
    6675            0 :                       {
    6676            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6677            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6678            0 :                         if (res) return res;
    6679              :                       }
    6680              :                     }
    6681              :                 }
    6682              :               break;
    6683              :             }
    6684            0 :           case LE_EXPR:
    6685            0 :             {
    6686            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6687            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6688            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6689              :                 {
    6690            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6691              :                     {
    6692            0 :                       {
    6693            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6694            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6695            0 :                         if (res) return res;
    6696              :                       }
    6697              :                     }
    6698              :                 }
    6699              :               break;
    6700              :             }
    6701           21 :           case GT_EXPR:
    6702           21 :             {
    6703           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6704           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6705           21 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6706              :                 {
    6707            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6708              :                     {
    6709            0 :                       {
    6710            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6711            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6712            0 :                         if (res) return res;
    6713              :                       }
    6714              :                     }
    6715              :                 }
    6716              :               break;
    6717              :             }
    6718            2 :           case GE_EXPR:
    6719            2 :             {
    6720            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6721            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6722            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6723              :                 {
    6724            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6725              :                     {
    6726            0 :                       {
    6727            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6728            0 :                         tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6729            0 :                         if (res) return res;
    6730              :                       }
    6731              :                     }
    6732              :                 }
    6733              :               break;
    6734              :             }
    6735              :           default:;
    6736              :           }
    6737              :         break;
    6738              :       }
    6739        10253 :     case MIN_EXPR:
    6740        10253 :       {
    6741        10253 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6742        10253 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6743        10253 :         switch (TREE_CODE (_p1))
    6744              :           {
    6745            0 :           case MAX_EXPR:
    6746            0 :             {
    6747            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6748            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6749            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6750              :                 {
    6751            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6752              :                     {
    6753            0 :                       {
    6754            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6755            0 :                         if (!HONOR_NANS (captures[0])
    6756              : )
    6757              :                           {
    6758            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1494;
    6759            0 :                             {
    6760            0 :                               tree res_op0;
    6761            0 :                               res_op0 = captures[0];
    6762            0 :                               tree res_op1;
    6763            0 :                               res_op1 = captures[1];
    6764            0 :                               tree _r;
    6765            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6766            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    6767            0 :                               return _r;
    6768              :                             }
    6769            0 : next_after_fail1494:;
    6770              :                           }
    6771              :                       }
    6772              :                     }
    6773              :                 }
    6774            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6775              :                 {
    6776            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6777              :                     {
    6778            0 :                       {
    6779            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6780            0 :                         if (!HONOR_NANS (captures[0])
    6781              : )
    6782              :                           {
    6783            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1495;
    6784            0 :                             {
    6785            0 :                               tree res_op0;
    6786            0 :                               res_op0 = captures[0];
    6787            0 :                               tree res_op1;
    6788            0 :                               res_op1 = captures[1];
    6789            0 :                               tree _r;
    6790            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6791            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    6792            0 :                               return _r;
    6793              :                             }
    6794            0 : next_after_fail1495:;
    6795              :                           }
    6796              :                       }
    6797              :                     }
    6798              :                 }
    6799              :               break;
    6800              :             }
    6801        10253 :           default:;
    6802              :           }
    6803        10253 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6804              :           {
    6805            0 :             {
    6806            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6807            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6808            0 :               if (res) return res;
    6809              :             }
    6810              :           }
    6811        10253 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6812              :           {
    6813            0 :             {
    6814            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6815            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6816            0 :               if (res) return res;
    6817              :             }
    6818              :           }
    6819              :         break;
    6820              :       }
    6821          646 :     case MAX_EXPR:
    6822          646 :       {
    6823          646 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6824          646 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6825          646 :         switch (TREE_CODE (_p1))
    6826              :           {
    6827            0 :           case MIN_EXPR:
    6828            0 :             {
    6829            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6830            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6831            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6832              :                 {
    6833            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6834              :                     {
    6835            0 :                       {
    6836            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6837            0 :                         if (!HONOR_NANS (captures[0])
    6838              : )
    6839              :                           {
    6840            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1496;
    6841            0 :                             {
    6842            0 :                               tree res_op0;
    6843            0 :                               res_op0 = captures[0];
    6844            0 :                               tree res_op1;
    6845            0 :                               res_op1 = captures[1];
    6846            0 :                               tree _r;
    6847            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6848            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    6849            0 :                               return _r;
    6850              :                             }
    6851            0 : next_after_fail1496:;
    6852              :                           }
    6853              :                       }
    6854              :                     }
    6855              :                 }
    6856            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6857              :                 {
    6858            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6859              :                     {
    6860            0 :                       {
    6861            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6862            0 :                         if (!HONOR_NANS (captures[0])
    6863              : )
    6864              :                           {
    6865            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1497;
    6866            0 :                             {
    6867            0 :                               tree res_op0;
    6868            0 :                               res_op0 = captures[0];
    6869            0 :                               tree res_op1;
    6870            0 :                               res_op1 = captures[1];
    6871            0 :                               tree _r;
    6872            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6873            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    6874            0 :                               return _r;
    6875              :                             }
    6876            0 : next_after_fail1497:;
    6877              :                           }
    6878              :                       }
    6879              :                     }
    6880              :                 }
    6881              :               break;
    6882              :             }
    6883          646 :           default:;
    6884              :           }
    6885          646 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6886              :           {
    6887            0 :             {
    6888            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6889            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6890            0 :               if (res) return res;
    6891              :             }
    6892              :           }
    6893          646 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6894              :           {
    6895            1 :             {
    6896            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6897            1 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6898            1 :               if (res) return res;
    6899              :             }
    6900              :           }
    6901              :         break;
    6902              :       }
    6903     26525533 :     default:;
    6904              :     }
    6905     26525533 : if (tree_with_possible_nonzero_bits (_p0))
    6906              :   {
    6907      9540144 :     if (tree_with_known_nonzero_bits (_p1))
    6908              :       {
    6909      8115305 :         {
    6910      8115305 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6911      8115305 :           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6912      8115305 :           if (res) return res;
    6913              :         }
    6914              :       }
    6915              :   }
    6916     26506459 : if (tree_with_known_nonzero_bits (_p0))
    6917              :   {
    6918      6174331 :     if (tree_with_possible_nonzero_bits (_p1))
    6919              :       {
    6920      6142394 :         {
    6921      6142394 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    6922      6142394 :           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6923      6142394 :           if (res) return res;
    6924              :         }
    6925              :       }
    6926              :   }
    6927     26505962 :   switch (TREE_CODE (_p1))
    6928              :     {
    6929          142 :     case MIN_EXPR:
    6930          142 :       {
    6931          142 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6932          142 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6933          142 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6934              :           {
    6935            0 :             {
    6936            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6937            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6938            0 :               if (res) return res;
    6939              :             }
    6940              :           }
    6941          142 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6942              :           {
    6943            0 :             {
    6944            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6945            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6946            0 :               if (res) return res;
    6947              :             }
    6948              :           }
    6949              :         break;
    6950              :       }
    6951           54 :     case MAX_EXPR:
    6952           54 :       {
    6953           54 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6954           54 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6955           54 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6956              :           {
    6957            0 :             {
    6958            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6959            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6960            0 :               if (res) return res;
    6961              :             }
    6962              :           }
    6963           54 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6964              :           {
    6965            0 :             {
    6966            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6967            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6968            0 :               if (res) return res;
    6969              :             }
    6970              :           }
    6971              :         break;
    6972              :       }
    6973     26505962 :     default:;
    6974              :     }
    6975     26505962 :   switch (TREE_CODE (_p0))
    6976              :     {
    6977        10253 :     case MIN_EXPR:
    6978        10253 :       {
    6979        10253 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6980        10253 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6981        10253 :         switch (TREE_CODE (_q21))
    6982              :           {
    6983          155 :           case INTEGER_CST:
    6984          155 :             {
    6985          155 :               switch (TREE_CODE (_p1))
    6986              :                 {
    6987            0 :                 case INTEGER_CST:
    6988            0 :                   {
    6989            0 :                     {
    6990            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6991            0 :                       tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6992            0 :                       if (res) return res;
    6993              :                     }
    6994            0 :                     break;
    6995              :                   }
    6996              :                 default:;
    6997              :                 }
    6998              :               break;
    6999              :             }
    7000              :           default:;
    7001              :           }
    7002              :         break;
    7003              :       }
    7004          646 :     case MAX_EXPR:
    7005          646 :       {
    7006          646 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7007          646 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7008          646 :         switch (TREE_CODE (_q21))
    7009              :           {
    7010          409 :           case INTEGER_CST:
    7011          409 :             {
    7012          409 :               switch (TREE_CODE (_p1))
    7013              :                 {
    7014           42 :                 case INTEGER_CST:
    7015           42 :                   {
    7016           42 :                     {
    7017           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7018           42 :                       tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7019           42 :                       if (res) return res;
    7020              :                     }
    7021            0 :                     break;
    7022              :                   }
    7023              :                 default:;
    7024              :                 }
    7025              :               break;
    7026              :             }
    7027          604 :           default:;
    7028              :           }
    7029          604 :         if (integer_zerop (_p1))
    7030              :           {
    7031           11 :             {
    7032           11 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7033           11 :               tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7034           11 :               if (res) return res;
    7035              :             }
    7036              :           }
    7037              :         break;
    7038              :       }
    7039       823142 :     case BIT_AND_EXPR:
    7040       823142 :       {
    7041       823142 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7042       823142 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7043       823142 :         switch (TREE_CODE (_q20))
    7044              :           {
    7045          743 :           case LSHIFT_EXPR:
    7046          743 :             {
    7047          743 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7048          743 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7049          743 :               if (integer_pow2p (_q30))
    7050              :                 {
    7051          735 :                   if (integer_pow2p (_q21))
    7052              :                     {
    7053            1 :                       if (integer_zerop (_p1))
    7054              :                         {
    7055            1 :                           {
    7056            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7057            1 :                             tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7058            1 :                             if (res) return res;
    7059              :                           }
    7060              :                         }
    7061              :                     }
    7062              :                 }
    7063          742 :               switch (TREE_CODE (_q31))
    7064              :                 {
    7065            0 :                 case INTEGER_CST:
    7066            0 :                   {
    7067            0 :                     switch (TREE_CODE (_q21))
    7068              :                       {
    7069            0 :                       case INTEGER_CST:
    7070            0 :                         {
    7071            0 :                           switch (TREE_CODE (_p1))
    7072              :                             {
    7073            0 :                             case INTEGER_CST:
    7074            0 :                               {
    7075            0 :                                 {
    7076            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7077            0 :                                   tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7078            0 :                                   if (res) return res;
    7079              :                                 }
    7080            0 :                                 break;
    7081              :                               }
    7082              :                             default:;
    7083              :                             }
    7084              :                           break;
    7085              :                         }
    7086              :                       default:;
    7087              :                       }
    7088              :                     break;
    7089              :                   }
    7090          742 :                 default:;
    7091              :                 }
    7092          742 :               if (integer_onep (_q30))
    7093              :                 {
    7094          734 :                   if (integer_pow2p (_q21))
    7095              :                     {
    7096            0 :                       if (integer_zerop (_p1))
    7097              :                         {
    7098            0 :                           {
    7099            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7100            0 :                             tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7101            0 :                             if (res) return res;
    7102              :                           }
    7103              :                         }
    7104              :                     }
    7105              :                 }
    7106              :               break;
    7107              :             }
    7108         2664 :           case RSHIFT_EXPR:
    7109         2664 :             {
    7110         2664 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7111         2664 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7112         2664 :               if (integer_pow2p (_q30))
    7113              :                 {
    7114            1 :                   if (integer_pow2p (_q21))
    7115              :                     {
    7116            1 :                       if (integer_zerop (_p1))
    7117              :                         {
    7118            1 :                           {
    7119            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7120            1 :                             tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7121            1 :                             if (res) return res;
    7122              :                           }
    7123              :                         }
    7124              :                     }
    7125              :                 }
    7126         2663 :               switch (TREE_CODE (_q31))
    7127              :                 {
    7128          391 :                 case INTEGER_CST:
    7129          391 :                   {
    7130          391 :                     switch (TREE_CODE (_q21))
    7131              :                       {
    7132          391 :                       case INTEGER_CST:
    7133          391 :                         {
    7134          391 :                           switch (TREE_CODE (_p1))
    7135              :                             {
    7136          391 :                             case INTEGER_CST:
    7137          391 :                               {
    7138          391 :                                 {
    7139          391 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7140          391 :                                   tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7141          391 :                                   if (res) return res;
    7142              :                                 }
    7143            0 :                                 break;
    7144              :                               }
    7145              :                             default:;
    7146              :                             }
    7147              :                           break;
    7148              :                         }
    7149              :                       default:;
    7150              :                       }
    7151              :                     break;
    7152              :                   }
    7153              :                 default:;
    7154              :                 }
    7155              :               break;
    7156              :             }
    7157       822749 :           default:;
    7158              :           }
    7159       822749 :       {
    7160       822749 :         tree _q20_pops[1];
    7161       822749 :         if (tree_nop_convert (_q20, _q20_pops))
    7162              :           {
    7163        21263 :             tree _q30 = _q20_pops[0];
    7164        21263 :             switch (TREE_CODE (_q30))
    7165              :               {
    7166            0 :               case LSHIFT_EXPR:
    7167            0 :                 {
    7168            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7169            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    7170            0 :                   if (integer_onep (_q40))
    7171              :                     {
    7172            0 :                       if (integer_pow2p (_q21))
    7173              :                         {
    7174            0 :                           if (integer_zerop (_p1))
    7175              :                             {
    7176            0 :                               {
    7177            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    7178            0 :                                 tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7179            0 :                                 if (res) return res;
    7180              :                               }
    7181              :                             }
    7182              :                         }
    7183              :                     }
    7184              :                   break;
    7185              :                 }
    7186              :               default:;
    7187              :               }
    7188              :           }
    7189              :       }
    7190       822749 :         break;
    7191              :       }
    7192         1726 :     case LSHIFT_EXPR:
    7193         1726 :       {
    7194         1726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7195         1726 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7196         1726 :         switch (TREE_CODE (_q20))
    7197              :           {
    7198          310 :           case INTEGER_CST:
    7199          310 :             {
    7200          310 :               switch (TREE_CODE (_p1))
    7201              :                 {
    7202           20 :                 case INTEGER_CST:
    7203           20 :                   {
    7204           20 :                     {
    7205           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7206           20 :                       tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7207           20 :                       if (res) return res;
    7208              :                     }
    7209            3 :                     break;
    7210              :                   }
    7211              :                 default:;
    7212              :                 }
    7213              :               break;
    7214              :             }
    7215              :           default:;
    7216              :           }
    7217              :         break;
    7218              :       }
    7219            0 :     case LROTATE_EXPR:
    7220            0 :       {
    7221            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7222            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7223            0 :         switch (TREE_CODE (_p1))
    7224              :           {
    7225            0 :           case LROTATE_EXPR:
    7226            0 :             {
    7227            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7228            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7229            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7230              :                 {
    7231            0 :                   {
    7232            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7233            0 :                     tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7234            0 :                     if (res) return res;
    7235              :                   }
    7236              :                 }
    7237              :               break;
    7238              :             }
    7239            0 :           default:;
    7240              :           }
    7241            0 :         switch (TREE_CODE (_q21))
    7242              :           {
    7243            0 :           case INTEGER_CST:
    7244            0 :             {
    7245            0 :               switch (TREE_CODE (_p1))
    7246              :                 {
    7247            0 :                 case INTEGER_CST:
    7248            0 :                   {
    7249            0 :                     {
    7250            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7251            0 :                       tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7252            0 :                       if (res) return res;
    7253              :                     }
    7254            0 :                     break;
    7255              :                   }
    7256              :                 default:;
    7257              :                 }
    7258              :               break;
    7259              :             }
    7260            0 :           default:;
    7261              :           }
    7262            0 :         switch (TREE_CODE (_p1))
    7263              :           {
    7264            0 :           case INTEGER_CST:
    7265            0 :             {
    7266            0 :               {
    7267            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7268            0 :                 tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7269            0 :                 if (res) return res;
    7270              :               }
    7271            0 :               break;
    7272              :             }
    7273              :           default:;
    7274              :           }
    7275              :         break;
    7276              :       }
    7277           42 :     case RROTATE_EXPR:
    7278           42 :       {
    7279           42 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7280           42 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7281           42 :         switch (TREE_CODE (_p1))
    7282              :           {
    7283            0 :           case RROTATE_EXPR:
    7284            0 :             {
    7285            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7286            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7287            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7288              :                 {
    7289            0 :                   {
    7290            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7291            0 :                     tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7292            0 :                     if (res) return res;
    7293              :                   }
    7294              :                 }
    7295              :               break;
    7296              :             }
    7297           42 :           default:;
    7298              :           }
    7299           42 :         switch (TREE_CODE (_q21))
    7300              :           {
    7301           42 :           case INTEGER_CST:
    7302           42 :             {
    7303           42 :               switch (TREE_CODE (_p1))
    7304              :                 {
    7305            0 :                 case INTEGER_CST:
    7306            0 :                   {
    7307            0 :                     {
    7308            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7309            0 :                       tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7310            0 :                       if (res) return res;
    7311              :                     }
    7312            0 :                     break;
    7313              :                   }
    7314              :                 default:;
    7315              :                 }
    7316              :               break;
    7317              :             }
    7318           42 :           default:;
    7319              :           }
    7320           42 :         switch (TREE_CODE (_p1))
    7321              :           {
    7322            0 :           case INTEGER_CST:
    7323            0 :             {
    7324            0 :               {
    7325            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7326            0 :                 tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7327            0 :                 if (res) return res;
    7328              :               }
    7329            0 :               break;
    7330              :             }
    7331              :           default:;
    7332              :           }
    7333              :         break;
    7334              :       }
    7335        64374 :     case MULT_EXPR:
    7336        64374 :       {
    7337        64374 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7338        64374 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7339        64374 :         switch (TREE_CODE (_q20))
    7340              :           {
    7341           66 :           case TRUNC_DIV_EXPR:
    7342           66 :             {
    7343           66 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7344           66 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7345           66 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7346              :                 {
    7347           47 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7348              :                     {
    7349           47 :                       {
    7350           47 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7351           47 :                         tree res = generic_simplify_241 (loc, type, _p0, _p1, captures);
    7352           47 :                         if (res) return res;
    7353              :                       }
    7354              :                     }
    7355              :                 }
    7356              :               break;
    7357              :             }
    7358        64327 :           default:;
    7359              :           }
    7360        64327 :         switch (TREE_CODE (_q21))
    7361              :           {
    7362            0 :           case TRUNC_DIV_EXPR:
    7363            0 :             {
    7364            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7365            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7366            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7367              :                 {
    7368            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7369              :                     {
    7370            0 :                       {
    7371            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
    7372            0 :                         tree res = generic_simplify_241 (loc, type, _p0, _p1, captures);
    7373            0 :                         if (res) return res;
    7374              :                       }
    7375              :                     }
    7376              :                 }
    7377              :               break;
    7378              :             }
    7379              :           default:;
    7380              :           }
    7381              :         break;
    7382              :       }
    7383     26505463 :     default:;
    7384              :     }
    7385     26505463 :   switch (TREE_CODE (_p1))
    7386              :     {
    7387        13424 :     case MULT_EXPR:
    7388        13424 :       {
    7389        13424 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7390        13424 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7391        13424 :         switch (TREE_CODE (_q30))
    7392              :           {
    7393            0 :           case TRUNC_DIV_EXPR:
    7394            0 :             {
    7395            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7396            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7397            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7398              :                 {
    7399            0 :                   if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q41, 0) && types_match (_q31, _q41)))
    7400              :                     {
    7401            0 :                       {
    7402            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    7403            0 :                         tree res = generic_simplify_241 (loc, type, _p0, _p1, captures);
    7404            0 :                         if (res) return res;
    7405              :                       }
    7406              :                     }
    7407              :                 }
    7408              :               break;
    7409              :             }
    7410        13424 :           default:;
    7411              :           }
    7412        13424 :         switch (TREE_CODE (_q31))
    7413              :           {
    7414            0 :           case TRUNC_DIV_EXPR:
    7415            0 :             {
    7416            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    7417            0 :               tree _q51 = TREE_OPERAND (_q31, 1);
    7418            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7419              :                 {
    7420            0 :                   if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q30, 0) && types_match (_q51, _q30)))
    7421              :                     {
    7422            0 :                       {
    7423            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
    7424            0 :                         tree res = generic_simplify_241 (loc, type, _p0, _p1, captures);
    7425            0 :                         if (res) return res;
    7426              :                       }
    7427              :                     }
    7428              :                 }
    7429              :               break;
    7430              :             }
    7431              :           default:;
    7432              :           }
    7433              :         break;
    7434              :       }
    7435     26505463 :     default:;
    7436              :     }
    7437     26505463 :   switch (TREE_CODE (_p0))
    7438              :     {
    7439          587 :     case VEC_COND_EXPR:
    7440          587 :       {
    7441          587 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7442          587 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7443          587 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7444          587 :         switch (TREE_CODE (_p1))
    7445              :           {
    7446          107 :           case VEC_COND_EXPR:
    7447          107 :             {
    7448          107 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7449          107 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7450          107 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7451          107 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7452              :                 {
    7453           60 :                   {
    7454           60 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7455           60 :                     if (VECTOR_TYPE_P (type)
    7456           60 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7457           60 :  || types_match (type, TREE_TYPE (captures[2]))
    7458           60 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7459              :  || (optimize_vectors_before_lowering_p ()
    7460            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7461              : )
    7462              :                       {
    7463           60 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1498;
    7464           60 :                         {
    7465           60 :                           tree res_op0;
    7466           60 :                           res_op0 = captures[1];
    7467           60 :                           tree res_op1;
    7468           60 :                           {
    7469           60 :                             tree _o1[2], _r1;
    7470           60 :                             _o1[0] = captures[2];
    7471           60 :                             _o1[1] = captures[5];
    7472           60 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7473           60 :                             if (EXPR_P (_r1))
    7474           60 :                               goto next_after_fail1498;
    7475            0 :                             res_op1 = _r1;
    7476              :                           }
    7477            0 :                           tree res_op2;
    7478            0 :                           {
    7479            0 :                             tree _o1[2], _r1;
    7480            0 :                             _o1[0] = captures[3];
    7481            0 :                             _o1[1] = captures[6];
    7482            0 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7483            0 :                             if (EXPR_P (_r1))
    7484            0 :                               goto next_after_fail1498;
    7485            0 :                             res_op2 = _r1;
    7486              :                           }
    7487            0 :                           tree _r;
    7488            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7489            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    7490            0 :                           return _r;
    7491              :                         }
    7492           60 : next_after_fail1498:;
    7493              :                       }
    7494              :                   }
    7495              :                 }
    7496              :               break;
    7497              :             }
    7498          587 :           default:;
    7499              :           }
    7500          587 :         {
    7501          587 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7502          587 :           if (VECTOR_TYPE_P (type)
    7503          587 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7504          587 :  || types_match (type, TREE_TYPE (captures[2]))
    7505          587 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7506              :  || (optimize_vectors_before_lowering_p ()
    7507           79 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7508              : )
    7509              :             {
    7510          587 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1499;
    7511          587 :               {
    7512          587 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1499;
    7513           86 :                 tree res_op0;
    7514           86 :                 res_op0 = captures[1];
    7515           86 :                 tree res_op1;
    7516           86 :                 {
    7517           86 :                   tree _o1[2], _r1;
    7518           86 :                   _o1[0] = captures[2];
    7519           86 :                   _o1[1] = unshare_expr (captures[4]);
    7520           86 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7521           86 :                   if (EXPR_P (_r1))
    7522           48 :                     goto next_after_fail1499;
    7523           38 :                   res_op1 = _r1;
    7524              :                 }
    7525           38 :                 tree res_op2;
    7526           38 :                 {
    7527           38 :                   tree _o1[2], _r1;
    7528           38 :                   _o1[0] = captures[3];
    7529           38 :                   _o1[1] = captures[4];
    7530           38 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7531           38 :                   if (EXPR_P (_r1))
    7532           17 :                     goto next_after_fail1499;
    7533           21 :                   res_op2 = _r1;
    7534              :                 }
    7535           21 :                 tree _r;
    7536           21 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7537           21 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    7538           21 :                 return _r;
    7539              :               }
    7540          566 : next_after_fail1499:;
    7541              :             }
    7542              :         }
    7543          566 :         break;
    7544              :       }
    7545      1925931 :     case CALL_EXPR:
    7546      1925931 :       switch (get_call_combined_fn (_p0))
    7547              :         {
    7548            0 :         case CFN_BUILT_IN_BSWAP128:
    7549            0 :           if (call_expr_nargs (_p0) == 1)
    7550              :     {
    7551            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7552            0 :               switch (TREE_CODE (_p1))
    7553              :                 {
    7554            0 :                 case INTEGER_CST:
    7555            0 :                   {
    7556            0 :                     {
    7557            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7558            0 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7559            0 :                       if (res) return res;
    7560              :                     }
    7561            0 :                     break;
    7562              :                   }
    7563            0 :                 case CALL_EXPR:
    7564            0 :                   switch (get_call_combined_fn (_p1))
    7565              :                     {
    7566            0 :                     case CFN_BUILT_IN_BSWAP128:
    7567            0 :                       if (call_expr_nargs (_p1) == 1)
    7568              :     {
    7569            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7570            0 :                           {
    7571            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7572            0 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7573            0 :                             if (res) return res;
    7574              :                           }
    7575              :                         }
    7576              :                       break;
    7577              :                     default:;
    7578              :                     }
    7579              :                   break;
    7580              :                 default:;
    7581              :                 }
    7582              :             }
    7583              :           break;
    7584            2 :         case CFN_BUILT_IN_BSWAP16:
    7585            2 :           if (call_expr_nargs (_p0) == 1)
    7586              :     {
    7587            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7588            2 :               switch (TREE_CODE (_p1))
    7589              :                 {
    7590            1 :                 case INTEGER_CST:
    7591            1 :                   {
    7592            1 :                     {
    7593            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7594            1 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7595            1 :                       if (res) return res;
    7596              :                     }
    7597            1 :                     break;
    7598              :                   }
    7599            1 :                 case CALL_EXPR:
    7600            1 :                   switch (get_call_combined_fn (_p1))
    7601              :                     {
    7602            1 :                     case CFN_BUILT_IN_BSWAP16:
    7603            1 :                       if (call_expr_nargs (_p1) == 1)
    7604              :     {
    7605            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7606            1 :                           {
    7607            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7608            1 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7609            1 :                             if (res) return res;
    7610              :                           }
    7611              :                         }
    7612              :                       break;
    7613              :                     default:;
    7614              :                     }
    7615              :                   break;
    7616              :                 default:;
    7617              :                 }
    7618              :             }
    7619              :           break;
    7620            6 :         case CFN_BUILT_IN_BSWAP32:
    7621            6 :           if (call_expr_nargs (_p0) == 1)
    7622              :     {
    7623            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7624            6 :               switch (TREE_CODE (_p1))
    7625              :                 {
    7626            3 :                 case INTEGER_CST:
    7627            3 :                   {
    7628            3 :                     {
    7629            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7630            3 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7631            3 :                       if (res) return res;
    7632              :                     }
    7633            3 :                     break;
    7634              :                   }
    7635            3 :                 case CALL_EXPR:
    7636            3 :                   switch (get_call_combined_fn (_p1))
    7637              :                     {
    7638            3 :                     case CFN_BUILT_IN_BSWAP32:
    7639            3 :                       if (call_expr_nargs (_p1) == 1)
    7640              :     {
    7641            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7642            3 :                           {
    7643            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7644            3 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7645            3 :                             if (res) return res;
    7646              :                           }
    7647              :                         }
    7648              :                       break;
    7649              :                     default:;
    7650              :                     }
    7651              :                   break;
    7652              :                 default:;
    7653              :                 }
    7654              :             }
    7655              :           break;
    7656            6 :         case CFN_BUILT_IN_BSWAP64:
    7657            6 :           if (call_expr_nargs (_p0) == 1)
    7658              :     {
    7659            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7660            6 :               switch (TREE_CODE (_p1))
    7661              :                 {
    7662            3 :                 case INTEGER_CST:
    7663            3 :                   {
    7664            3 :                     {
    7665            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7666            3 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7667            3 :                       if (res) return res;
    7668              :                     }
    7669            3 :                     break;
    7670              :                   }
    7671            3 :                 case CALL_EXPR:
    7672            3 :                   switch (get_call_combined_fn (_p1))
    7673              :                     {
    7674            3 :                     case CFN_BUILT_IN_BSWAP64:
    7675            3 :                       if (call_expr_nargs (_p1) == 1)
    7676              :     {
    7677            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7678            3 :                           {
    7679            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7680            3 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7681            3 :                             if (res) return res;
    7682              :                           }
    7683              :                         }
    7684              :                       break;
    7685              :                     default:;
    7686              :                     }
    7687              :                   break;
    7688              :                 default:;
    7689              :                 }
    7690              :             }
    7691              :           break;
    7692              :         default:;
    7693              :         }
    7694              :       break;
    7695     26505435 :     default:;
    7696              :     }
    7697     26505435 :   switch (TREE_CODE (_p1))
    7698              :     {
    7699          122 :     case VEC_COND_EXPR:
    7700          122 :       {
    7701          122 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7702          122 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7703          122 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7704          122 :         {
    7705          122 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7706          122 :           if (VECTOR_TYPE_P (type)
    7707          122 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7708          122 :  || types_match (type, TREE_TYPE (captures[3]))
    7709          122 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7710              :  || (optimize_vectors_before_lowering_p ()
    7711           21 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7712              : )
    7713              :             {
    7714          122 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1500;
    7715          122 :               {
    7716          122 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1500;
    7717            0 :                 tree res_op0;
    7718            0 :                 res_op0 = captures[2];
    7719            0 :                 tree res_op1;
    7720            0 :                 {
    7721            0 :                   tree _o1[2], _r1;
    7722            0 :                   _o1[0] = unshare_expr (captures[0]);
    7723            0 :                   _o1[1] = captures[3];
    7724            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7725            0 :                   if (EXPR_P (_r1))
    7726            0 :                     goto next_after_fail1500;
    7727            0 :                   res_op1 = _r1;
    7728              :                 }
    7729            0 :                 tree res_op2;
    7730            0 :                 {
    7731            0 :                   tree _o1[2], _r1;
    7732            0 :                   _o1[0] = captures[0];
    7733            0 :                   _o1[1] = captures[4];
    7734            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7735            0 :                   if (EXPR_P (_r1))
    7736            0 :                     goto next_after_fail1500;
    7737            0 :                   res_op2 = _r1;
    7738              :                 }
    7739            0 :                 tree _r;
    7740            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7741            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    7742            0 :                 return _r;
    7743              :               }
    7744          122 : next_after_fail1500:;
    7745              :             }
    7746              :         }
    7747          122 :         break;
    7748              :       }
    7749     26505435 :     default:;
    7750              :     }
    7751     26505435 :   switch (TREE_CODE (_p0))
    7752              :     {
    7753        41181 :     case COND_EXPR:
    7754        41181 :       {
    7755        41181 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7756        41181 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7757        41181 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7758        41181 :         switch (TREE_CODE (_p1))
    7759              :           {
    7760           37 :           case COND_EXPR:
    7761           37 :             {
    7762           37 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7763           37 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7764           37 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7765           37 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7766              :                 {
    7767            3 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    7768              :                     {
    7769            3 :                       {
    7770            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    7771            3 :                         const enum tree_code eqne = EQ_EXPR;
    7772            3 :                         if (!HONOR_NANS (captures[1])
    7773            3 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    7774            3 :  && types_match (type, TREE_TYPE (captures[0]))
    7775            3 :  && expr_no_side_effects_p (captures[1])
    7776            4 :  && expr_no_side_effects_p (captures[2])
    7777              : )
    7778              :                           {
    7779            1 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1501;
    7780            1 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1501;
    7781            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1501;
    7782            1 :                             {
    7783            1 :                               tree res_op0;
    7784            1 :                               {
    7785            1 :                                 tree _o1[2], _r1;
    7786            1 :                                 {
    7787            1 :                                   tree _o2[2], _r2;
    7788            1 :                                   _o2[0] = captures[0];
    7789            1 :                                   _o2[1] = captures[3];
    7790            1 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    7791            1 :                                   _o1[0] = _r2;
    7792              :                                 }
    7793            1 :                                 {
    7794            1 :                                   tree _o2[2], _r2;
    7795            1 :                                   _o2[0] = captures[1];
    7796            1 :                                   _o2[1] = captures[2];
    7797            1 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    7798            1 :                                   _o1[1] = _r2;
    7799              :                                 }
    7800            1 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7801            1 :                                 res_op0 = _r1;
    7802              :                               }
    7803            1 :                               tree res_op1;
    7804            1 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    7805            1 :                               tree res_op2;
    7806            1 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    7807            1 :                               tree _r;
    7808            1 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    7809            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    7810            1 :                               return _r;
    7811              :                             }
    7812            2 : next_after_fail1501:;
    7813              :                           }
    7814              :                       }
    7815              :                     }
    7816              :                 }
    7817           36 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    7818              :                 {
    7819            7 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    7820              :                     {
    7821            7 :                       {
    7822            7 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    7823            7 :                         const enum tree_code eqne = EQ_EXPR;
    7824            7 :                         if (!HONOR_NANS (captures[1])
    7825            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    7826            0 :  && types_match (type, TREE_TYPE (captures[0]))
    7827            0 :  && expr_no_side_effects_p (captures[1])
    7828            7 :  && expr_no_side_effects_p (captures[2])
    7829              : )
    7830              :                           {
    7831            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1502;
    7832            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1502;
    7833            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1502;
    7834            0 :                             {
    7835            0 :                               tree res_op0;
    7836            0 :                               {
    7837            0 :                                 tree _o1[2], _r1;
    7838            0 :                                 {
    7839            0 :                                   tree _o2[2], _r2;
    7840            0 :                                   _o2[0] = captures[0];
    7841            0 :                                   _o2[1] = captures[3];
    7842            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    7843            0 :                                   _o1[0] = _r2;
    7844              :                                 }
    7845            0 :                                 {
    7846            0 :                                   tree _o2[2], _r2;
    7847            0 :                                   _o2[0] = captures[1];
    7848            0 :                                   _o2[1] = captures[2];
    7849            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    7850            0 :                                   _o1[1] = _r2;
    7851              :                                 }
    7852            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7853            0 :                                 res_op0 = _r1;
    7854              :                               }
    7855            0 :                               tree res_op1;
    7856            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    7857            0 :                               tree res_op2;
    7858            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    7859            0 :                               tree _r;
    7860            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    7861            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
    7862            0 :                               return _r;
    7863              :                             }
    7864            7 : next_after_fail1502:;
    7865              :                           }
    7866              :                       }
    7867              :                     }
    7868              :                 }
    7869              :               break;
    7870              :             }
    7871              :           default:;
    7872              :           }
    7873              :         break;
    7874              :       }
    7875          566 :     case VEC_COND_EXPR:
    7876          566 :       {
    7877          566 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7878          566 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7879          566 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7880          566 :         switch (TREE_CODE (_p1))
    7881              :           {
    7882          107 :           case VEC_COND_EXPR:
    7883          107 :             {
    7884          107 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7885          107 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7886          107 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7887          107 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7888              :                 {
    7889           66 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    7890              :                     {
    7891           66 :                       {
    7892           66 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    7893           66 :                         const enum tree_code eqne = EQ_EXPR;
    7894           66 :                         if (!HONOR_NANS (captures[1])
    7895            6 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    7896            6 :  && types_match (type, TREE_TYPE (captures[0]))
    7897            6 :  && expr_no_side_effects_p (captures[1])
    7898           72 :  && expr_no_side_effects_p (captures[2])
    7899              : )
    7900              :                           {
    7901            6 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1503;
    7902            6 :                             {
    7903            6 :                               tree res_op0;
    7904            6 :                               {
    7905            6 :                                 tree _o1[2], _r1;
    7906            6 :                                 {
    7907            6 :                                   tree _o2[2], _r2;
    7908            6 :                                   _o2[0] = captures[0];
    7909            6 :                                   _o2[1] = captures[3];
    7910            6 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    7911            6 :                                   _o1[0] = _r2;
    7912              :                                 }
    7913            6 :                                 {
    7914            6 :                                   tree _o2[2], _r2;
    7915            6 :                                   _o2[0] = captures[1];
    7916            6 :                                   _o2[1] = captures[2];
    7917            6 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    7918            6 :                                   _o1[1] = _r2;
    7919              :                                 }
    7920            6 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7921            6 :                                 res_op0 = _r1;
    7922              :                               }
    7923            6 :                               tree res_op1;
    7924            6 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    7925            6 :                               tree res_op2;
    7926            6 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    7927            6 :                               tree _r;
    7928            6 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7929            6 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    7930            6 :                               return _r;
    7931              :                             }
    7932            0 : next_after_fail1503:;
    7933              :                           }
    7934              :                       }
    7935              :                     }
    7936              :                 }
    7937          101 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    7938              :                 {
    7939           37 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    7940              :                     {
    7941           37 :                       {
    7942           37 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    7943           37 :                         const enum tree_code eqne = EQ_EXPR;
    7944           37 :                         if (!HONOR_NANS (captures[1])
    7945            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    7946            0 :  && types_match (type, TREE_TYPE (captures[0]))
    7947            0 :  && expr_no_side_effects_p (captures[1])
    7948           37 :  && expr_no_side_effects_p (captures[2])
    7949              : )
    7950              :                           {
    7951            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1504;
    7952            0 :                             {
    7953            0 :                               tree res_op0;
    7954            0 :                               {
    7955            0 :                                 tree _o1[2], _r1;
    7956            0 :                                 {
    7957            0 :                                   tree _o2[2], _r2;
    7958            0 :                                   _o2[0] = captures[0];
    7959            0 :                                   _o2[1] = captures[3];
    7960            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    7961            0 :                                   _o1[0] = _r2;
    7962              :                                 }
    7963            0 :                                 {
    7964            0 :                                   tree _o2[2], _r2;
    7965            0 :                                   _o2[0] = captures[1];
    7966            0 :                                   _o2[1] = captures[2];
    7967            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    7968            0 :                                   _o1[1] = _r2;
    7969              :                                 }
    7970            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7971            0 :                                 res_op0 = _r1;
    7972              :                               }
    7973            0 :                               tree res_op1;
    7974            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    7975            0 :                               tree res_op2;
    7976            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    7977            0 :                               tree _r;
    7978            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7979            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
    7980            0 :                               return _r;
    7981              :                             }
    7982            0 : next_after_fail1504:;
    7983              :                           }
    7984              :                       }
    7985              :                     }
    7986              :                 }
    7987              :               break;
    7988              :             }
    7989              :           default:;
    7990              :           }
    7991              :         break;
    7992              :       }
    7993         1141 :     case LT_EXPR:
    7994         1141 :       {
    7995         1141 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7996         1141 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7997         1141 :         if (integer_truep (_p1))
    7998              :           {
    7999            5 :             {
    8000            5 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8001            5 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8002            5 :               if (res) return res;
    8003              :             }
    8004              :           }
    8005         1141 :         if (integer_zerop (_p1))
    8006              :           {
    8007          424 :             {
    8008          424 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8009          424 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8010          424 :               if (res) return res;
    8011              :             }
    8012              :           }
    8013              :         break;
    8014              :       }
    8015         1542 :     case LE_EXPR:
    8016         1542 :       {
    8017         1542 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8018         1542 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8019         1542 :         if (integer_truep (_p1))
    8020              :           {
    8021            0 :             {
    8022            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8023            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8024            0 :               if (res) return res;
    8025              :             }
    8026              :           }
    8027         1542 :         if (integer_zerop (_p1))
    8028              :           {
    8029          678 :             {
    8030          678 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8031          678 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8032          678 :               if (res) return res;
    8033              :             }
    8034              :           }
    8035              :         break;
    8036              :       }
    8037        32121 :     case EQ_EXPR:
    8038        32121 :       {
    8039        32121 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8040        32121 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8041        32121 :         if (integer_truep (_p1))
    8042              :           {
    8043           48 :             {
    8044           48 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8045           48 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8046           48 :               if (res) return res;
    8047              :             }
    8048              :           }
    8049        32116 :         if (integer_zerop (_p1))
    8050              :           {
    8051         7584 :             {
    8052         7584 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8053         7584 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8054         7584 :               if (res) return res;
    8055              :             }
    8056              :           }
    8057              :         break;
    8058              :       }
    8059        11802 :     case NE_EXPR:
    8060        11802 :       {
    8061        11802 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8062        11802 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8063        11802 :         if (integer_truep (_p1))
    8064              :           {
    8065          126 :             {
    8066          126 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8067          126 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8068          126 :               if (res) return res;
    8069              :             }
    8070              :           }
    8071        11682 :         if (integer_zerop (_p1))
    8072              :           {
    8073         9899 :             {
    8074         9899 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8075         9899 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8076         9899 :               if (res) return res;
    8077              :             }
    8078              :           }
    8079              :         break;
    8080              :       }
    8081         6618 :     case GE_EXPR:
    8082         6618 :       {
    8083         6618 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8084         6618 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8085         6618 :         if (integer_truep (_p1))
    8086              :           {
    8087            0 :             {
    8088            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8089            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8090            0 :               if (res) return res;
    8091              :             }
    8092              :           }
    8093         6618 :         if (integer_zerop (_p1))
    8094              :           {
    8095         5499 :             {
    8096         5499 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8097         5499 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8098         5499 :               if (res) return res;
    8099              :             }
    8100              :           }
    8101              :         break;
    8102              :       }
    8103        64761 :     case GT_EXPR:
    8104        64761 :       {
    8105        64761 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8106        64761 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8107        64761 :         if (integer_truep (_p1))
    8108              :           {
    8109            0 :             {
    8110            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8111            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8112            0 :               if (res) return res;
    8113              :             }
    8114              :           }
    8115        64761 :         if (integer_zerop (_p1))
    8116              :           {
    8117          447 :             {
    8118          447 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8119          447 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8120          447 :               if (res) return res;
    8121              :             }
    8122              :           }
    8123              :         break;
    8124              :       }
    8125         1023 :     case UNORDERED_EXPR:
    8126         1023 :       {
    8127         1023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8128         1023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8129         1023 :         if (integer_truep (_p1))
    8130              :           {
    8131            0 :             {
    8132            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8133            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8134            0 :               if (res) return res;
    8135              :             }
    8136              :           }
    8137         1023 :         if (integer_zerop (_p1))
    8138              :           {
    8139         1017 :             {
    8140         1017 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8141         1017 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8142         1017 :               if (res) return res;
    8143              :             }
    8144              :           }
    8145              :         break;
    8146              :       }
    8147            0 :     case ORDERED_EXPR:
    8148            0 :       {
    8149            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8150            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8151            0 :         if (integer_truep (_p1))
    8152              :           {
    8153            0 :             {
    8154            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8155            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8156            0 :               if (res) return res;
    8157              :             }
    8158              :           }
    8159            0 :         if (integer_zerop (_p1))
    8160              :           {
    8161            0 :             {
    8162            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8163            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8164            0 :               if (res) return res;
    8165              :             }
    8166              :           }
    8167              :         break;
    8168              :       }
    8169            0 :     case UNLT_EXPR:
    8170            0 :       {
    8171            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8172            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8173            0 :         if (integer_truep (_p1))
    8174              :           {
    8175            0 :             {
    8176            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8177            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8178            0 :               if (res) return res;
    8179              :             }
    8180              :           }
    8181            0 :         if (integer_zerop (_p1))
    8182              :           {
    8183            0 :             {
    8184            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8185            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8186            0 :               if (res) return res;
    8187              :             }
    8188              :           }
    8189              :         break;
    8190              :       }
    8191            0 :     case UNLE_EXPR:
    8192            0 :       {
    8193            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8194            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8195            0 :         if (integer_truep (_p1))
    8196              :           {
    8197            0 :             {
    8198            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8199            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8200            0 :               if (res) return res;
    8201              :             }
    8202              :           }
    8203            0 :         if (integer_zerop (_p1))
    8204              :           {
    8205            0 :             {
    8206            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8207            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8208            0 :               if (res) return res;
    8209              :             }
    8210              :           }
    8211              :         break;
    8212              :       }
    8213            0 :     case UNGT_EXPR:
    8214            0 :       {
    8215            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8216            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8217            0 :         if (integer_truep (_p1))
    8218              :           {
    8219            0 :             {
    8220            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8221            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8222            0 :               if (res) return res;
    8223              :             }
    8224              :           }
    8225            0 :         if (integer_zerop (_p1))
    8226              :           {
    8227            0 :             {
    8228            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8229            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8230            0 :               if (res) return res;
    8231              :             }
    8232              :           }
    8233              :         break;
    8234              :       }
    8235            0 :     case UNGE_EXPR:
    8236            0 :       {
    8237            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8238            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8239            0 :         if (integer_truep (_p1))
    8240              :           {
    8241            0 :             {
    8242            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8243            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8244            0 :               if (res) return res;
    8245              :             }
    8246              :           }
    8247            0 :         if (integer_zerop (_p1))
    8248              :           {
    8249            0 :             {
    8250            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8251            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8252            0 :               if (res) return res;
    8253              :             }
    8254              :           }
    8255              :         break;
    8256              :       }
    8257            0 :     case UNEQ_EXPR:
    8258            0 :       {
    8259            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8260            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8261            0 :         if (integer_truep (_p1))
    8262              :           {
    8263            0 :             {
    8264            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8265            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8266            0 :               if (res) return res;
    8267              :             }
    8268              :           }
    8269            0 :         if (integer_zerop (_p1))
    8270              :           {
    8271            0 :             {
    8272            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8273            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8274            0 :               if (res) return res;
    8275              :             }
    8276              :           }
    8277              :         break;
    8278              :       }
    8279            0 :     case LTGT_EXPR:
    8280            0 :       {
    8281            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8282            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8283            0 :         if (integer_truep (_p1))
    8284              :           {
    8285            0 :             {
    8286            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8287            0 :               tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8288            0 :               if (res) return res;
    8289              :             }
    8290              :           }
    8291            0 :         if (integer_zerop (_p1))
    8292              :           {
    8293            0 :             {
    8294            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8295            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8296            0 :               if (res) return res;
    8297              :             }
    8298              :           }
    8299              :         break;
    8300              :       }
    8301       152183 :     case MINUS_EXPR:
    8302       152183 :       {
    8303       152183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8304       152183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8305       152183 :         if (integer_zerop (_p1))
    8306              :           {
    8307        56680 :             {
    8308        56680 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8309        56680 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8310        56680 :               if (res) return res;
    8311              :             }
    8312              :           }
    8313              :         break;
    8314              :       }
    8315        30736 :     case POINTER_DIFF_EXPR:
    8316        30736 :       {
    8317        30736 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8318        30736 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8319        30736 :         if (integer_zerop (_p1))
    8320              :           {
    8321         1401 :             {
    8322         1401 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8323         1401 :               tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8324         1401 :               if (res) return res;
    8325              :             }
    8326              :           }
    8327              :         break;
    8328              :       }
    8329        64327 :     case MULT_EXPR:
    8330        64327 :       {
    8331        64327 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8332        64327 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8333        64327 :         switch (TREE_CODE (_q21))
    8334              :           {
    8335        56528 :           case INTEGER_CST:
    8336        56528 :             {
    8337        56528 :               switch (TREE_CODE (_p1))
    8338              :                 {
    8339         9719 :                 case INTEGER_CST:
    8340         9719 :                   {
    8341         9719 :                     {
    8342         9719 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8343         9719 :                       tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8344         9719 :                       if (res) return res;
    8345              :                     }
    8346         8765 :                     break;
    8347              :                   }
    8348        55574 :                 default:;
    8349              :                 }
    8350        55574 :             if (integer_zerop (_p1))
    8351              :               {
    8352         4256 :                 {
    8353         4256 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8354         4256 :                   tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8355         4256 :                   if (res) return res;
    8356              :                 }
    8357              :               }
    8358              :               break;
    8359              :             }
    8360              :           default:;
    8361              :           }
    8362              :         break;
    8363              :       }
    8364     26421624 :     default:;
    8365              :     }
    8366     26421624 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8367              :     {
    8368        90773 :       {
    8369        90773 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8370        90773 :         tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8371        90773 :         if (res) return res;
    8372              :       }
    8373              :     }
    8374     26335774 :   switch (TREE_CODE (_p0))
    8375              :     {
    8376      4794382 :     CASE_CONVERT:
    8377      4794382 :       {
    8378      4794382 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8379      4794382 :         switch (TREE_CODE (_p1))
    8380              :           {
    8381      1201393 :           CASE_CONVERT:
    8382      1201393 :             {
    8383      1201393 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8384      1201393 :               {
    8385      1201393 :                 tree _q40_pops[1];
    8386      1201393 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    8387              :                   {
    8388            0 :                     tree _q50 = _q40_pops[0];
    8389            0 :                     {
    8390            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    8391            0 :                       tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8392            0 :                       if (res) return res;
    8393              :                     }
    8394              :                   }
    8395              :               }
    8396      1201393 :               break;
    8397              :             }
    8398      4794382 :           default:;
    8399              :           }
    8400      4794382 :         {
    8401      4794382 :           tree _q20_pops[1];
    8402      4794382 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    8403              :             {
    8404          232 :               tree _q30 = _q20_pops[0];
    8405          232 :               switch (TREE_CODE (_p1))
    8406              :                 {
    8407           74 :                 CASE_CONVERT:
    8408           74 :                   {
    8409           74 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8410           74 :                     {
    8411           74 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    8412           74 :                       tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8413           74 :                       if (res) return res;
    8414              :                     }
    8415           74 :                     break;
    8416              :                   }
    8417              :                 default:;
    8418              :                 }
    8419              :             }
    8420              :         }
    8421      4794382 :         break;
    8422              :       }
    8423     26335774 :     default:;
    8424              :     }
    8425     26335774 :   {
    8426     26335774 :     tree _p1_pops[1];
    8427     26335774 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    8428              :       {
    8429     18957808 :         tree _q30 = _p1_pops[0];
    8430     18957808 :         {
    8431     18957808 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8432     18957808 :           tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8433     18957808 :           if (res) return res;
    8434              :         }
    8435              :       }
    8436              :   }
    8437     26335772 :   switch (TREE_CODE (_p0))
    8438              :     {
    8439          404 :     case BIT_NOT_EXPR:
    8440          404 :       {
    8441          404 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8442          404 :         switch (TREE_CODE (_p1))
    8443              :           {
    8444            1 :           case BIT_NOT_EXPR:
    8445            1 :             {
    8446            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8447            1 :               {
    8448            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8449            1 :                 tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8450            1 :                 if (res) return res;
    8451              :               }
    8452            0 :               break;
    8453              :             }
    8454          403 :           default:;
    8455              :           }
    8456          403 :       {
    8457          403 :         tree _p1_pops[1];
    8458          403 :         if (tree_nop_convert (_p1, _p1_pops))
    8459              :           {
    8460            3 :             tree _q40 = _p1_pops[0];
    8461            3 :             switch (TREE_CODE (_q40))
    8462              :               {
    8463            0 :               case BIT_NOT_EXPR:
    8464            0 :                 {
    8465            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8466            0 :                   {
    8467            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8468            0 :                     tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8469            0 :                     if (res) return res;
    8470              :                   }
    8471            0 :                   break;
    8472              :                 }
    8473              :               default:;
    8474              :               }
    8475              :           }
    8476              :       }
    8477          403 :       if (CONSTANT_CLASS_P (_p1))
    8478              :         {
    8479          195 :           {
    8480          195 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8481          195 :             tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8482          195 :             if (res) return res;
    8483              :           }
    8484              :         }
    8485              :         break;
    8486              :       }
    8487     26335576 :     default:;
    8488              :     }
    8489     26335576 : {
    8490     26335576 :   tree _p0_pops[1];
    8491     26335576 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    8492              :     {
    8493        94092 :       tree _q20 = _p0_pops[0];
    8494        94092 :       {
    8495        94092 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    8496        94092 :         tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8497        94092 :         if (res) return res;
    8498              :       }
    8499              :     }
    8500              : }
    8501     26335575 : {
    8502     26335575 :   tree _p0_pops[1];
    8503     26335575 :   if (tree_nop_convert (_p0, _p0_pops))
    8504              :     {
    8505      2716486 :       tree _q20 = _p0_pops[0];
    8506      2716486 :       switch (TREE_CODE (_q20))
    8507              :         {
    8508           41 :         case BIT_NOT_EXPR:
    8509           41 :           {
    8510           41 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8511           41 :             switch (TREE_CODE (_p1))
    8512              :               {
    8513            0 :               case BIT_NOT_EXPR:
    8514            0 :                 {
    8515            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8516            0 :                   {
    8517            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8518            0 :                     tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8519            0 :                     if (res) return res;
    8520              :                   }
    8521            0 :                   break;
    8522              :                 }
    8523           41 :               default:;
    8524              :               }
    8525           41 :           {
    8526           41 :             tree _p1_pops[1];
    8527           41 :             if (tree_nop_convert (_p1, _p1_pops))
    8528              :               {
    8529            0 :                 tree _q50 = _p1_pops[0];
    8530            0 :                 switch (TREE_CODE (_q50))
    8531              :                   {
    8532            0 :                   case BIT_NOT_EXPR:
    8533            0 :                     {
    8534            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8535            0 :                       {
    8536            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8537            0 :                         tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8538            0 :                         if (res) return res;
    8539              :                       }
    8540            0 :                       break;
    8541              :                     }
    8542              :                   default:;
    8543              :                   }
    8544              :               }
    8545              :           }
    8546           41 :           if (CONSTANT_CLASS_P (_p1))
    8547              :             {
    8548           41 :               {
    8549           41 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8550           41 :                 tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8551           41 :                 if (res) return res;
    8552              :               }
    8553              :             }
    8554              :             break;
    8555              :           }
    8556              :         default:;
    8557              :         }
    8558              :     }
    8559              : }
    8560     26335534 :   switch (TREE_CODE (_p1))
    8561              :     {
    8562       924102 :     case REAL_CST:
    8563       924102 :       {
    8564       924102 :         {
    8565       924102 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8566       924102 :           tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8567       924102 :           if (res) return res;
    8568              :         }
    8569       923100 :         break;
    8570              :       }
    8571     26334532 :     default:;
    8572              :     }
    8573     26334532 :   switch (TREE_CODE (_p0))
    8574              :     {
    8575       654334 :     case PLUS_EXPR:
    8576       654334 :       {
    8577       654334 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8578       654334 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8579       654334 :         switch (TREE_CODE (_q21))
    8580              :           {
    8581          576 :           case REAL_CST:
    8582          576 :             {
    8583          576 :               switch (TREE_CODE (_p1))
    8584              :                 {
    8585          405 :                 case REAL_CST:
    8586          405 :                   {
    8587          405 :                     {
    8588          405 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8589          405 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR);
    8590          405 :                       if (res) return res;
    8591              :                     }
    8592          405 :                     break;
    8593              :                   }
    8594              :                 default:;
    8595              :                 }
    8596              :               break;
    8597              :             }
    8598              :           default:;
    8599              :           }
    8600              :         break;
    8601              :       }
    8602        95503 :     case MINUS_EXPR:
    8603        95503 :       {
    8604        95503 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8605        95503 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8606        95503 :         switch (TREE_CODE (_q21))
    8607              :           {
    8608           60 :           case REAL_CST:
    8609           60 :             {
    8610           60 :               switch (TREE_CODE (_p1))
    8611              :                 {
    8612           60 :                 case REAL_CST:
    8613           60 :                   {
    8614           60 :                     {
    8615           60 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8616           60 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, MINUS_EXPR, EQ_EXPR);
    8617           60 :                       if (res) return res;
    8618              :                     }
    8619           60 :                     break;
    8620              :                   }
    8621              :                 default:;
    8622              :                 }
    8623              :               break;
    8624              :             }
    8625        95503 :           default:;
    8626              :           }
    8627        95503 :         switch (TREE_CODE (_q20))
    8628              :           {
    8629          273 :           case REAL_CST:
    8630          273 :             {
    8631          273 :               switch (TREE_CODE (_p1))
    8632              :                 {
    8633          245 :                 case REAL_CST:
    8634          245 :                   {
    8635          245 :                     {
    8636          245 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8637          245 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8638          245 :                       if (res) return res;
    8639              :                     }
    8640          244 :                     break;
    8641              :                   }
    8642              :                 default:;
    8643              :                 }
    8644              :               break;
    8645              :             }
    8646              :           default:;
    8647              :           }
    8648              :         break;
    8649              :       }
    8650         2629 :     case FLOAT_EXPR:
    8651         2629 :       {
    8652         2629 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8653         2629 :         switch (TREE_CODE (_p1))
    8654              :           {
    8655            1 :           case FLOAT_EXPR:
    8656            1 :             {
    8657            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8658            1 :               {
    8659            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8660            1 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8661            1 :                 if (res) return res;
    8662              :               }
    8663            0 :               break;
    8664              :             }
    8665          180 :           case REAL_CST:
    8666          180 :             {
    8667          180 :               {
    8668          180 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8669          180 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8670          180 :                 if (res) return res;
    8671              :               }
    8672          149 :               break;
    8673              :             }
    8674              :           default:;
    8675              :           }
    8676              :         break;
    8677              :       }
    8678         6788 :     case EXACT_DIV_EXPR:
    8679         6788 :       {
    8680         6788 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8681         6788 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8682         6788 :         switch (TREE_CODE (_p1))
    8683              :           {
    8684           33 :           case INTEGER_CST:
    8685           33 :             {
    8686           33 :               {
    8687           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8688           33 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8689           33 :                 if (res) return res;
    8690              :               }
    8691            0 :               break;
    8692              :             }
    8693              :           default:;
    8694              :           }
    8695              :         break;
    8696              :       }
    8697         1025 :     case NEGATE_EXPR:
    8698         1025 :       {
    8699         1025 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8700         1025 :         switch (TREE_CODE (_p1))
    8701              :           {
    8702            1 :           case NEGATE_EXPR:
    8703            1 :             {
    8704            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8705            1 :               {
    8706            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8707            1 :                 tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8708            1 :                 if (res) return res;
    8709              :               }
    8710            0 :               break;
    8711              :             }
    8712         1024 :           default:;
    8713              :           }
    8714         1024 :       if (CONSTANT_CLASS_P (_p1))
    8715              :         {
    8716          210 :           {
    8717          210 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8718          210 :             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8719          210 :             if (res) return res;
    8720              :           }
    8721              :         }
    8722              :         break;
    8723              :       }
    8724         1364 :     case ABS_EXPR:
    8725         1364 :       {
    8726         1364 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8727         1364 :         if (zerop (_p1))
    8728              :           {
    8729           66 :             {
    8730           66 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8731           66 :               const enum tree_code eqne = EQ_EXPR;
    8732           66 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1505;
    8733           66 :               {
    8734           66 :                 tree res_op0;
    8735           66 :                 res_op0 = captures[0];
    8736           66 :                 tree res_op1;
    8737           66 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    8738           66 :                 tree _r;
    8739           66 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    8740           66 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    8741            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    8742           66 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    8743           66 :                 return _r;
    8744              :               }
    8745            0 : next_after_fail1505:;
    8746              :             }
    8747              :           }
    8748              :         break;
    8749              :       }
    8750            1 :     case ABSU_EXPR:
    8751            1 :       {
    8752            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8753            1 :         if (zerop (_p1))
    8754              :           {
    8755            0 :             {
    8756            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8757            0 :               const enum tree_code eqne = EQ_EXPR;
    8758            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1506;
    8759            0 :               {
    8760            0 :                 tree res_op0;
    8761            0 :                 res_op0 = captures[0];
    8762            0 :                 tree res_op1;
    8763            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    8764            0 :                 tree _r;
    8765            0 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    8766            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    8767            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    8768            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    8769            0 :                 return _r;
    8770              :               }
    8771            0 : next_after_fail1506:;
    8772              :             }
    8773              :           }
    8774              :         break;
    8775              :       }
    8776      4794305 :     CASE_CONVERT:
    8777      4794305 :       {
    8778      4794305 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8779      4794305 :         switch (TREE_CODE (_p1))
    8780              :           {
    8781      1201393 :           CASE_CONVERT:
    8782      1201393 :             {
    8783      1201393 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8784      1201393 :               {
    8785      1201393 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8786      1201393 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8787      1201393 :                 if (res) return res;
    8788              :               }
    8789       580494 :               break;
    8790              :             }
    8791      4173406 :           default:;
    8792              :           }
    8793      4173406 :         {
    8794      4173406 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8795      4173406 :           tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8796      4173406 :           if (res) return res;
    8797              :         }
    8798      2118733 :         switch (TREE_CODE (_q20))
    8799              :           {
    8800            3 :           case BIT_IOR_EXPR:
    8801            3 :             {
    8802            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8803            3 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8804            3 :               switch (TREE_CODE (_q31))
    8805              :                 {
    8806            0 :                 case INTEGER_CST:
    8807            0 :                   {
    8808            0 :                     switch (TREE_CODE (_p1))
    8809              :                       {
    8810            0 :                       case INTEGER_CST:
    8811            0 :                         {
    8812            0 :                           {
    8813            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    8814            0 :                             tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8815            0 :                             if (res) return res;
    8816              :                           }
    8817            0 :                           break;
    8818              :                         }
    8819              :                       default:;
    8820              :                       }
    8821              :                     break;
    8822              :                   }
    8823              :                 default:;
    8824              :                 }
    8825              :               break;
    8826              :             }
    8827              :           default:;
    8828              :           }
    8829              :         break;
    8830              :       }
    8831      8805090 :     case SSA_NAME:
    8832      8805090 :       {
    8833      8805090 :         switch (TREE_CODE (_p1))
    8834              :           {
    8835       783307 :           case ADDR_EXPR:
    8836       783307 :             {
    8837       783307 :               {
    8838       783307 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8839       783307 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8840       783307 :                 if (res) return res;
    8841              :               }
    8842       783307 :               break;
    8843              :             }
    8844              :           default:;
    8845              :           }
    8846              :         break;
    8847              :       }
    8848        33566 :     case BIT_IOR_EXPR:
    8849        33566 :       {
    8850        33566 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8851        33566 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8852        33566 :         switch (TREE_CODE (_q21))
    8853              :           {
    8854         1507 :           case INTEGER_CST:
    8855         1507 :             {
    8856         1507 :               switch (TREE_CODE (_p1))
    8857              :                 {
    8858          464 :                 case INTEGER_CST:
    8859          464 :                   {
    8860          464 :                     {
    8861          464 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8862          464 :                       tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8863          464 :                       if (res) return res;
    8864              :                     }
    8865          464 :                     break;
    8866              :                   }
    8867              :                 default:;
    8868              :                 }
    8869              :               break;
    8870              :             }
    8871              :           default:;
    8872              :           }
    8873              :         break;
    8874              :       }
    8875          577 :     case BIT_XOR_EXPR:
    8876          577 :       {
    8877          577 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8878          577 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8879          577 :         if (integer_zerop (_p1))
    8880              :           {
    8881          163 :             {
    8882          163 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8883          163 :               tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8884          163 :               if (res) return res;
    8885              :             }
    8886              :           }
    8887          414 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8888              :           {
    8889           29 :             {
    8890           29 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8891           29 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8892           29 :               if (res) return res;
    8893              :             }
    8894              :           }
    8895          385 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8896              :           {
    8897           30 :             {
    8898           30 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8899           30 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8900           30 :               if (res) return res;
    8901              :             }
    8902              :           }
    8903              :         break;
    8904              :       }
    8905      1925921 :     case CALL_EXPR:
    8906      1925921 :       switch (get_call_combined_fn (_p0))
    8907              :         {
    8908            3 :         case CFN_BUILT_IN_SQRTF:
    8909            3 :           if (call_expr_nargs (_p0) == 1)
    8910              :     {
    8911            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8912            3 :               switch (TREE_CODE (_p1))
    8913              :                 {
    8914            0 :                 case REAL_CST:
    8915            0 :                   {
    8916            0 :                     {
    8917            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8918            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    8919            0 :                       if (res) return res;
    8920              :                     }
    8921            0 :                     break;
    8922              :                   }
    8923            3 :                 case CALL_EXPR:
    8924            3 :                   switch (get_call_combined_fn (_p1))
    8925              :                     {
    8926            3 :                     case CFN_BUILT_IN_SQRTF:
    8927            3 :                       if (call_expr_nargs (_p1) == 1)
    8928              :     {
    8929            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8930            3 :                           {
    8931            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8932            3 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    8933            3 :                             if (res) return res;
    8934              :                           }
    8935              :                         }
    8936              :                       break;
    8937              :                     default:;
    8938              :                     }
    8939              :                   break;
    8940              :                 default:;
    8941              :                 }
    8942              :             }
    8943              :           break;
    8944            3 :         case CFN_BUILT_IN_SQRTL:
    8945            3 :           if (call_expr_nargs (_p0) == 1)
    8946              :     {
    8947            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8948            3 :               switch (TREE_CODE (_p1))
    8949              :                 {
    8950            0 :                 case REAL_CST:
    8951            0 :                   {
    8952            0 :                     {
    8953            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8954            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    8955            0 :                       if (res) return res;
    8956              :                     }
    8957            0 :                     break;
    8958              :                   }
    8959            3 :                 case CALL_EXPR:
    8960            3 :                   switch (get_call_combined_fn (_p1))
    8961              :                     {
    8962            3 :                     case CFN_BUILT_IN_SQRTL:
    8963            3 :                       if (call_expr_nargs (_p1) == 1)
    8964              :     {
    8965            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8966            3 :                           {
    8967            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8968            3 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    8969            3 :                             if (res) return res;
    8970              :                           }
    8971              :                         }
    8972              :                       break;
    8973              :                     default:;
    8974              :                     }
    8975              :                   break;
    8976              :                 default:;
    8977              :                 }
    8978              :             }
    8979              :           break;
    8980            0 :         case CFN_BUILT_IN_SQRT:
    8981            0 :           if (call_expr_nargs (_p0) == 1)
    8982              :     {
    8983            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8984            0 :               switch (TREE_CODE (_p1))
    8985              :                 {
    8986            0 :                 case REAL_CST:
    8987            0 :                   {
    8988            0 :                     {
    8989            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8990            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    8991            0 :                       if (res) return res;
    8992              :                     }
    8993            0 :                     break;
    8994              :                   }
    8995            0 :                 case CALL_EXPR:
    8996            0 :                   switch (get_call_combined_fn (_p1))
    8997              :                     {
    8998            0 :                     case CFN_BUILT_IN_SQRT:
    8999            0 :                       if (call_expr_nargs (_p1) == 1)
    9000              :     {
    9001            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9002            0 :                           {
    9003            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9004            0 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    9005            0 :                             if (res) return res;
    9006              :                           }
    9007              :                         }
    9008              :                       break;
    9009              :                     default:;
    9010              :                     }
    9011              :                   break;
    9012              :                 default:;
    9013              :                 }
    9014              :             }
    9015              :           break;
    9016            0 :         case CFN_SQRT:
    9017            0 :           if (call_expr_nargs (_p0) == 1)
    9018              :     {
    9019            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9020            0 :               switch (TREE_CODE (_p1))
    9021              :                 {
    9022            0 :                 case REAL_CST:
    9023            0 :                   {
    9024            0 :                     {
    9025            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9026            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9027            0 :                       if (res) return res;
    9028              :                     }
    9029            0 :                     break;
    9030              :                   }
    9031            0 :                 case CALL_EXPR:
    9032            0 :                   switch (get_call_combined_fn (_p1))
    9033              :                     {
    9034            0 :                     case CFN_SQRT:
    9035            0 :                       if (call_expr_nargs (_p1) == 1)
    9036              :     {
    9037            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9038            0 :                           {
    9039            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9040            0 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9041            0 :                             if (res) return res;
    9042              :                           }
    9043              :                         }
    9044              :                       break;
    9045              :                     default:;
    9046              :                     }
    9047              :                   break;
    9048              :                 default:;
    9049              :                 }
    9050              :             }
    9051              :           break;
    9052              :         default:;
    9053              :         }
    9054              :       break;
    9055     23658405 :     default:;
    9056              :     }
    9057     23658405 :   switch (TREE_CODE (_p1))
    9058              :     {
    9059           22 :     case BIT_XOR_EXPR:
    9060           22 :       {
    9061           22 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9062           22 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9063           22 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9064              :           {
    9065            0 :             {
    9066            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9067            0 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9068            0 :               if (res) return res;
    9069              :             }
    9070              :           }
    9071           22 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9072              :           {
    9073            0 :             {
    9074            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9075            0 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9076            0 :               if (res) return res;
    9077              :             }
    9078              :           }
    9079              :         break;
    9080              :       }
    9081     23658405 :     default:;
    9082              :     }
    9083     23658405 :   switch (TREE_CODE (_p0))
    9084              :     {
    9085       822749 :     case BIT_AND_EXPR:
    9086       822749 :       {
    9087       822749 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9088       822749 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9089       822749 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9090              :           {
    9091          129 :             {
    9092          129 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9093          129 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9094          129 :               if (res) return res;
    9095              :             }
    9096              :           }
    9097       822748 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9098              :           {
    9099       140760 :             {
    9100       140760 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9101       140760 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9102       140760 :               if (res) return res;
    9103              :             }
    9104              :           }
    9105              :         break;
    9106              :       }
    9107     23658404 :     default:;
    9108              :     }
    9109     23658404 :   switch (TREE_CODE (_p1))
    9110              :     {
    9111        24325 :     case BIT_AND_EXPR:
    9112        24325 :       {
    9113        24325 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9114        24325 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9115        24325 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9116              :           {
    9117            0 :             {
    9118            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9119            0 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9120            0 :               if (res) return res;
    9121              :             }
    9122              :           }
    9123        24325 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9124              :           {
    9125            0 :             {
    9126            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9127            0 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9128            0 :               if (res) return res;
    9129              :             }
    9130              :           }
    9131              :         break;
    9132              :       }
    9133     23658404 :     default:;
    9134              :     }
    9135     23658404 :   switch (TREE_CODE (_p0))
    9136              :     {
    9137      2118733 :     CASE_CONVERT:
    9138      2118733 :       {
    9139      2118733 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9140      2118733 :         switch (TREE_CODE (_q20))
    9141              :           {
    9142            2 :           case BIT_AND_EXPR:
    9143            2 :             {
    9144            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9145            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9146            2 :               switch (TREE_CODE (_q30))
    9147              :                 {
    9148            0 :                 CASE_CONVERT:
    9149            0 :                   {
    9150            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9151            0 :                     switch (TREE_CODE (_q31))
    9152              :                       {
    9153            0 :                       case INTEGER_CST:
    9154            0 :                         {
    9155            0 :                           switch (TREE_CODE (_p1))
    9156              :                             {
    9157            0 :                             CASE_CONVERT:
    9158            0 :                               {
    9159            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    9160            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    9161              :                                   {
    9162            0 :                                     {
    9163            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
    9164            0 :                                       tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9165            0 :                                       if (res) return res;
    9166              :                                     }
    9167              :                                   }
    9168              :                                 break;
    9169              :                               }
    9170              :                             default:;
    9171              :                             }
    9172              :                           break;
    9173              :                         }
    9174              :                       default:;
    9175              :                       }
    9176              :                     break;
    9177              :                   }
    9178              :                 default:;
    9179              :                 }
    9180              :               break;
    9181              :             }
    9182      2118733 :           default:;
    9183              :           }
    9184      2118733 :         switch (TREE_CODE (_p1))
    9185              :           {
    9186       580494 :           CASE_CONVERT:
    9187       580494 :             {
    9188       580494 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9189       580494 :               switch (TREE_CODE (_q40))
    9190              :                 {
    9191            7 :                 case BIT_AND_EXPR:
    9192            7 :                   {
    9193            7 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9194            7 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9195            7 :                     switch (TREE_CODE (_q50))
    9196              :                       {
    9197            7 :                       CASE_CONVERT:
    9198            7 :                         {
    9199            7 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    9200            7 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9201              :                             {
    9202            0 :                               switch (TREE_CODE (_q51))
    9203              :                                 {
    9204            0 :                                 case INTEGER_CST:
    9205            0 :                                   {
    9206            0 :                                     {
    9207            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
    9208            0 :                                       tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9209            0 :                                       if (res) return res;
    9210              :                                     }
    9211            0 :                                     break;
    9212              :                                   }
    9213              :                                 default:;
    9214              :                                 }
    9215              :                             }
    9216              :                           break;
    9217              :                         }
    9218              :                       default:;
    9219              :                       }
    9220              :                     break;
    9221              :                   }
    9222              :                 default:;
    9223              :                 }
    9224              :               break;
    9225              :             }
    9226              :           default:;
    9227              :           }
    9228              :         break;
    9229              :       }
    9230        33566 :     case BIT_IOR_EXPR:
    9231        33566 :       {
    9232        33566 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9233        33566 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9234        33566 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9235              :           {
    9236           24 :             {
    9237           24 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9238           24 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9239           24 :               if (res) return res;
    9240              :             }
    9241              :           }
    9242        33566 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9243              :           {
    9244           46 :             {
    9245           46 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9246           46 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9247           46 :               if (res) return res;
    9248              :             }
    9249              :           }
    9250              :         break;
    9251              :       }
    9252     23658404 :     default:;
    9253              :     }
    9254     23658404 :   switch (TREE_CODE (_p1))
    9255              :     {
    9256          618 :     case BIT_IOR_EXPR:
    9257          618 :       {
    9258          618 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9259          618 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9260          618 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9261              :           {
    9262            0 :             {
    9263            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9264            0 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9265            0 :               if (res) return res;
    9266              :             }
    9267              :           }
    9268          618 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9269              :           {
    9270            0 :             {
    9271            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9272            0 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9273            0 :               if (res) return res;
    9274              :             }
    9275              :           }
    9276              :         break;
    9277              :       }
    9278     23658404 :     default:;
    9279              :     }
    9280     23658404 :   switch (TREE_CODE (_p0))
    9281              :     {
    9282      2118733 :     CASE_CONVERT:
    9283      2118733 :       {
    9284      2118733 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9285      2118733 :         switch (TREE_CODE (_q20))
    9286              :           {
    9287            9 :           case BIT_XOR_EXPR:
    9288            9 :             {
    9289            9 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9290            9 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9291            9 :               switch (TREE_CODE (_q31))
    9292              :                 {
    9293            7 :                 case INTEGER_CST:
    9294            7 :                   {
    9295            7 :                     switch (TREE_CODE (_p1))
    9296              :                       {
    9297            0 :                       case INTEGER_CST:
    9298            0 :                         {
    9299            0 :                           {
    9300            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9301            0 :                             tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9302            0 :                             if (res) return res;
    9303              :                           }
    9304            0 :                           break;
    9305              :                         }
    9306              :                       default:;
    9307              :                       }
    9308              :                     break;
    9309              :                   }
    9310              :                 default:;
    9311              :                 }
    9312              :               break;
    9313              :             }
    9314              :           default:;
    9315              :           }
    9316              :         break;
    9317              :       }
    9318          355 :     case BIT_XOR_EXPR:
    9319          355 :       {
    9320          355 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9321          355 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9322          355 :         switch (TREE_CODE (_q21))
    9323              :           {
    9324          103 :           case INTEGER_CST:
    9325          103 :             {
    9326          103 :               switch (TREE_CODE (_p1))
    9327              :                 {
    9328           16 :                 case INTEGER_CST:
    9329           16 :                   {
    9330           16 :                     {
    9331           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9332           16 :                       tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9333           16 :                       if (res) return res;
    9334              :                     }
    9335            0 :                     break;
    9336              :                   }
    9337              :                 default:;
    9338              :                 }
    9339              :               break;
    9340              :             }
    9341              :           default:;
    9342              :           }
    9343              :         break;
    9344              :       }
    9345     23658388 :     default:;
    9346              :     }
    9347     23658388 : {
    9348     23658388 :   tree _p0_pops[1];
    9349     23658388 :   if (tree_nop_convert (_p0, _p0_pops))
    9350              :     {
    9351      1749298 :       tree _q20 = _p0_pops[0];
    9352      1749298 :       if (integer_zerop (_p1))
    9353              :         {
    9354       638441 :           {
    9355       638441 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9356       638441 :             tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9357       638441 :             if (res) return res;
    9358              :           }
    9359              :         }
    9360              :     }
    9361              : }
    9362     23162587 :   if (integer_zerop (_p1))
    9363              :     {
    9364      9538529 :       {
    9365      9538529 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9366      9538529 :         tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9367      9538529 :         if (res) return res;
    9368              :       }
    9369              :     }
    9370     23088530 :   switch (TREE_CODE (_p0))
    9371              :     {
    9372       822748 :     case BIT_AND_EXPR:
    9373       822748 :       {
    9374       822748 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9375       822748 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9376       822748 :         switch (TREE_CODE (_p1))
    9377              :           {
    9378        24047 :           case BIT_AND_EXPR:
    9379        24047 :             {
    9380        24047 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9381        24047 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9382        24047 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9383              :                 {
    9384        23522 :                   {
    9385        23522 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9386        23522 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9387        23522 :                     if (res) return res;
    9388              :                   }
    9389              :                 }
    9390          525 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9391              :                 {
    9392           28 :                   {
    9393           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9394           28 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9395           28 :                     if (res) return res;
    9396              :                   }
    9397              :                 }
    9398          497 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9399              :                 {
    9400           28 :                   {
    9401           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    9402           28 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9403           28 :                     if (res) return res;
    9404              :                   }
    9405              :                 }
    9406          469 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9407              :                 {
    9408           28 :                   {
    9409           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    9410           28 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9411           28 :                     if (res) return res;
    9412              :                   }
    9413              :                 }
    9414              :               break;
    9415              :             }
    9416       799142 :           default:;
    9417              :           }
    9418       799142 :         if (integer_pow2p (_q21))
    9419              :           {
    9420       279378 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9421              :               {
    9422       107991 :                 {
    9423       107991 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9424       107991 :                   tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    9425       107991 :                   if (res) return res;
    9426              :                 }
    9427              :               }
    9428              :           }
    9429       691169 :         switch (TREE_CODE (_q20))
    9430              :           {
    9431        46583 :           CASE_CONVERT:
    9432        46583 :             {
    9433        46583 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9434        46583 :               if (integer_pow2p (_q21))
    9435              :                 {
    9436         9374 :                   if (integer_zerop (_p1))
    9437              :                     {
    9438         9372 :                       {
    9439         9372 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
    9440         9372 :                         tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9441         9372 :                         if (res) return res;
    9442              :                       }
    9443              :                     }
    9444              :                 }
    9445              :               break;
    9446              :             }
    9447       690212 :           default:;
    9448              :           }
    9449       690212 :         if (integer_pow2p (_q21))
    9450              :           {
    9451       170448 :             if (integer_zerop (_p1))
    9452              :               {
    9453       170309 :                 {
    9454       170309 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
    9455       170309 :                   tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9456       170309 :                   if (res) return res;
    9457              :                 }
    9458              :               }
    9459              :           }
    9460              :         break;
    9461              :       }
    9462         1211 :     case GE_EXPR:
    9463         1211 :       {
    9464         1211 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9465         1211 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9466         1211 :         if (integer_zerop (_q21))
    9467              :           {
    9468           98 :             switch (TREE_CODE (_p1))
    9469              :               {
    9470            5 :               case GE_EXPR:
    9471            5 :                 {
    9472            5 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9473            5 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9474            5 :                   if (integer_zerop (_q51))
    9475              :                     {
    9476            5 :                       {
    9477            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9478            5 :                         tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, GE_EXPR);
    9479            5 :                         if (res) return res;
    9480              :                       }
    9481              :                     }
    9482              :                   break;
    9483              :                 }
    9484            1 :               case LT_EXPR:
    9485            1 :                 {
    9486            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9487            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9488            1 :                   if (integer_zerop (_q51))
    9489              :                     {
    9490            1 :                       {
    9491            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    9492            1 :                         tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9493            1 :                         if (res) return res;
    9494              :                       }
    9495              :                     }
    9496              :                   break;
    9497              :                 }
    9498              :               default:;
    9499              :               }
    9500              :           }
    9501              :         break;
    9502              :       }
    9503          837 :     case LT_EXPR:
    9504          837 :       {
    9505          837 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9506          837 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9507          837 :         if (integer_zerop (_q21))
    9508              :           {
    9509          140 :             switch (TREE_CODE (_p1))
    9510              :               {
    9511           11 :               case LT_EXPR:
    9512           11 :                 {
    9513           11 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9514           11 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9515           11 :                   if (integer_zerop (_q51))
    9516              :                     {
    9517            9 :                       {
    9518            9 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9519            9 :                         tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GE_EXPR);
    9520            9 :                         if (res) return res;
    9521              :                       }
    9522              :                     }
    9523              :                   break;
    9524              :                 }
    9525            1 :               case GE_EXPR:
    9526            1 :                 {
    9527            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9528            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9529            1 :                   if (integer_zerop (_q51))
    9530              :                     {
    9531            1 :                       {
    9532            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9533            1 :                         tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9534            1 :                         if (res) return res;
    9535              :                       }
    9536              :                     }
    9537              :                   break;
    9538              :                 }
    9539              :               default:;
    9540              :               }
    9541              :           }
    9542              :         break;
    9543              :       }
    9544        33566 :     case BIT_IOR_EXPR:
    9545        33566 :       {
    9546        33566 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9547        33566 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9548        33566 :         switch (TREE_CODE (_q21))
    9549              :           {
    9550          658 :           CASE_CONVERT:
    9551          658 :             {
    9552          658 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9553          658 :               switch (TREE_CODE (_q40))
    9554              :                 {
    9555            0 :                 case NE_EXPR:
    9556            0 :                   {
    9557            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9558            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9559            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9560              :                       {
    9561            0 :                         if (integer_zerop (_q51))
    9562              :                           {
    9563            0 :                             if (integer_zerop (_p1))
    9564              :                               {
    9565            0 :                                 {
    9566            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9567            0 :                                   tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9568            0 :                                   if (res) return res;
    9569              :                                 }
    9570              :                               }
    9571              :                           }
    9572              :                       }
    9573              :                     break;
    9574              :                   }
    9575              :                 default:;
    9576              :                 }
    9577              :               break;
    9578              :             }
    9579        33566 :           default:;
    9580              :           }
    9581        33566 :         switch (TREE_CODE (_q20))
    9582              :           {
    9583          643 :           CASE_CONVERT:
    9584          643 :             {
    9585          643 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9586          643 :               switch (TREE_CODE (_q30))
    9587              :                 {
    9588            0 :                 case NE_EXPR:
    9589            0 :                   {
    9590            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9591            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    9592            0 :                     if (integer_zerop (_q41))
    9593              :                       {
    9594            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
    9595              :                           {
    9596            0 :                             if (integer_zerop (_p1))
    9597              :                               {
    9598            0 :                                 {
    9599            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    9600            0 :                                   tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9601            0 :                                   if (res) return res;
    9602              :                                 }
    9603              :                               }
    9604              :                           }
    9605              :                       }
    9606              :                     break;
    9607              :                   }
    9608              :                 default:;
    9609              :                 }
    9610              :               break;
    9611              :             }
    9612        33566 :           default:;
    9613              :           }
    9614        33566 :         switch (TREE_CODE (_q21))
    9615              :           {
    9616            1 :           case NE_EXPR:
    9617            1 :             {
    9618            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9619            1 :               tree _q41 = TREE_OPERAND (_q21, 1);
    9620            1 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    9621              :                 {
    9622            0 :                   if (integer_zerop (_q41))
    9623              :                     {
    9624            0 :                       if (integer_zerop (_p1))
    9625              :                         {
    9626            0 :                           {
    9627            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9628            0 :                             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9629            0 :                             if (res) return res;
    9630              :                           }
    9631              :                         }
    9632              :                     }
    9633              :                 }
    9634              :               break;
    9635              :             }
    9636        33566 :           default:;
    9637              :           }
    9638        33566 :         switch (TREE_CODE (_q20))
    9639              :           {
    9640            8 :           case NE_EXPR:
    9641            8 :             {
    9642            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9643            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9644            8 :               if (integer_zerop (_q31))
    9645              :                 {
    9646            0 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
    9647              :                     {
    9648            0 :                       if (integer_zerop (_p1))
    9649              :                         {
    9650            0 :                           {
    9651            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    9652            0 :                             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9653            0 :                             if (res) return res;
    9654              :                           }
    9655              :                         }
    9656              :                     }
    9657              :                 }
    9658              :               break;
    9659              :             }
    9660              :           default:;
    9661              :           }
    9662              :         break;
    9663              :       }
    9664      1622929 :     CASE_CONVERT:
    9665      1622929 :       {
    9666      1622929 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9667      1622929 :         switch (TREE_CODE (_q20))
    9668              :           {
    9669       220387 :           case ADDR_EXPR:
    9670       220387 :             {
    9671       220387 :               switch (TREE_CODE (_p1))
    9672              :                 {
    9673       192292 :                 CASE_CONVERT:
    9674       192292 :                   {
    9675       192292 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9676       192292 :                     switch (TREE_CODE (_q40))
    9677              :                       {
    9678       192292 :                       case ADDR_EXPR:
    9679       192292 :                         {
    9680       192292 :                           {
    9681       192292 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9682       192292 :                             tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9683       192292 :                             if (res) return res;
    9684              :                           }
    9685           30 :                           break;
    9686              :                         }
    9687              :                       default:;
    9688              :                       }
    9689              :                     break;
    9690              :                   }
    9691        20870 :                 case ADDR_EXPR:
    9692        20870 :                   {
    9693        20870 :                     {
    9694        20870 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9695        20870 :                       tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9696        20870 :                       if (res) return res;
    9697              :                     }
    9698         7896 :                     break;
    9699              :                   }
    9700              :                 default:;
    9701              :                 }
    9702              :               break;
    9703              :             }
    9704              :           default:;
    9705              :           }
    9706              :         break;
    9707              :       }
    9708        18449 :     case ADDR_EXPR:
    9709        18449 :       {
    9710        18449 :         switch (TREE_CODE (_p1))
    9711              :           {
    9712          119 :           CASE_CONVERT:
    9713          119 :             {
    9714          119 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9715          119 :               switch (TREE_CODE (_q30))
    9716              :                 {
    9717          119 :                 case ADDR_EXPR:
    9718          119 :                   {
    9719          119 :                     {
    9720          119 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9721          119 :                       tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9722          119 :                       if (res) return res;
    9723              :                     }
    9724            0 :                     break;
    9725              :                   }
    9726              :                 default:;
    9727              :                 }
    9728              :               break;
    9729              :             }
    9730        15954 :           case ADDR_EXPR:
    9731        15954 :             {
    9732        15954 :               {
    9733        15954 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9734        15954 :                 tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9735        15954 :                 if (res) return res;
    9736              :               }
    9737         7103 :               break;
    9738              :             }
    9739              :           default:;
    9740              :           }
    9741              :         break;
    9742              :       }
    9743     22741480 :     default:;
    9744              :     }
    9745     22741480 :   {
    9746     22741480 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9747     22741480 :     tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9748     22741480 :     if (res) return res;
    9749              :   }
    9750     22737959 :   switch (TREE_CODE (_p0))
    9751              :     {
    9752      1417693 :     CASE_CONVERT:
    9753      1417693 :       {
    9754      1417693 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9755      1417693 :         switch (TREE_CODE (_p1))
    9756              :           {
    9757       245237 :           case INTEGER_CST:
    9758       245237 :             {
    9759       245237 :               {
    9760       245237 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9761       245237 :                 tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9762       245237 :                 if (res) return res;
    9763              :               }
    9764       243862 :               break;
    9765              :             }
    9766      1416318 :           default:;
    9767              :           }
    9768      1416318 :         switch (TREE_CODE (_q20))
    9769              :           {
    9770            0 :           case NE_EXPR:
    9771            0 :             {
    9772            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9773            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9774            0 :               switch (TREE_CODE (_q31))
    9775              :                 {
    9776            0 :                 case INTEGER_CST:
    9777            0 :                   {
    9778            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9779              :                       {
    9780            0 :                         {
    9781            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9782            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    9783            0 :                           if (res) return res;
    9784              :                         }
    9785              :                       }
    9786              :                     break;
    9787              :                   }
    9788              :                 default:;
    9789              :                 }
    9790              :               break;
    9791              :             }
    9792            0 :           case EQ_EXPR:
    9793            0 :             {
    9794            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9795            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9796            0 :               switch (TREE_CODE (_q31))
    9797              :                 {
    9798            0 :                 case INTEGER_CST:
    9799            0 :                   {
    9800            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9801              :                       {
    9802            0 :                         {
    9803            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9804            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9805            0 :                           if (res) return res;
    9806              :                         }
    9807              :                       }
    9808              :                     break;
    9809              :                   }
    9810              :                 default:;
    9811              :                 }
    9812              :               break;
    9813              :             }
    9814              :           default:;
    9815              :           }
    9816              :         break;
    9817              :       }
    9818     22736584 :     default:;
    9819              :     }
    9820     22736584 :   switch (TREE_CODE (_p1))
    9821              :     {
    9822       673867 :     CASE_CONVERT:
    9823       673867 :       {
    9824       673867 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9825       673867 :         switch (TREE_CODE (_q30))
    9826              :           {
    9827            0 :           case NE_EXPR:
    9828            0 :             {
    9829            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9830            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9831            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9832              :                 {
    9833            0 :                   switch (TREE_CODE (_q41))
    9834              :                     {
    9835            0 :                     case INTEGER_CST:
    9836            0 :                       {
    9837            0 :                         {
    9838            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    9839            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    9840            0 :                           if (res) return res;
    9841              :                         }
    9842            0 :                         break;
    9843              :                       }
    9844              :                     default:;
    9845              :                     }
    9846              :                 }
    9847              :               break;
    9848              :             }
    9849            0 :           case EQ_EXPR:
    9850            0 :             {
    9851            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9852            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9853            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9854              :                 {
    9855            0 :                   switch (TREE_CODE (_q41))
    9856              :                     {
    9857            0 :                     case INTEGER_CST:
    9858            0 :                       {
    9859            0 :                         {
    9860            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    9861            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9862            0 :                           if (res) return res;
    9863              :                         }
    9864            0 :                         break;
    9865              :                       }
    9866              :                     default:;
    9867              :                     }
    9868              :                 }
    9869              :               break;
    9870              :             }
    9871              :           default:;
    9872              :           }
    9873              :         break;
    9874              :       }
    9875     22736584 :     default:;
    9876              :     }
    9877     22736584 : if (integer_onep (_p1))
    9878              :   {
    9879      1743689 :     {
    9880      1743689 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9881      1743689 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
    9882      1743689 :  && types_match (type, TREE_TYPE (captures[0]))
    9883              : )
    9884              :         {
    9885       113586 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1507;
    9886       113586 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1507;
    9887       113586 :           {
    9888       113586 :             tree res_op0;
    9889       113586 :             res_op0 = captures[0];
    9890       113586 :             tree _r;
    9891       113586 :             _r = non_lvalue_loc (loc, res_op0);
    9892       113586 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 981, __FILE__, __LINE__, true);
    9893       113586 :             return _r;
    9894              :           }
    9895              : next_after_fail1507:;
    9896              :         }
    9897              :     }
    9898              :   }
    9899     22622998 :   switch (TREE_CODE (_p0))
    9900              :     {
    9901       689920 :     case BIT_AND_EXPR:
    9902       689920 :       {
    9903       689920 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9904       689920 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9905       689920 :         switch (TREE_CODE (_q21))
    9906              :           {
    9907          420 :           case VECTOR_CST:
    9908          420 :             {
    9909          420 :               if (integer_zerop (_p1))
    9910              :                 {
    9911          393 :                   {
    9912          393 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9913          393 :                     const enum tree_code cmp = EQ_EXPR;
    9914          393 :                     const enum tree_code icmp = LE_EXPR;
    9915          393 :                     {
    9916          393 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
    9917          393 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
    9918              : )
    9919              :                           {
    9920            2 :                             {
    9921            2 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    9922            2 :  ? optab_vector : optab_default;
    9923            2 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    9924            2 :                                 if (target_supports_op_p (utype, icmp, optab)
    9925            2 :  || (optimize_vectors_before_lowering_p ()
    9926            2 :  && (!target_supports_op_p (type, cmp, optab)
    9927            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
    9928              : )
    9929              :                                   {
    9930            2 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    9931              : )
    9932              :                                       {
    9933            2 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1508;
    9934            2 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1508;
    9935            2 :                                         {
    9936            2 :                                           tree res_op0;
    9937            2 :                                           res_op0 = captures[1];
    9938            2 :                                           tree res_op1;
    9939            2 :                                           res_op1 =  csts;
    9940            2 :                                           tree _r;
    9941            2 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    9942            2 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
    9943            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9944            2 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    9945            2 :                                           return _r;
    9946              :                                         }
    9947          391 : next_after_fail1508:;
    9948              :                                       }
    9949              :                                     else
    9950              :                                       {
    9951            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1509;
    9952            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1509;
    9953            0 :                                         {
    9954            0 :                                           tree res_op0;
    9955            0 :                                           {
    9956            0 :                                             tree _o1[1], _r1;
    9957            0 :                                             _o1[0] = captures[1];
    9958            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
    9959              :                                               {
    9960            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
    9961              :                                               }
    9962              :                                             else
    9963              :                                               _r1 = _o1[0];
    9964            0 :                                             res_op0 = _r1;
    9965              :                                           }
    9966            0 :                                           tree res_op1;
    9967            0 :                                           res_op1 =  csts;
    9968            0 :                                           tree _r;
    9969            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    9970            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
    9971            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9972            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    9973            0 :                                           return _r;
    9974              :                                         }
    9975          391 : next_after_fail1509:;
    9976              :                                       }
    9977              :                                   }
    9978              :                             }
    9979              :                           }
    9980              :                     }
    9981              :                   }
    9982              :                 }
    9983              :               break;
    9984              :             }
    9985       629059 :           case INTEGER_CST:
    9986       629059 :             {
    9987       629059 :               if (integer_zerop (_p1))
    9988              :                 {
    9989       520248 :                   {
    9990       520248 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9991       520248 :                     const enum tree_code cmp = EQ_EXPR;
    9992       520248 :                     const enum tree_code icmp = LE_EXPR;
    9993       520248 :                     {
    9994       520248 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
    9995       520248 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
    9996              : )
    9997              :                           {
    9998         1046 :                             {
    9999         1046 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10000         1046 :  ? optab_vector : optab_default;
   10001         1046 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10002         1046 :                                 if (target_supports_op_p (utype, icmp, optab)
   10003         1046 :  || (optimize_vectors_before_lowering_p ()
   10004          902 :  && (!target_supports_op_p (type, cmp, optab)
   10005            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10006              : )
   10007              :                                   {
   10008          902 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10009              : )
   10010              :                                       {
   10011          613 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1510;
   10012          613 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1510;
   10013          613 :                                         {
   10014          613 :                                           tree res_op0;
   10015          613 :                                           res_op0 = captures[1];
   10016          613 :                                           tree res_op1;
   10017          613 :                                           res_op1 =  csts;
   10018          613 :                                           tree _r;
   10019          613 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10020          613 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10021            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10022          613 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10023          613 :                                           return _r;
   10024              :                                         }
   10025       519346 : next_after_fail1510:;
   10026              :                                       }
   10027              :                                     else
   10028              :                                       {
   10029          289 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1511;
   10030          289 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1511;
   10031          289 :                                         {
   10032          289 :                                           tree res_op0;
   10033          289 :                                           {
   10034          289 :                                             tree _o1[1], _r1;
   10035          289 :                                             _o1[0] = captures[1];
   10036          289 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10037              :                                               {
   10038          289 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10039              :                                               }
   10040              :                                             else
   10041              :                                               _r1 = _o1[0];
   10042          289 :                                             res_op0 = _r1;
   10043              :                                           }
   10044          289 :                                           tree res_op1;
   10045          289 :                                           res_op1 =  csts;
   10046          289 :                                           tree _r;
   10047          289 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10048          289 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10049            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10050          289 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
   10051          289 :                                           return _r;
   10052              :                                         }
   10053       519346 : next_after_fail1511:;
   10054              :                                       }
   10055              :                                   }
   10056              :                             }
   10057              :                           }
   10058              :                     }
   10059              :                   }
   10060              :                 }
   10061              :               break;
   10062              :             }
   10063       689016 :           default:;
   10064              :           }
   10065       689016 :         switch (TREE_CODE (_q20))
   10066              :           {
   10067            0 :           case VECTOR_CST:
   10068            0 :             {
   10069            0 :               if (integer_zerop (_p1))
   10070              :                 {
   10071            0 :                   {
   10072            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10073            0 :                     const enum tree_code cmp = EQ_EXPR;
   10074            0 :                     const enum tree_code icmp = LE_EXPR;
   10075            0 :                     {
   10076            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10077            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10078              : )
   10079              :                           {
   10080            0 :                             {
   10081            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10082            0 :  ? optab_vector : optab_default;
   10083            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10084            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10085            0 :  || (optimize_vectors_before_lowering_p ()
   10086            0 :  && (!target_supports_op_p (type, cmp, optab)
   10087            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10088              : )
   10089              :                                   {
   10090            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10091              : )
   10092              :                                       {
   10093            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1512;
   10094            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1512;
   10095            0 :                                         {
   10096            0 :                                           tree res_op0;
   10097            0 :                                           res_op0 = captures[1];
   10098            0 :                                           tree res_op1;
   10099            0 :                                           res_op1 =  csts;
   10100            0 :                                           tree _r;
   10101            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10102            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10103            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10104            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10105            0 :                                           return _r;
   10106              :                                         }
   10107            0 : next_after_fail1512:;
   10108              :                                       }
   10109              :                                     else
   10110              :                                       {
   10111            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1513;
   10112            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1513;
   10113            0 :                                         {
   10114            0 :                                           tree res_op0;
   10115            0 :                                           {
   10116            0 :                                             tree _o1[1], _r1;
   10117            0 :                                             _o1[0] = captures[1];
   10118            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10119              :                                               {
   10120            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10121              :                                               }
   10122              :                                             else
   10123              :                                               _r1 = _o1[0];
   10124            0 :                                             res_op0 = _r1;
   10125              :                                           }
   10126            0 :                                           tree res_op1;
   10127            0 :                                           res_op1 =  csts;
   10128            0 :                                           tree _r;
   10129            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10130            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10131            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10132            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
   10133            0 :                                           return _r;
   10134              :                                         }
   10135            0 : next_after_fail1513:;
   10136              :                                       }
   10137              :                                   }
   10138              :                             }
   10139              :                           }
   10140              :                     }
   10141              :                   }
   10142              :                 }
   10143              :               break;
   10144              :             }
   10145            0 :           case INTEGER_CST:
   10146            0 :             {
   10147            0 :               if (integer_zerop (_p1))
   10148              :                 {
   10149            0 :                   {
   10150            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10151            0 :                     const enum tree_code cmp = EQ_EXPR;
   10152            0 :                     const enum tree_code icmp = LE_EXPR;
   10153            0 :                     {
   10154            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10155            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10156              : )
   10157              :                           {
   10158            0 :                             {
   10159            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10160            0 :  ? optab_vector : optab_default;
   10161            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10162            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10163            0 :  || (optimize_vectors_before_lowering_p ()
   10164            0 :  && (!target_supports_op_p (type, cmp, optab)
   10165            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10166              : )
   10167              :                                   {
   10168            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10169              : )
   10170              :                                       {
   10171            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1514;
   10172            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1514;
   10173            0 :                                         {
   10174            0 :                                           tree res_op0;
   10175            0 :                                           res_op0 = captures[1];
   10176            0 :                                           tree res_op1;
   10177            0 :                                           res_op1 =  csts;
   10178            0 :                                           tree _r;
   10179            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10180            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10181            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10182            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10183            0 :                                           return _r;
   10184              :                                         }
   10185            0 : next_after_fail1514:;
   10186              :                                       }
   10187              :                                     else
   10188              :                                       {
   10189            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1515;
   10190            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1515;
   10191            0 :                                         {
   10192            0 :                                           tree res_op0;
   10193            0 :                                           {
   10194            0 :                                             tree _o1[1], _r1;
   10195            0 :                                             _o1[0] = captures[1];
   10196            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10197              :                                               {
   10198            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10199              :                                               }
   10200              :                                             else
   10201              :                                               _r1 = _o1[0];
   10202            0 :                                             res_op0 = _r1;
   10203              :                                           }
   10204            0 :                                           tree res_op1;
   10205            0 :                                           res_op1 =  csts;
   10206            0 :                                           tree _r;
   10207            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10208            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10209            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10210            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
   10211            0 :                                           return _r;
   10212              :                                         }
   10213            0 : next_after_fail1515:;
   10214              :                                       }
   10215              :                                   }
   10216              :                             }
   10217              :                           }
   10218              :                     }
   10219              :                   }
   10220              :                 }
   10221              :               break;
   10222              :             }
   10223              :           default:;
   10224              :           }
   10225              :         break;
   10226              :       }
   10227        16535 :     case RSHIFT_EXPR:
   10228        16535 :       {
   10229        16535 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10230        16535 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10231        16535 :         switch (TREE_CODE (_q20))
   10232              :           {
   10233            1 :           case MULT_EXPR:
   10234            1 :             {
   10235            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10236            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10237            1 :               switch (TREE_CODE (_q30))
   10238              :                 {
   10239            1 :                 CASE_CONVERT:
   10240            1 :                   {
   10241            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10242            1 :                     switch (TREE_CODE (_q31))
   10243              :                       {
   10244            1 :                       CASE_CONVERT:
   10245            1 :                         {
   10246            1 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   10247            1 :                           switch (TREE_CODE (_q21))
   10248              :                             {
   10249            1 :                             case INTEGER_CST:
   10250            1 :                               {
   10251            1 :                                 if (integer_zerop (_p1))
   10252              :                                   {
   10253            1 :                                     {
   10254            1 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   10255            1 :                                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10256            1 :                                       if (res) return res;
   10257              :                                     }
   10258              :                                   }
   10259              :                                 break;
   10260              :                               }
   10261              :                             default:;
   10262              :                             }
   10263              :                           break;
   10264              :                         }
   10265              :                       default:;
   10266              :                       }
   10267              :                     break;
   10268              :                   }
   10269              :                 default:;
   10270              :                 }
   10271              :               break;
   10272              :             }
   10273              :           default:;
   10274              :           }
   10275              :         break;
   10276              :       }
   10277       654322 :     case PLUS_EXPR:
   10278       654322 :       {
   10279       654322 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10280       654322 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10281       654322 :         switch (TREE_CODE (_q21))
   10282              :           {
   10283       603868 :           case INTEGER_CST:
   10284       603868 :             {
   10285       603868 :               switch (TREE_CODE (_p1))
   10286              :                 {
   10287       341831 :                 case INTEGER_CST:
   10288       341831 :                   {
   10289       341831 :                     {
   10290       341831 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10291       341831 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR);
   10292       341831 :                       if (res) return res;
   10293              :                     }
   10294           14 :                     break;
   10295              :                   }
   10296              :                 default:;
   10297              :                 }
   10298              :               break;
   10299              :             }
   10300              :           default:;
   10301              :           }
   10302              :         break;
   10303              :       }
   10304        95502 :     case MINUS_EXPR:
   10305        95502 :       {
   10306        95502 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10307        95502 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10308        95502 :         switch (TREE_CODE (_q21))
   10309              :           {
   10310           19 :           case INTEGER_CST:
   10311           19 :             {
   10312           19 :               switch (TREE_CODE (_p1))
   10313              :                 {
   10314           16 :                 case INTEGER_CST:
   10315           16 :                   {
   10316           16 :                     {
   10317           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10318           16 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR);
   10319           16 :                       if (res) return res;
   10320              :                     }
   10321           16 :                     break;
   10322              :                   }
   10323              :                 default:;
   10324              :                 }
   10325              :               break;
   10326              :             }
   10327        95502 :           default:;
   10328              :           }
   10329        95502 :         switch (TREE_CODE (_q20))
   10330              :           {
   10331        38655 :           case INTEGER_CST:
   10332        38655 :             {
   10333        38655 :               switch (TREE_CODE (_p1))
   10334              :                 {
   10335        37612 :                 case INTEGER_CST:
   10336        37612 :                   {
   10337        37612 :                     {
   10338        37612 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10339        37612 :                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10340        37612 :                       if (res) return res;
   10341              :                     }
   10342            0 :                     break;
   10343              :                   }
   10344              :                 default:;
   10345              :                 }
   10346              :               break;
   10347              :             }
   10348              :           default:;
   10349              :           }
   10350              :         break;
   10351              :       }
   10352      1921691 :     case CALL_EXPR:
   10353      1921691 :       switch (get_call_combined_fn (_p0))
   10354              :         {
   10355           19 :         case CFN_BUILT_IN_CLZ:
   10356           19 :           if (call_expr_nargs (_p0) == 1)
   10357              :     {
   10358           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10359           19 :               switch (TREE_CODE (_p1))
   10360              :                 {
   10361           19 :                 case INTEGER_CST:
   10362           19 :                   {
   10363           19 :                     {
   10364           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10365           19 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZ);
   10366           19 :                       if (res) return res;
   10367              :                     }
   10368           16 :                     break;
   10369              :                   }
   10370              :                 default:;
   10371              :                 }
   10372              :             }
   10373              :           break;
   10374           17 :         case CFN_BUILT_IN_CTZ:
   10375           17 :           if (call_expr_nargs (_p0) == 1)
   10376              :     {
   10377           17 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10378           17 :               switch (TREE_CODE (_p1))
   10379              :                 {
   10380           17 :                 case INTEGER_CST:
   10381           17 :                   {
   10382           17 :                     {
   10383           17 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10384           17 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZ);
   10385           17 :                       if (res) return res;
   10386              :                     }
   10387           16 :                     break;
   10388              :                   }
   10389              :                 default:;
   10390              :                 }
   10391              :             }
   10392              :           break;
   10393            4 :         case CFN_BUILT_IN_FFS:
   10394            4 :           if (call_expr_nargs (_p0) == 1)
   10395              :     {
   10396            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10397            4 :               switch (TREE_CODE (_p1))
   10398              :                 {
   10399            4 :                 case INTEGER_CST:
   10400            4 :                   {
   10401            4 :                     {
   10402            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10403            4 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFS);
   10404            4 :                       if (res) return res;
   10405              :                     }
   10406            0 :                     break;
   10407              :                   }
   10408              :                 default:;
   10409              :                 }
   10410              :             }
   10411              :           break;
   10412            0 :         case CFN_REDUC_IOR:
   10413            0 :           if (call_expr_nargs (_p0) == 1)
   10414              :     {
   10415            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10416            0 :               if (integer_zerop (_p1))
   10417              :                 {
   10418            0 :                   {
   10419            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10420            0 :                     tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10421            0 :                     if (res) return res;
   10422              :                   }
   10423              :                 }
   10424              :             }
   10425              :           break;
   10426            0 :         case CFN_BUILT_IN_FFSIMAX:
   10427            0 :           if (call_expr_nargs (_p0) == 1)
   10428              :     {
   10429            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10430            0 :               switch (TREE_CODE (_p1))
   10431              :                 {
   10432            0 :                 case INTEGER_CST:
   10433            0 :                   {
   10434            0 :                     {
   10435            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10436            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSIMAX);
   10437            0 :                       if (res) return res;
   10438              :                     }
   10439            0 :                     break;
   10440              :                   }
   10441              :                 default:;
   10442              :                 }
   10443              :             }
   10444              :           break;
   10445           15 :         case CFN_BUILT_IN_POPCOUNT:
   10446           15 :           if (call_expr_nargs (_p0) == 1)
   10447              :     {
   10448           15 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10449           15 :               if (integer_zerop (_p1))
   10450              :                 {
   10451            1 :                   {
   10452            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10453            1 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
   10454            1 :                     if (res) return res;
   10455              :                   }
   10456              :                 }
   10457              :             }
   10458              :           break;
   10459            0 :         case CFN_BUILT_IN_CLZL:
   10460            0 :           if (call_expr_nargs (_p0) == 1)
   10461              :     {
   10462            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10463            0 :               switch (TREE_CODE (_p1))
   10464              :                 {
   10465            0 :                 case INTEGER_CST:
   10466            0 :                   {
   10467            0 :                     {
   10468            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10469            0 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZL);
   10470            0 :                       if (res) return res;
   10471              :                     }
   10472            0 :                     break;
   10473              :                   }
   10474              :                 default:;
   10475              :                 }
   10476              :             }
   10477              :           break;
   10478           16 :         case CFN_BUILT_IN_CTZL:
   10479           16 :           if (call_expr_nargs (_p0) == 1)
   10480              :     {
   10481           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10482           16 :               switch (TREE_CODE (_p1))
   10483              :                 {
   10484           16 :                 case INTEGER_CST:
   10485           16 :                   {
   10486           16 :                     {
   10487           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10488           16 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZL);
   10489           16 :                       if (res) return res;
   10490              :                     }
   10491           16 :                     break;
   10492              :                   }
   10493              :                 default:;
   10494              :                 }
   10495              :             }
   10496              :           break;
   10497            1 :         case CFN_BUILT_IN_FFSL:
   10498            1 :           if (call_expr_nargs (_p0) == 1)
   10499              :     {
   10500            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10501            1 :               switch (TREE_CODE (_p1))
   10502              :                 {
   10503            1 :                 case INTEGER_CST:
   10504            1 :                   {
   10505            1 :                     {
   10506            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10507            1 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSL);
   10508            1 :                       if (res) return res;
   10509              :                     }
   10510            0 :                     break;
   10511              :                   }
   10512              :                 default:;
   10513              :                 }
   10514              :             }
   10515              :           break;
   10516            7 :         case CFN_BUILT_IN_POPCOUNTLL:
   10517            7 :           if (call_expr_nargs (_p0) == 1)
   10518              :     {
   10519            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10520            7 :               if (integer_zerop (_p1))
   10521              :                 {
   10522            1 :                   {
   10523            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10524            1 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10525            1 :                     if (res) return res;
   10526              :                   }
   10527              :                 }
   10528              :             }
   10529              :           break;
   10530            0 :         case CFN_BUILT_IN_CTZIMAX:
   10531            0 :           if (call_expr_nargs (_p0) == 1)
   10532              :     {
   10533            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10534            0 :               switch (TREE_CODE (_p1))
   10535              :                 {
   10536            0 :                 case INTEGER_CST:
   10537            0 :                   {
   10538            0 :                     {
   10539            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10540            0 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10541            0 :                       if (res) return res;
   10542              :                     }
   10543            0 :                     break;
   10544              :                   }
   10545              :                 default:;
   10546              :                 }
   10547              :             }
   10548              :           break;
   10549            0 :         case CFN_POPCOUNT:
   10550            0 :           if (call_expr_nargs (_p0) == 1)
   10551              :     {
   10552            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10553            0 :               if (integer_zerop (_p1))
   10554              :                 {
   10555            0 :                   {
   10556            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10557            0 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_POPCOUNT);
   10558            0 :                     if (res) return res;
   10559              :                   }
   10560              :                 }
   10561              :             }
   10562              :           break;
   10563            0 :         case CFN_CLZ:
   10564            0 :           if (call_expr_nargs (_p0) == 1)
   10565              :     {
   10566            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10567            0 :               switch (TREE_CODE (_p1))
   10568              :                 {
   10569            0 :                 case INTEGER_CST:
   10570            0 :                   {
   10571            0 :                     {
   10572            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10573            0 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_CLZ);
   10574            0 :                       if (res) return res;
   10575              :                     }
   10576            0 :                     break;
   10577              :                   }
   10578              :                 default:;
   10579              :                 }
   10580              :             }
   10581            0 :           if (call_expr_nargs (_p0) == 2)
   10582              :     {
   10583            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10584            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10585            0 :               switch (TREE_CODE (_p1))
   10586              :                 {
   10587            0 :                 case INTEGER_CST:
   10588            0 :                   {
   10589            0 :                     {
   10590            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10591            0 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
   10592            0 :                       if (res) return res;
   10593              :                     }
   10594            0 :                     break;
   10595              :                   }
   10596              :                 default:;
   10597              :                 }
   10598              :             }
   10599              :           break;
   10600            0 :         case CFN_CTZ:
   10601            0 :           if (call_expr_nargs (_p0) == 1)
   10602              :     {
   10603            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10604            0 :               switch (TREE_CODE (_p1))
   10605              :                 {
   10606            0 :                 case INTEGER_CST:
   10607            0 :                   {
   10608            0 :                     {
   10609            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10610            0 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_CTZ);
   10611            0 :                       if (res) return res;
   10612              :                     }
   10613            0 :                     break;
   10614              :                   }
   10615              :                 default:;
   10616              :                 }
   10617              :             }
   10618            0 :           if (call_expr_nargs (_p0) == 2)
   10619              :     {
   10620            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10621            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10622            0 :               switch (TREE_CODE (_p1))
   10623              :                 {
   10624            0 :                 case INTEGER_CST:
   10625            0 :                   {
   10626            0 :                     {
   10627            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10628            0 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10629            0 :                       if (res) return res;
   10630              :                     }
   10631            0 :                     break;
   10632              :                   }
   10633              :                 default:;
   10634              :                 }
   10635              :             }
   10636              :           break;
   10637            0 :         case CFN_FFS:
   10638            0 :           if (call_expr_nargs (_p0) == 1)
   10639              :     {
   10640            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10641            0 :               switch (TREE_CODE (_p1))
   10642              :                 {
   10643            0 :                 case INTEGER_CST:
   10644            0 :                   {
   10645            0 :                     {
   10646            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10647            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_FFS);
   10648            0 :                       if (res) return res;
   10649              :                     }
   10650            0 :                     break;
   10651              :                   }
   10652              :                 default:;
   10653              :                 }
   10654              :             }
   10655              :           break;
   10656            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   10657            0 :           if (call_expr_nargs (_p0) == 1)
   10658              :     {
   10659            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10660            0 :               if (integer_zerop (_p1))
   10661              :                 {
   10662            0 :                   {
   10663            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10664            0 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10665            0 :                     if (res) return res;
   10666              :                   }
   10667              :                 }
   10668              :             }
   10669              :           break;
   10670            0 :         case CFN_BUILT_IN_CLZIMAX:
   10671            0 :           if (call_expr_nargs (_p0) == 1)
   10672              :     {
   10673            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10674            0 :               switch (TREE_CODE (_p1))
   10675              :                 {
   10676            0 :                 case INTEGER_CST:
   10677            0 :                   {
   10678            0 :                     {
   10679            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10680            0 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZIMAX);
   10681            0 :                       if (res) return res;
   10682              :                     }
   10683            0 :                     break;
   10684              :                   }
   10685              :                 default:;
   10686              :                 }
   10687              :             }
   10688              :           break;
   10689            7 :         case CFN_BUILT_IN_POPCOUNTL:
   10690            7 :           if (call_expr_nargs (_p0) == 1)
   10691              :     {
   10692            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10693            7 :               if (integer_zerop (_p1))
   10694              :                 {
   10695            1 :                   {
   10696            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10697            1 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10698            1 :                     if (res) return res;
   10699              :                   }
   10700              :                 }
   10701              :             }
   10702              :           break;
   10703           16 :         case CFN_BUILT_IN_CLZLL:
   10704           16 :           if (call_expr_nargs (_p0) == 1)
   10705              :     {
   10706           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10707           16 :               switch (TREE_CODE (_p1))
   10708              :                 {
   10709           16 :                 case INTEGER_CST:
   10710           16 :                   {
   10711           16 :                     {
   10712           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10713           16 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZLL);
   10714           16 :                       if (res) return res;
   10715              :                     }
   10716           16 :                     break;
   10717              :                   }
   10718              :                 default:;
   10719              :                 }
   10720              :             }
   10721              :           break;
   10722            0 :         case CFN_BUILT_IN_CTZLL:
   10723            0 :           if (call_expr_nargs (_p0) == 1)
   10724              :     {
   10725            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10726            0 :               switch (TREE_CODE (_p1))
   10727              :                 {
   10728            0 :                 case INTEGER_CST:
   10729            0 :                   {
   10730            0 :                     {
   10731            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10732            0 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10733            0 :                       if (res) return res;
   10734              :                     }
   10735            0 :                     break;
   10736              :                   }
   10737              :                 default:;
   10738              :                 }
   10739              :             }
   10740              :           break;
   10741            0 :         case CFN_BUILT_IN_FFSLL:
   10742            0 :           if (call_expr_nargs (_p0) == 1)
   10743              :     {
   10744            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10745            0 :               switch (TREE_CODE (_p1))
   10746              :                 {
   10747            0 :                 case INTEGER_CST:
   10748            0 :                   {
   10749            0 :                     {
   10750            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10751            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSLL);
   10752            0 :                       if (res) return res;
   10753              :                     }
   10754            0 :                     break;
   10755              :                   }
   10756              :                 default:;
   10757              :                 }
   10758              :             }
   10759              :           break;
   10760              :         default:;
   10761              :         }
   10762              :       break;
   10763              :     default:;
   10764              :     }
   10765              :   return NULL_TREE;
   10766              : }
   10767              : 
   10768              : tree
   10769       847128 : generic_simplify_UNLE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10770              : {
   10771       847128 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10772       847128 :   switch (TREE_CODE (_p0))
   10773              :     {
   10774            0 :     case VEC_COND_EXPR:
   10775            0 :       {
   10776            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10777            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10778            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10779            0 :         switch (TREE_CODE (_p1))
   10780              :           {
   10781            0 :           case VEC_COND_EXPR:
   10782            0 :             {
   10783            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10784            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10785            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10786            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10787              :                 {
   10788            0 :                   {
   10789            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10790            0 :                     if (VECTOR_TYPE_P (type)
   10791            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   10792            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10793            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10794              :  || (optimize_vectors_before_lowering_p ()
   10795            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10796              : )
   10797              :                       {
   10798            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1765;
   10799            0 :                         {
   10800            0 :                           tree res_op0;
   10801            0 :                           res_op0 = captures[1];
   10802            0 :                           tree res_op1;
   10803            0 :                           {
   10804            0 :                             tree _o1[2], _r1;
   10805            0 :                             _o1[0] = captures[2];
   10806            0 :                             _o1[1] = captures[5];
   10807            0 :                             _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10808            0 :                             if (EXPR_P (_r1))
   10809            0 :                               goto next_after_fail1765;
   10810            0 :                             res_op1 = _r1;
   10811              :                           }
   10812            0 :                           tree res_op2;
   10813            0 :                           {
   10814            0 :                             tree _o1[2], _r1;
   10815            0 :                             _o1[0] = captures[3];
   10816            0 :                             _o1[1] = captures[6];
   10817            0 :                             _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10818            0 :                             if (EXPR_P (_r1))
   10819            0 :                               goto next_after_fail1765;
   10820            0 :                             res_op2 = _r1;
   10821              :                           }
   10822            0 :                           tree _r;
   10823            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10824            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
   10825            0 :                           return _r;
   10826              :                         }
   10827            0 : next_after_fail1765:;
   10828              :                       }
   10829              :                   }
   10830              :                 }
   10831              :               break;
   10832              :             }
   10833            0 :           default:;
   10834              :           }
   10835            0 :         {
   10836            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10837            0 :           if (VECTOR_TYPE_P (type)
   10838            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   10839            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10840            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10841              :  || (optimize_vectors_before_lowering_p ()
   10842            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10843              : )
   10844              :             {
   10845            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1766;
   10846            0 :               {
   10847            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1766;
   10848            0 :                 tree res_op0;
   10849            0 :                 res_op0 = captures[1];
   10850            0 :                 tree res_op1;
   10851            0 :                 {
   10852            0 :                   tree _o1[2], _r1;
   10853            0 :                   _o1[0] = captures[2];
   10854            0 :                   _o1[1] = unshare_expr (captures[4]);
   10855            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10856            0 :                   if (EXPR_P (_r1))
   10857            0 :                     goto next_after_fail1766;
   10858            0 :                   res_op1 = _r1;
   10859              :                 }
   10860            0 :                 tree res_op2;
   10861            0 :                 {
   10862            0 :                   tree _o1[2], _r1;
   10863            0 :                   _o1[0] = captures[3];
   10864            0 :                   _o1[1] = captures[4];
   10865            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10866            0 :                   if (EXPR_P (_r1))
   10867            0 :                     goto next_after_fail1766;
   10868            0 :                   res_op2 = _r1;
   10869              :                 }
   10870            0 :                 tree _r;
   10871            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10872            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   10873            0 :                 return _r;
   10874              :               }
   10875            0 : next_after_fail1766:;
   10876              :             }
   10877              :         }
   10878            0 :         break;
   10879              :       }
   10880       847128 :     default:;
   10881              :     }
   10882       847128 :   switch (TREE_CODE (_p1))
   10883              :     {
   10884            0 :     case VEC_COND_EXPR:
   10885            0 :       {
   10886            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10887            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10888            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10889            0 :         {
   10890            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10891            0 :           if (VECTOR_TYPE_P (type)
   10892            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   10893            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10894            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10895              :  || (optimize_vectors_before_lowering_p ()
   10896            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10897              : )
   10898              :             {
   10899            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1767;
   10900            0 :               {
   10901            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1767;
   10902            0 :                 tree res_op0;
   10903            0 :                 res_op0 = captures[2];
   10904            0 :                 tree res_op1;
   10905            0 :                 {
   10906            0 :                   tree _o1[2], _r1;
   10907            0 :                   _o1[0] = unshare_expr (captures[0]);
   10908            0 :                   _o1[1] = captures[3];
   10909            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10910            0 :                   if (EXPR_P (_r1))
   10911            0 :                     goto next_after_fail1767;
   10912            0 :                   res_op1 = _r1;
   10913              :                 }
   10914            0 :                 tree res_op2;
   10915            0 :                 {
   10916            0 :                   tree _o1[2], _r1;
   10917            0 :                   _o1[0] = captures[0];
   10918            0 :                   _o1[1] = captures[4];
   10919            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10920            0 :                   if (EXPR_P (_r1))
   10921            0 :                     goto next_after_fail1767;
   10922            0 :                   res_op2 = _r1;
   10923              :                 }
   10924            0 :                 tree _r;
   10925            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10926            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10927            0 :                 return _r;
   10928              :               }
   10929            0 : next_after_fail1767:;
   10930              :             }
   10931              :         }
   10932            0 :         break;
   10933              :       }
   10934       847128 :     default:;
   10935              :     }
   10936       847128 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10937              :     {
   10938           30 :       {
   10939           30 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10940           30 :         tree res = generic_simplify_562 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   10941           30 :         if (res) return res;
   10942              :       }
   10943              :     }
   10944       847098 :   switch (TREE_CODE (_p0))
   10945              :     {
   10946           96 :     case FLOAT_EXPR:
   10947           96 :       {
   10948           96 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10949           96 :         switch (TREE_CODE (_p1))
   10950              :           {
   10951            0 :           case FLOAT_EXPR:
   10952            0 :             {
   10953            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10954            0 :               {
   10955            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10956            0 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, UNLE_EXPR, LE_EXPR);
   10957            0 :                 if (res) return res;
   10958              :               }
   10959            0 :               break;
   10960              :             }
   10961              :           default:;
   10962              :           }
   10963              :         break;
   10964              :       }
   10965          112 :     case NEGATE_EXPR:
   10966          112 :       {
   10967          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10968          112 :         switch (TREE_CODE (_p1))
   10969              :           {
   10970            0 :           case NEGATE_EXPR:
   10971            0 :             {
   10972            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10973            0 :               {
   10974            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10975            0 :                 tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
   10976            0 :                 if (res) return res;
   10977              :               }
   10978            0 :               break;
   10979              :             }
   10980          112 :           default:;
   10981              :           }
   10982          112 :       if (CONSTANT_CLASS_P (_p1))
   10983              :         {
   10984          112 :           {
   10985          112 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10986          112 :             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
   10987          112 :             if (res) return res;
   10988              :           }
   10989              :         }
   10990              :         break;
   10991              :       }
   10992       846986 :     default:;
   10993              :     }
   10994       846986 :   switch (TREE_CODE (_p1))
   10995              :     {
   10996       493719 :     case REAL_CST:
   10997       493719 :       {
   10998       493719 :         {
   10999       493719 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11000       493719 :           tree res = generic_simplify_560 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   11001       493719 :           if (res) return res;
   11002              :         }
   11003       493717 :         break;
   11004              :       }
   11005              :     default:;
   11006              :     }
   11007              :   return NULL_TREE;
   11008              : }
   11009              : 
   11010              : tree
   11011      3231600 : generic_simplify_TRUTH_ORIF_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11012              : {
   11013      3231600 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11014      3231600 :   switch (TREE_CODE (_p0))
   11015              :     {
   11016       325018 :     case LE_EXPR:
   11017       325018 :       {
   11018       325018 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11019       325018 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11020       325018 :         switch (TREE_CODE (_q20))
   11021              :           {
   11022           90 :           case POINTER_PLUS_EXPR:
   11023           90 :             {
   11024           90 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11025           90 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11026           90 :               switch (TREE_CODE (_q31))
   11027              :                 {
   11028            2 :                 case INTEGER_CST:
   11029            2 :                   {
   11030            2 :                     switch (TREE_CODE (_p1))
   11031              :                       {
   11032            2 :                       case LE_EXPR:
   11033            2 :                         {
   11034            2 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11035            2 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11036            2 :                           switch (TREE_CODE (_q70))
   11037              :                             {
   11038            2 :                             case POINTER_PLUS_EXPR:
   11039            2 :                               {
   11040            2 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11041            2 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11042            2 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11043              :                                   {
   11044            2 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   11045              :                                       {
   11046            2 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   11047              :                                           {
   11048            2 :                                             {
   11049            2 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   11050            2 :                                               const enum tree_code cmp = LE_EXPR;
   11051            2 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11052            1 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11053            3 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11054              : )
   11055              :                                                 {
   11056            1 :                                                   {
   11057            1 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11058            1 :  offset_int rhs = off * 2;
   11059            1 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11060              : )
   11061              :                                                         {
   11062            1 :                                                           {
   11063            1 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11064            1 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11065            1 :                                                               if (cmp == LT_EXPR
   11066              : )
   11067              :                                                                 {
   11068              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1781;
   11069              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1781;
   11070              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1781;
   11071              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1781;
   11072              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1781;
   11073              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1781;
   11074              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1781;
   11075              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1781;
   11076              :                                                                   {
   11077              :                                                                     tree res_op0;
   11078              :                                                                     {
   11079              :                                                                       tree _o1[1], _r1;
   11080              :                                                                       {
   11081              :                                                                         tree _o2[2], _r2;
   11082              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11083              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11084              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11085              :                                                                         _o1[0] = _r2;
   11086              :                                                                       }
   11087              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11088              :                                                                         {
   11089              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11090              :                                                                         }
   11091              :                                                                       else
   11092              :                                                                         _r1 = _o1[0];
   11093              :                                                                       res_op0 = _r1;
   11094              :                                                                     }
   11095              :                                                                     tree res_op1;
   11096              :                                                                     res_op1 =  rhs_tree;
   11097              :                                                                     tree _r;
   11098              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11099              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11100            1 :                                                                     return _r;
   11101              :                                                                   }
   11102              : next_after_fail1781:;
   11103              :                                                                 }
   11104              :                                                               else
   11105              :                                                                 {
   11106            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1782;
   11107            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1782;
   11108            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1782;
   11109            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1782;
   11110            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1782;
   11111            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1782;
   11112            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1782;
   11113            1 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1782;
   11114            1 :                                                                   {
   11115            1 :                                                                     tree res_op0;
   11116            1 :                                                                     {
   11117            1 :                                                                       tree _o1[1], _r1;
   11118            1 :                                                                       {
   11119            1 :                                                                         tree _o2[2], _r2;
   11120            1 :                                                                         {
   11121            1 :                                                                           tree _o3[2], _r3;
   11122            1 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11123            1 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11124            1 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11125            1 :                                                                           _o2[0] = _r3;
   11126              :                                                                         }
   11127            1 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11128            1 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11129            1 :                                                                         _o1[0] = _r2;
   11130              :                                                                       }
   11131            1 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11132              :                                                                         {
   11133            1 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11134              :                                                                         }
   11135              :                                                                       else
   11136              :                                                                         _r1 = _o1[0];
   11137            1 :                                                                       res_op0 = _r1;
   11138              :                                                                     }
   11139            1 :                                                                     tree res_op1;
   11140            1 :                                                                     res_op1 =  rhs_tree;
   11141            1 :                                                                     tree _r;
   11142            1 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11143            1 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11144            1 :                                                                     return _r;
   11145              :                                                                   }
   11146            0 : next_after_fail1782:;
   11147              :                                                                 }
   11148              :                                                           }
   11149              :                                                         }
   11150              :                                                   }
   11151              :                                                 }
   11152              :                                             }
   11153              :                                           }
   11154              :                                       }
   11155              :                                   }
   11156              :                                 break;
   11157              :                               }
   11158              :                             default:;
   11159              :                             }
   11160              :                           break;
   11161              :                         }
   11162            0 :                       case GE_EXPR:
   11163            0 :                         {
   11164            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11165            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11166            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11167              :                             {
   11168            0 :                               switch (TREE_CODE (_q71))
   11169              :                                 {
   11170            0 :                                 case POINTER_PLUS_EXPR:
   11171            0 :                                   {
   11172            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11173            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11174            0 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   11175              :                                       {
   11176            0 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   11177              :                                           {
   11178            0 :                                             {
   11179            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   11180            0 :                                               const enum tree_code cmp = LE_EXPR;
   11181            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11182            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11183            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11184              : )
   11185              :                                                 {
   11186            0 :                                                   {
   11187            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11188            0 :  offset_int rhs = off * 2;
   11189            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11190              : )
   11191              :                                                         {
   11192            0 :                                                           {
   11193            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11194            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11195            0 :                                                               if (cmp == LT_EXPR
   11196              : )
   11197              :                                                                 {
   11198              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1783;
   11199              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1783;
   11200              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1783;
   11201              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1783;
   11202              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1783;
   11203              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1783;
   11204              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1783;
   11205              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1783;
   11206              :                                                                   {
   11207              :                                                                     tree res_op0;
   11208              :                                                                     {
   11209              :                                                                       tree _o1[1], _r1;
   11210              :                                                                       {
   11211              :                                                                         tree _o2[2], _r2;
   11212              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11213              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11214              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11215              :                                                                         _o1[0] = _r2;
   11216              :                                                                       }
   11217              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11218              :                                                                         {
   11219              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11220              :                                                                         }
   11221              :                                                                       else
   11222              :                                                                         _r1 = _o1[0];
   11223              :                                                                       res_op0 = _r1;
   11224              :                                                                     }
   11225              :                                                                     tree res_op1;
   11226              :                                                                     res_op1 =  rhs_tree;
   11227              :                                                                     tree _r;
   11228              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11229              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11230            0 :                                                                     return _r;
   11231              :                                                                   }
   11232              : next_after_fail1783:;
   11233              :                                                                 }
   11234              :                                                               else
   11235              :                                                                 {
   11236            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1784;
   11237            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1784;
   11238            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1784;
   11239            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1784;
   11240            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1784;
   11241            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1784;
   11242            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1784;
   11243            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1784;
   11244            0 :                                                                   {
   11245            0 :                                                                     tree res_op0;
   11246            0 :                                                                     {
   11247            0 :                                                                       tree _o1[1], _r1;
   11248            0 :                                                                       {
   11249            0 :                                                                         tree _o2[2], _r2;
   11250            0 :                                                                         {
   11251            0 :                                                                           tree _o3[2], _r3;
   11252            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11253            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11254            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11255            0 :                                                                           _o2[0] = _r3;
   11256              :                                                                         }
   11257            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11258            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11259            0 :                                                                         _o1[0] = _r2;
   11260              :                                                                       }
   11261            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11262              :                                                                         {
   11263            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11264              :                                                                         }
   11265              :                                                                       else
   11266              :                                                                         _r1 = _o1[0];
   11267            0 :                                                                       res_op0 = _r1;
   11268              :                                                                     }
   11269            0 :                                                                     tree res_op1;
   11270            0 :                                                                     res_op1 =  rhs_tree;
   11271            0 :                                                                     tree _r;
   11272            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11273            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11274            0 :                                                                     return _r;
   11275              :                                                                   }
   11276            0 : next_after_fail1784:;
   11277              :                                                                 }
   11278              :                                                           }
   11279              :                                                         }
   11280              :                                                   }
   11281              :                                                 }
   11282              :                                             }
   11283              :                                           }
   11284              :                                       }
   11285              :                                     break;
   11286              :                                   }
   11287              :                                 default:;
   11288              :                                 }
   11289              :                             }
   11290              :                           break;
   11291              :                         }
   11292              :                       default:;
   11293              :                       }
   11294              :                     break;
   11295              :                   }
   11296              :                 default:;
   11297              :                 }
   11298              :               break;
   11299              :             }
   11300              :           default:;
   11301              :           }
   11302              :         break;
   11303              :       }
   11304       748298 :     case LT_EXPR:
   11305       748298 :       {
   11306       748298 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11307       748298 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11308       748298 :         switch (TREE_CODE (_q20))
   11309              :           {
   11310           13 :           case POINTER_PLUS_EXPR:
   11311           13 :             {
   11312           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11313           13 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11314           13 :               switch (TREE_CODE (_q31))
   11315              :                 {
   11316            7 :                 case INTEGER_CST:
   11317            7 :                   {
   11318            7 :                     switch (TREE_CODE (_p1))
   11319              :                       {
   11320            2 :                       case LT_EXPR:
   11321            2 :                         {
   11322            2 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11323            2 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11324            2 :                           switch (TREE_CODE (_q70))
   11325              :                             {
   11326            2 :                             case POINTER_PLUS_EXPR:
   11327            2 :                               {
   11328            2 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11329            2 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11330            2 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11331              :                                   {
   11332            2 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   11333              :                                       {
   11334            2 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   11335              :                                           {
   11336            2 :                                             {
   11337            2 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   11338            2 :                                               const enum tree_code cmp = LT_EXPR;
   11339            2 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11340            1 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11341            3 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11342              : )
   11343              :                                                 {
   11344            1 :                                                   {
   11345            1 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11346            1 :  offset_int rhs = off * 2;
   11347            1 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11348              : )
   11349              :                                                         {
   11350            1 :                                                           {
   11351            1 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11352            1 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11353            1 :                                                               if (cmp == LT_EXPR
   11354              : )
   11355              :                                                                 {
   11356            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1785;
   11357            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1785;
   11358            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1785;
   11359            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1785;
   11360            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1785;
   11361            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1785;
   11362            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1785;
   11363            1 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1785;
   11364            1 :                                                                   {
   11365            1 :                                                                     tree res_op0;
   11366            1 :                                                                     {
   11367            1 :                                                                       tree _o1[1], _r1;
   11368            1 :                                                                       {
   11369            1 :                                                                         tree _o2[2], _r2;
   11370            1 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11371            1 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11372            1 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11373            1 :                                                                         _o1[0] = _r2;
   11374              :                                                                       }
   11375            1 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11376              :                                                                         {
   11377            1 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11378              :                                                                         }
   11379              :                                                                       else
   11380              :                                                                         _r1 = _o1[0];
   11381            1 :                                                                       res_op0 = _r1;
   11382              :                                                                     }
   11383            1 :                                                                     tree res_op1;
   11384            1 :                                                                     res_op1 =  rhs_tree;
   11385            1 :                                                                     tree _r;
   11386            1 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11387            1 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11388            1 :                                                                     return _r;
   11389              :                                                                   }
   11390            0 : next_after_fail1785:;
   11391              :                                                                 }
   11392              :                                                               else
   11393              :                                                                 {
   11394              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1786;
   11395              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1786;
   11396              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1786;
   11397              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1786;
   11398              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1786;
   11399              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1786;
   11400              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1786;
   11401              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1786;
   11402              :                                                                   {
   11403              :                                                                     tree res_op0;
   11404              :                                                                     {
   11405              :                                                                       tree _o1[1], _r1;
   11406              :                                                                       {
   11407              :                                                                         tree _o2[2], _r2;
   11408              :                                                                         {
   11409              :                                                                           tree _o3[2], _r3;
   11410              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11411              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11412              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11413              :                                                                           _o2[0] = _r3;
   11414              :                                                                         }
   11415              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11416              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11417              :                                                                         _o1[0] = _r2;
   11418              :                                                                       }
   11419              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11420              :                                                                         {
   11421              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11422              :                                                                         }
   11423              :                                                                       else
   11424              :                                                                         _r1 = _o1[0];
   11425              :                                                                       res_op0 = _r1;
   11426              :                                                                     }
   11427              :                                                                     tree res_op1;
   11428              :                                                                     res_op1 =  rhs_tree;
   11429              :                                                                     tree _r;
   11430              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11431              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11432              :                                                                     return _r;
   11433              :                                                                   }
   11434              : next_after_fail1786:;
   11435              :                                                                 }
   11436              :                                                           }
   11437              :                                                         }
   11438              :                                                   }
   11439              :                                                 }
   11440              :                                             }
   11441              :                                           }
   11442              :                                       }
   11443              :                                   }
   11444              :                                 break;
   11445              :                               }
   11446              :                             default:;
   11447              :                             }
   11448              :                           break;
   11449              :                         }
   11450            0 :                       case GT_EXPR:
   11451            0 :                         {
   11452            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11453            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11454            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11455              :                             {
   11456            0 :                               switch (TREE_CODE (_q71))
   11457              :                                 {
   11458            0 :                                 case POINTER_PLUS_EXPR:
   11459            0 :                                   {
   11460            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11461            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11462            0 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   11463              :                                       {
   11464            0 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   11465              :                                           {
   11466            0 :                                             {
   11467            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   11468            0 :                                               const enum tree_code cmp = LT_EXPR;
   11469            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11470            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11471            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11472              : )
   11473              :                                                 {
   11474            0 :                                                   {
   11475            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11476            0 :  offset_int rhs = off * 2;
   11477            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11478              : )
   11479              :                                                         {
   11480            0 :                                                           {
   11481            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11482            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11483            0 :                                                               if (cmp == LT_EXPR
   11484              : )
   11485              :                                                                 {
   11486            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1787;
   11487            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1787;
   11488            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1787;
   11489            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1787;
   11490            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1787;
   11491            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1787;
   11492            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1787;
   11493            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1787;
   11494            0 :                                                                   {
   11495            0 :                                                                     tree res_op0;
   11496            0 :                                                                     {
   11497            0 :                                                                       tree _o1[1], _r1;
   11498            0 :                                                                       {
   11499            0 :                                                                         tree _o2[2], _r2;
   11500            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11501            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11502            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11503            0 :                                                                         _o1[0] = _r2;
   11504              :                                                                       }
   11505            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11506              :                                                                         {
   11507            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11508              :                                                                         }
   11509              :                                                                       else
   11510              :                                                                         _r1 = _o1[0];
   11511            0 :                                                                       res_op0 = _r1;
   11512              :                                                                     }
   11513            0 :                                                                     tree res_op1;
   11514            0 :                                                                     res_op1 =  rhs_tree;
   11515            0 :                                                                     tree _r;
   11516            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11517            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11518            0 :                                                                     return _r;
   11519              :                                                                   }
   11520            0 : next_after_fail1787:;
   11521              :                                                                 }
   11522              :                                                               else
   11523              :                                                                 {
   11524              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1788;
   11525              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1788;
   11526              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1788;
   11527              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1788;
   11528              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1788;
   11529              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1788;
   11530              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1788;
   11531              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1788;
   11532              :                                                                   {
   11533              :                                                                     tree res_op0;
   11534              :                                                                     {
   11535              :                                                                       tree _o1[1], _r1;
   11536              :                                                                       {
   11537              :                                                                         tree _o2[2], _r2;
   11538              :                                                                         {
   11539              :                                                                           tree _o3[2], _r3;
   11540              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11541              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11542              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11543              :                                                                           _o2[0] = _r3;
   11544              :                                                                         }
   11545              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11546              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11547              :                                                                         _o1[0] = _r2;
   11548              :                                                                       }
   11549              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11550              :                                                                         {
   11551              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11552              :                                                                         }
   11553              :                                                                       else
   11554              :                                                                         _r1 = _o1[0];
   11555              :                                                                       res_op0 = _r1;
   11556              :                                                                     }
   11557              :                                                                     tree res_op1;
   11558              :                                                                     res_op1 =  rhs_tree;
   11559              :                                                                     tree _r;
   11560              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11561              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11562              :                                                                     return _r;
   11563              :                                                                   }
   11564              : next_after_fail1788:;
   11565              :                                                                 }
   11566              :                                                           }
   11567              :                                                         }
   11568              :                                                   }
   11569              :                                                 }
   11570              :                                             }
   11571              :                                           }
   11572              :                                       }
   11573              :                                     break;
   11574              :                                   }
   11575              :                                 default:;
   11576              :                                 }
   11577              :                             }
   11578              :                           break;
   11579              :                         }
   11580              :                       default:;
   11581              :                       }
   11582              :                     break;
   11583              :                   }
   11584              :                 default:;
   11585              :                 }
   11586              :               break;
   11587              :             }
   11588              :           default:;
   11589              :           }
   11590              :         break;
   11591              :       }
   11592        18241 :     case GE_EXPR:
   11593        18241 :       {
   11594        18241 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11595        18241 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11596        18241 :         switch (TREE_CODE (_q21))
   11597              :           {
   11598            0 :           case POINTER_PLUS_EXPR:
   11599            0 :             {
   11600            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11601            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   11602            0 :               switch (TREE_CODE (_q41))
   11603              :                 {
   11604            0 :                 case INTEGER_CST:
   11605            0 :                   {
   11606            0 :                     switch (TREE_CODE (_p1))
   11607              :                       {
   11608            0 :                       case LE_EXPR:
   11609            0 :                         {
   11610            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11611            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11612            0 :                           switch (TREE_CODE (_q70))
   11613              :                             {
   11614            0 :                             case POINTER_PLUS_EXPR:
   11615            0 :                               {
   11616            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11617            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11618            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11619              :                                   {
   11620            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   11621              :                                       {
   11622            0 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   11623              :                                           {
   11624            0 :                                             {
   11625            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   11626            0 :                                               const enum tree_code cmp = LE_EXPR;
   11627            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11628            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11629            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11630              : )
   11631              :                                                 {
   11632            0 :                                                   {
   11633            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11634            0 :  offset_int rhs = off * 2;
   11635            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11636              : )
   11637              :                                                         {
   11638            0 :                                                           {
   11639            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11640            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11641            0 :                                                               if (cmp == LT_EXPR
   11642              : )
   11643              :                                                                 {
   11644              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1789;
   11645              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1789;
   11646              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1789;
   11647              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1789;
   11648              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1789;
   11649              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1789;
   11650              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1789;
   11651              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1789;
   11652              :                                                                   {
   11653              :                                                                     tree res_op0;
   11654              :                                                                     {
   11655              :                                                                       tree _o1[1], _r1;
   11656              :                                                                       {
   11657              :                                                                         tree _o2[2], _r2;
   11658              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11659              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11660              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11661              :                                                                         _o1[0] = _r2;
   11662              :                                                                       }
   11663              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11664              :                                                                         {
   11665              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11666              :                                                                         }
   11667              :                                                                       else
   11668              :                                                                         _r1 = _o1[0];
   11669              :                                                                       res_op0 = _r1;
   11670              :                                                                     }
   11671              :                                                                     tree res_op1;
   11672              :                                                                     res_op1 =  rhs_tree;
   11673              :                                                                     tree _r;
   11674              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11675              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11676            0 :                                                                     return _r;
   11677              :                                                                   }
   11678              : next_after_fail1789:;
   11679              :                                                                 }
   11680              :                                                               else
   11681              :                                                                 {
   11682            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1790;
   11683            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1790;
   11684            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1790;
   11685            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1790;
   11686            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1790;
   11687            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1790;
   11688            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1790;
   11689            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1790;
   11690            0 :                                                                   {
   11691            0 :                                                                     tree res_op0;
   11692            0 :                                                                     {
   11693            0 :                                                                       tree _o1[1], _r1;
   11694            0 :                                                                       {
   11695            0 :                                                                         tree _o2[2], _r2;
   11696            0 :                                                                         {
   11697            0 :                                                                           tree _o3[2], _r3;
   11698            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11699            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11700            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11701            0 :                                                                           _o2[0] = _r3;
   11702              :                                                                         }
   11703            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11704            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11705            0 :                                                                         _o1[0] = _r2;
   11706              :                                                                       }
   11707            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11708              :                                                                         {
   11709            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11710              :                                                                         }
   11711              :                                                                       else
   11712              :                                                                         _r1 = _o1[0];
   11713            0 :                                                                       res_op0 = _r1;
   11714              :                                                                     }
   11715            0 :                                                                     tree res_op1;
   11716            0 :                                                                     res_op1 =  rhs_tree;
   11717            0 :                                                                     tree _r;
   11718            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11719            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11720            0 :                                                                     return _r;
   11721              :                                                                   }
   11722            0 : next_after_fail1790:;
   11723              :                                                                 }
   11724              :                                                           }
   11725              :                                                         }
   11726              :                                                   }
   11727              :                                                 }
   11728              :                                             }
   11729              :                                           }
   11730              :                                       }
   11731              :                                   }
   11732              :                                 break;
   11733              :                               }
   11734              :                             default:;
   11735              :                             }
   11736              :                           break;
   11737              :                         }
   11738            0 :                       case GE_EXPR:
   11739            0 :                         {
   11740            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11741            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11742            0 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   11743              :                             {
   11744            0 :                               switch (TREE_CODE (_q71))
   11745              :                                 {
   11746            0 :                                 case POINTER_PLUS_EXPR:
   11747            0 :                                   {
   11748            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11749            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11750            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   11751              :                                       {
   11752            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   11753              :                                           {
   11754            0 :                                             {
   11755            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   11756            0 :                                               const enum tree_code cmp = LE_EXPR;
   11757            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11758            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11759            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11760              : )
   11761              :                                                 {
   11762            0 :                                                   {
   11763            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11764            0 :  offset_int rhs = off * 2;
   11765            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11766              : )
   11767              :                                                         {
   11768            0 :                                                           {
   11769            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11770            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11771            0 :                                                               if (cmp == LT_EXPR
   11772              : )
   11773              :                                                                 {
   11774              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1791;
   11775              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1791;
   11776              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1791;
   11777              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1791;
   11778              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1791;
   11779              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1791;
   11780              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1791;
   11781              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1791;
   11782              :                                                                   {
   11783              :                                                                     tree res_op0;
   11784              :                                                                     {
   11785              :                                                                       tree _o1[1], _r1;
   11786              :                                                                       {
   11787              :                                                                         tree _o2[2], _r2;
   11788              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11789              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11790              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11791              :                                                                         _o1[0] = _r2;
   11792              :                                                                       }
   11793              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11794              :                                                                         {
   11795              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11796              :                                                                         }
   11797              :                                                                       else
   11798              :                                                                         _r1 = _o1[0];
   11799              :                                                                       res_op0 = _r1;
   11800              :                                                                     }
   11801              :                                                                     tree res_op1;
   11802              :                                                                     res_op1 =  rhs_tree;
   11803              :                                                                     tree _r;
   11804              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11805              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11806            0 :                                                                     return _r;
   11807              :                                                                   }
   11808              : next_after_fail1791:;
   11809              :                                                                 }
   11810              :                                                               else
   11811              :                                                                 {
   11812            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1792;
   11813            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1792;
   11814            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1792;
   11815            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1792;
   11816            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1792;
   11817            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1792;
   11818            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1792;
   11819            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1792;
   11820            0 :                                                                   {
   11821            0 :                                                                     tree res_op0;
   11822            0 :                                                                     {
   11823            0 :                                                                       tree _o1[1], _r1;
   11824            0 :                                                                       {
   11825            0 :                                                                         tree _o2[2], _r2;
   11826            0 :                                                                         {
   11827            0 :                                                                           tree _o3[2], _r3;
   11828            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11829            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11830            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11831            0 :                                                                           _o2[0] = _r3;
   11832              :                                                                         }
   11833            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11834            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11835            0 :                                                                         _o1[0] = _r2;
   11836              :                                                                       }
   11837            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11838              :                                                                         {
   11839            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11840              :                                                                         }
   11841              :                                                                       else
   11842              :                                                                         _r1 = _o1[0];
   11843            0 :                                                                       res_op0 = _r1;
   11844              :                                                                     }
   11845            0 :                                                                     tree res_op1;
   11846            0 :                                                                     res_op1 =  rhs_tree;
   11847            0 :                                                                     tree _r;
   11848            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11849            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11850            0 :                                                                     return _r;
   11851              :                                                                   }
   11852            0 : next_after_fail1792:;
   11853              :                                                                 }
   11854              :                                                           }
   11855              :                                                         }
   11856              :                                                   }
   11857              :                                                 }
   11858              :                                             }
   11859              :                                           }
   11860              :                                       }
   11861              :                                     break;
   11862              :                                   }
   11863              :                                 default:;
   11864              :                                 }
   11865              :                             }
   11866              :                           break;
   11867              :                         }
   11868              :                       default:;
   11869              :                       }
   11870              :                     break;
   11871              :                   }
   11872              :                 default:;
   11873              :                 }
   11874              :               break;
   11875              :             }
   11876              :           default:;
   11877              :           }
   11878              :         break;
   11879              :       }
   11880        68450 :     case GT_EXPR:
   11881        68450 :       {
   11882        68450 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11883        68450 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11884        68450 :         switch (TREE_CODE (_q21))
   11885              :           {
   11886            0 :           case POINTER_PLUS_EXPR:
   11887            0 :             {
   11888            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11889            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   11890            0 :               switch (TREE_CODE (_q41))
   11891              :                 {
   11892            0 :                 case INTEGER_CST:
   11893            0 :                   {
   11894            0 :                     switch (TREE_CODE (_p1))
   11895              :                       {
   11896            0 :                       case LT_EXPR:
   11897            0 :                         {
   11898            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11899            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11900            0 :                           switch (TREE_CODE (_q70))
   11901              :                             {
   11902            0 :                             case POINTER_PLUS_EXPR:
   11903            0 :                               {
   11904            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11905            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11906            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11907              :                                   {
   11908            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   11909              :                                       {
   11910            0 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   11911              :                                           {
   11912            0 :                                             {
   11913            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   11914            0 :                                               const enum tree_code cmp = LT_EXPR;
   11915            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11916            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11917            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11918              : )
   11919              :                                                 {
   11920            0 :                                                   {
   11921            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11922            0 :  offset_int rhs = off * 2;
   11923            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11924              : )
   11925              :                                                         {
   11926            0 :                                                           {
   11927            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11928            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11929            0 :                                                               if (cmp == LT_EXPR
   11930              : )
   11931              :                                                                 {
   11932            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1793;
   11933            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1793;
   11934            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1793;
   11935            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1793;
   11936            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1793;
   11937            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1793;
   11938            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1793;
   11939            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1793;
   11940            0 :                                                                   {
   11941            0 :                                                                     tree res_op0;
   11942            0 :                                                                     {
   11943            0 :                                                                       tree _o1[1], _r1;
   11944            0 :                                                                       {
   11945            0 :                                                                         tree _o2[2], _r2;
   11946            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11947            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11948            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11949            0 :                                                                         _o1[0] = _r2;
   11950              :                                                                       }
   11951            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11952              :                                                                         {
   11953            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11954              :                                                                         }
   11955              :                                                                       else
   11956              :                                                                         _r1 = _o1[0];
   11957            0 :                                                                       res_op0 = _r1;
   11958              :                                                                     }
   11959            0 :                                                                     tree res_op1;
   11960            0 :                                                                     res_op1 =  rhs_tree;
   11961            0 :                                                                     tree _r;
   11962            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11963            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11964            0 :                                                                     return _r;
   11965              :                                                                   }
   11966            0 : next_after_fail1793:;
   11967              :                                                                 }
   11968              :                                                               else
   11969              :                                                                 {
   11970              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1794;
   11971              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1794;
   11972              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1794;
   11973              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1794;
   11974              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1794;
   11975              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1794;
   11976              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1794;
   11977              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1794;
   11978              :                                                                   {
   11979              :                                                                     tree res_op0;
   11980              :                                                                     {
   11981              :                                                                       tree _o1[1], _r1;
   11982              :                                                                       {
   11983              :                                                                         tree _o2[2], _r2;
   11984              :                                                                         {
   11985              :                                                                           tree _o3[2], _r3;
   11986              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11987              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11988              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11989              :                                                                           _o2[0] = _r3;
   11990              :                                                                         }
   11991              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11992              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11993              :                                                                         _o1[0] = _r2;
   11994              :                                                                       }
   11995              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11996              :                                                                         {
   11997              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11998              :                                                                         }
   11999              :                                                                       else
   12000              :                                                                         _r1 = _o1[0];
   12001              :                                                                       res_op0 = _r1;
   12002              :                                                                     }
   12003              :                                                                     tree res_op1;
   12004              :                                                                     res_op1 =  rhs_tree;
   12005              :                                                                     tree _r;
   12006              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12007              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   12008              :                                                                     return _r;
   12009              :                                                                   }
   12010              : next_after_fail1794:;
   12011              :                                                                 }
   12012              :                                                           }
   12013              :                                                         }
   12014              :                                                   }
   12015              :                                                 }
   12016              :                                             }
   12017              :                                           }
   12018              :                                       }
   12019              :                                   }
   12020              :                                 break;
   12021              :                               }
   12022              :                             default:;
   12023              :                             }
   12024              :                           break;
   12025              :                         }
   12026            0 :                       case GT_EXPR:
   12027            0 :                         {
   12028            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   12029            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   12030            0 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   12031              :                             {
   12032            0 :                               switch (TREE_CODE (_q71))
   12033              :                                 {
   12034            0 :                                 case POINTER_PLUS_EXPR:
   12035            0 :                                   {
   12036            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   12037            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   12038            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   12039              :                                       {
   12040            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   12041              :                                           {
   12042            0 :                                             {
   12043            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   12044            0 :                                               const enum tree_code cmp = LT_EXPR;
   12045            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   12046            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   12047            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   12048              : )
   12049              :                                                 {
   12050            0 :                                                   {
   12051            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   12052            0 :  offset_int rhs = off * 2;
   12053            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   12054              : )
   12055              :                                                         {
   12056            0 :                                                           {
   12057            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   12058            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   12059            0 :                                                               if (cmp == LT_EXPR
   12060              : )
   12061              :                                                                 {
   12062            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1795;
   12063            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1795;
   12064            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1795;
   12065            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1795;
   12066            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1795;
   12067            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1795;
   12068            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1795;
   12069            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1795;
   12070            0 :                                                                   {
   12071            0 :                                                                     tree res_op0;
   12072            0 :                                                                     {
   12073            0 :                                                                       tree _o1[1], _r1;
   12074            0 :                                                                       {
   12075            0 :                                                                         tree _o2[2], _r2;
   12076            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   12077            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12078            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12079            0 :                                                                         _o1[0] = _r2;
   12080              :                                                                       }
   12081            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12082              :                                                                         {
   12083            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12084              :                                                                         }
   12085              :                                                                       else
   12086              :                                                                         _r1 = _o1[0];
   12087            0 :                                                                       res_op0 = _r1;
   12088              :                                                                     }
   12089            0 :                                                                     tree res_op1;
   12090            0 :                                                                     res_op1 =  rhs_tree;
   12091            0 :                                                                     tree _r;
   12092            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12093            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   12094            0 :                                                                     return _r;
   12095              :                                                                   }
   12096            0 : next_after_fail1795:;
   12097              :                                                                 }
   12098              :                                                               else
   12099              :                                                                 {
   12100              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1796;
   12101              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1796;
   12102              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1796;
   12103              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1796;
   12104              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1796;
   12105              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1796;
   12106              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1796;
   12107              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1796;
   12108              :                                                                   {
   12109              :                                                                     tree res_op0;
   12110              :                                                                     {
   12111              :                                                                       tree _o1[1], _r1;
   12112              :                                                                       {
   12113              :                                                                         tree _o2[2], _r2;
   12114              :                                                                         {
   12115              :                                                                           tree _o3[2], _r3;
   12116              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   12117              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   12118              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   12119              :                                                                           _o2[0] = _r3;
   12120              :                                                                         }
   12121              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12122              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12123              :                                                                         _o1[0] = _r2;
   12124              :                                                                       }
   12125              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12126              :                                                                         {
   12127              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12128              :                                                                         }
   12129              :                                                                       else
   12130              :                                                                         _r1 = _o1[0];
   12131              :                                                                       res_op0 = _r1;
   12132              :                                                                     }
   12133              :                                                                     tree res_op1;
   12134              :                                                                     res_op1 =  rhs_tree;
   12135              :                                                                     tree _r;
   12136              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12137              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   12138              :                                                                     return _r;
   12139              :                                                                   }
   12140              : next_after_fail1796:;
   12141              :                                                                 }
   12142              :                                                           }
   12143              :                                                         }
   12144              :                                                   }
   12145              :                                                 }
   12146              :                                             }
   12147              :                                           }
   12148              :                                       }
   12149              :                                     break;
   12150              :                                   }
   12151              :                                 default:;
   12152              :                                 }
   12153              :                             }
   12154              :                           break;
   12155              :                         }
   12156              :                       default:;
   12157              :                       }
   12158              :                     break;
   12159              :                   }
   12160              :                 default:;
   12161              :                 }
   12162              :               break;
   12163              :             }
   12164              :           default:;
   12165              :           }
   12166              :         break;
   12167              :       }
   12168              :     default:;
   12169              :     }
   12170              :   return NULL_TREE;
   12171              : }
   12172              : #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.