LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-3.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 44.6 % 12828 5721
Test Date: 2026-07-11 15:47:05 Functions: 65.3 % 72 47
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Generated automatically by the program `genmatch' from
       2              :    a IL pattern matching and simplification description.  */
       3              : #pragma GCC diagnostic push
       4              : #pragma GCC diagnostic ignored "-Wunused-variable"
       5              : #pragma GCC diagnostic ignored "-Wunused-function"
       6              : 
       7              : #include "generic-match-auto.h"
       8              : 
       9              : bool
      10    167965691 : tree_truth_valued_p (tree t)
      11              : {
      12    167965691 :   const tree type = TREE_TYPE (t);
      13    167965691 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    167965691 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    162685157 :   {
      16    162685157 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
      17    162685157 :     if (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1
      18              : )
      19              :       {
      20      5891146 :         {
      21      5891146 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 20, __FILE__, __LINE__, false);
      22      5891146 :           return true;
      23              :         }
      24              :       }
      25              :   }
      26    156794011 :   switch (TREE_CODE (t))
      27              :     {
      28          805 :     case LT_EXPR:
      29          805 :       {
      30          805 :         tree _p0 = TREE_OPERAND (t, 0);
      31          805 :         tree _p1 = TREE_OPERAND (t, 1);
      32          805 :         {
      33          805 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      34          805 :           {
      35          805 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
      36          805 :             return true;
      37              :           }
      38              :         }
      39          708 :         break;
      40              :       }
      41          708 :     case LE_EXPR:
      42          708 :       {
      43          708 :         tree _p0 = TREE_OPERAND (t, 0);
      44          708 :         tree _p1 = TREE_OPERAND (t, 1);
      45          708 :         {
      46          708 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      47          708 :           {
      48          708 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
      49          708 :             return true;
      50              :           }
      51              :         }
      52        11951 :         break;
      53              :       }
      54        11951 :     case EQ_EXPR:
      55        11951 :       {
      56        11951 :         tree _p0 = TREE_OPERAND (t, 0);
      57        11951 :         tree _p1 = TREE_OPERAND (t, 1);
      58        11951 :         {
      59        11951 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      60        11951 :           {
      61        11951 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
      62        11951 :             return true;
      63              :           }
      64              :         }
      65         4437 :         break;
      66              :       }
      67         4437 :     case NE_EXPR:
      68         4437 :       {
      69         4437 :         tree _p0 = TREE_OPERAND (t, 0);
      70         4437 :         tree _p1 = TREE_OPERAND (t, 1);
      71         4437 :         {
      72         4437 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      73         4437 :           {
      74         4437 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
      75         4437 :             return true;
      76              :           }
      77              :         }
      78          380 :         break;
      79              :       }
      80          380 :     case GE_EXPR:
      81          380 :       {
      82          380 :         tree _p0 = TREE_OPERAND (t, 0);
      83          380 :         tree _p1 = TREE_OPERAND (t, 1);
      84          380 :         {
      85          380 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      86          380 :           {
      87          380 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
      88          380 :             return true;
      89              :           }
      90              :         }
      91       237109 :         break;
      92              :       }
      93       237109 :     case GT_EXPR:
      94       237109 :       {
      95       237109 :         tree _p0 = TREE_OPERAND (t, 0);
      96       237109 :         tree _p1 = TREE_OPERAND (t, 1);
      97       237109 :         {
      98       237109 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      99       237109 :           {
     100       237109 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     101       237109 :             return true;
     102              :           }
     103              :         }
     104       136115 :         break;
     105              :       }
     106       136115 :     case UNORDERED_EXPR:
     107       136115 :       {
     108       136115 :         tree _p0 = TREE_OPERAND (t, 0);
     109       136115 :         tree _p1 = TREE_OPERAND (t, 1);
     110       136115 :         {
     111       136115 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     112       136115 :           {
     113       136115 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     114       136115 :             return true;
     115              :           }
     116              :         }
     117           16 :         break;
     118              :       }
     119           16 :     case ORDERED_EXPR:
     120           16 :       {
     121           16 :         tree _p0 = TREE_OPERAND (t, 0);
     122           16 :         tree _p1 = TREE_OPERAND (t, 1);
     123           16 :         {
     124           16 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     125           16 :           {
     126           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     127           16 :             return true;
     128              :           }
     129              :         }
     130           70 :         break;
     131              :       }
     132           70 :     case UNLT_EXPR:
     133           70 :       {
     134           70 :         tree _p0 = TREE_OPERAND (t, 0);
     135           70 :         tree _p1 = TREE_OPERAND (t, 1);
     136           70 :         {
     137           70 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     138           70 :           {
     139           70 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     140           70 :             return true;
     141              :           }
     142              :         }
     143         1157 :         break;
     144              :       }
     145         1157 :     case UNLE_EXPR:
     146         1157 :       {
     147         1157 :         tree _p0 = TREE_OPERAND (t, 0);
     148         1157 :         tree _p1 = TREE_OPERAND (t, 1);
     149         1157 :         {
     150         1157 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     151         1157 :           {
     152         1157 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     153         1157 :             return true;
     154              :           }
     155              :         }
     156           70 :         break;
     157              :       }
     158           70 :     case UNGT_EXPR:
     159           70 :       {
     160           70 :         tree _p0 = TREE_OPERAND (t, 0);
     161           70 :         tree _p1 = TREE_OPERAND (t, 1);
     162           70 :         {
     163           70 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     164           70 :           {
     165           70 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     166           70 :             return true;
     167              :           }
     168              :         }
     169           70 :         break;
     170              :       }
     171           70 :     case UNGE_EXPR:
     172           70 :       {
     173           70 :         tree _p0 = TREE_OPERAND (t, 0);
     174           70 :         tree _p1 = TREE_OPERAND (t, 1);
     175           70 :         {
     176           70 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     177           70 :           {
     178           70 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     179           70 :             return true;
     180              :           }
     181              :         }
     182           84 :         break;
     183              :       }
     184           84 :     case UNEQ_EXPR:
     185           84 :       {
     186           84 :         tree _p0 = TREE_OPERAND (t, 0);
     187           84 :         tree _p1 = TREE_OPERAND (t, 1);
     188           84 :         {
     189           84 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     190           84 :           {
     191           84 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     192           84 :             return true;
     193              :           }
     194              :         }
     195           24 :         break;
     196              :       }
     197           24 :     case LTGT_EXPR:
     198           24 :       {
     199           24 :         tree _p0 = TREE_OPERAND (t, 0);
     200           24 :         tree _p1 = TREE_OPERAND (t, 1);
     201           24 :         {
     202           24 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     203           24 :           {
     204           24 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     205           24 :             return true;
     206              :           }
     207              :         }
     208          106 :         break;
     209              :       }
     210          106 :     case TRUTH_AND_EXPR:
     211          106 :       {
     212          106 :         tree _p0 = TREE_OPERAND (t, 0);
     213          106 :         tree _p1 = TREE_OPERAND (t, 1);
     214          106 :         {
     215          106 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     216          106 :           {
     217          106 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     218          106 :             return true;
     219              :           }
     220              :         }
     221          512 :         break;
     222              :       }
     223          512 :     case TRUTH_ANDIF_EXPR:
     224          512 :       {
     225          512 :         tree _p0 = TREE_OPERAND (t, 0);
     226          512 :         tree _p1 = TREE_OPERAND (t, 1);
     227          512 :         {
     228          512 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     229          512 :           {
     230          512 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     231          512 :             return true;
     232              :           }
     233              :         }
     234           53 :         break;
     235              :       }
     236           53 :     case TRUTH_OR_EXPR:
     237           53 :       {
     238           53 :         tree _p0 = TREE_OPERAND (t, 0);
     239           53 :         tree _p1 = TREE_OPERAND (t, 1);
     240           53 :         {
     241           53 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     242           53 :           {
     243           53 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     244           53 :             return true;
     245              :           }
     246              :         }
     247         1409 :         break;
     248              :       }
     249         1409 :     case TRUTH_ORIF_EXPR:
     250         1409 :       {
     251         1409 :         tree _p0 = TREE_OPERAND (t, 0);
     252         1409 :         tree _p1 = TREE_OPERAND (t, 1);
     253         1409 :         {
     254         1409 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     255         1409 :           {
     256         1409 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     257         1409 :             return true;
     258              :           }
     259              :         }
     260            0 :         break;
     261              :       }
     262            0 :     case TRUTH_XOR_EXPR:
     263            0 :       {
     264            0 :         tree _p0 = TREE_OPERAND (t, 0);
     265            0 :         tree _p1 = TREE_OPERAND (t, 1);
     266            0 :         {
     267            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     268            0 :           {
     269            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 21, __FILE__, __LINE__, false);
     270            0 :             return true;
     271              :           }
     272              :         }
     273       528619 :         break;
     274              :       }
     275       528619 :     case TRUTH_NOT_EXPR:
     276       528619 :       {
     277       528619 :         tree _p0 = TREE_OPERAND (t, 0);
     278       528619 :         {
     279       528619 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
     280       528619 :           {
     281       528619 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 22, __FILE__, __LINE__, false);
     282       528619 :             return true;
     283              :           }
     284              :         }
     285              :         break;
     286              :       }
     287              :     default:;
     288              :     }
     289              :   return false;
     290              : }
     291              : 
     292              : tree
     293            0 : generic_simplify_41 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     294              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     295              :  const enum tree_code ARG_UNUSED (op))
     296              : {
     297            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     298            0 :   if (INTEGRAL_TYPE_P (type)
     299            0 :  && tree_int_cst_sgn (captures[5]) > 0
     300            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     301              : )
     302              :     {
     303            0 :       {
     304            0 :  tree t = type;
     305            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     306            0 :  t = unsigned_type_for (t);
     307            0 :  wide_int wone = wi::one (TYPE_PRECISION (type));
     308            0 :  wide_int c = wi::add (wi::to_wide (captures[3]),
     309            0 :  wi::lshift (wone, wi::to_wide (captures[5])));
     310            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail118;
     311            0 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail118;
     312            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail118;
     313            0 :           {
     314            0 :             tree res_op0;
     315            0 :             {
     316            0 :               tree _o1[2], _r1;
     317            0 :               {
     318            0 :                 tree _o2[1], _r2;
     319            0 :                 _o2[0] = captures[2];
     320            0 :                 if (TREE_TYPE (_o2[0]) != t)
     321              :                   {
     322            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     323              :                   }
     324              :                 else
     325              :                   _r2 = _o2[0];
     326            0 :                 _o1[0] = _r2;
     327              :               }
     328            0 :               _o1[1] =  wide_int_to_tree (t, c);
     329            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     330            0 :               res_op0 = _r1;
     331              :             }
     332            0 :             tree _r;
     333            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     334            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 89, __FILE__, __LINE__, true);
     335            0 :             return _r;
     336              :           }
     337            0 : next_after_fail118:;
     338            0 :       }
     339              :     }
     340              :   return NULL_TREE;
     341              : }
     342              : 
     343              : tree
     344           11 : generic_simplify_53 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     345              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     346              :  const combined_fn ARG_UNUSED (PARITY))
     347              : {
     348           11 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     349           11 :   if (types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
     350              : )
     351              :     {
     352           10 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail132;
     353           10 :       {
     354           10 :         tree res_op0;
     355           10 :         {
     356           10 :           tree _o1[2], _r1;
     357           10 :           _o1[0] = captures[1];
     358           10 :           _o1[1] = captures[3];
     359           10 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     360           10 :           res_op0 = _r1;
     361              :         }
     362           10 :         tree _r;
     363           10 :         _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
     364           10 :         if (!_r)
     365            0 :           goto next_after_fail132;
     366           10 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 100, __FILE__, __LINE__, true);
     367           10 :         return _r;
     368              :       }
     369              : next_after_fail132:;
     370              :     }
     371              :   else
     372              :     {
     373            2 :       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     374            2 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[3]))
     375              : )
     376              :         {
     377            1 :           {
     378            1 :  tree utype = TREE_TYPE (captures[1]);
     379            1 :  if (TYPE_PRECISION (utype) < TYPE_PRECISION (TREE_TYPE (captures[3])))
     380            1 :  utype = TREE_TYPE (captures[3]);
     381            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail133;
     382            1 :               {
     383            1 :                 tree res_op0;
     384            1 :                 {
     385            1 :                   tree _o1[2], _r1;
     386            1 :                   {
     387            1 :                     tree _o2[1], _r2;
     388            1 :                     _o2[0] = captures[1];
     389            1 :                     if (TREE_TYPE (_o2[0]) != utype)
     390              :                       {
     391            1 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     392              :                       }
     393              :                     else
     394              :                       _r2 = _o2[0];
     395            1 :                     _o1[0] = _r2;
     396              :                   }
     397            1 :                   {
     398            1 :                     tree _o2[1], _r2;
     399            1 :                     _o2[0] = captures[3];
     400            1 :                     if (TREE_TYPE (_o2[0]) != utype)
     401              :                       {
     402            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     403              :                       }
     404              :                     else
     405              :                       _r2 = _o2[0];
     406            1 :                     _o1[1] = _r2;
     407              :                   }
     408            1 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     409            1 :                   res_op0 = _r1;
     410              :                 }
     411            1 :                 tree _r;
     412            1 :                 _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
     413            1 :                 if (!_r)
     414            1 :                   goto next_after_fail133;
     415            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 101, __FILE__, __LINE__, true);
     416            0 :                 return _r;
     417              :               }
     418              : next_after_fail133:;
     419              :           }
     420              :         }
     421              :     }
     422              :   return NULL_TREE;
     423              : }
     424              : 
     425              : tree
     426       122742 : generic_simplify_70 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     427              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     428              : {
     429       122742 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     430       122742 :   if (!TYPE_SATURATING (type)
     431              : )
     432              :     {
     433       122742 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     434       245484 :  && !FIXED_POINT_TYPE_P (type)
     435              : )
     436              :         {
     437       122742 :           if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     438              : )
     439              :             {
     440       121887 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail159;
     441       121887 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail159;
     442       121887 :               {
     443       121887 :                 tree res_op0;
     444       121887 :                 {
     445       121887 :                   tree _o1[1], _r1;
     446       121887 :                   _o1[0] = captures[0];
     447       121887 :                   if (TREE_TYPE (_o1[0]) != type)
     448              :                     {
     449       119191 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     450              :                     }
     451              :                   else
     452              :                     _r1 = _o1[0];
     453       121887 :                   res_op0 = _r1;
     454              :                 }
     455       121887 :                 tree _r;
     456       121887 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     457       121887 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 127, __FILE__, __LINE__, true);
     458       121887 :                 return _r;
     459              :               }
     460              : next_after_fail159:;
     461              :             }
     462              :         }
     463              :     }
     464              :   return NULL_TREE;
     465              : }
     466              : 
     467              : tree
     468            0 : generic_simplify_77 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     469              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     470              : {
     471            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     472            0 :   if (VECTOR_TYPE_P (type)
     473            0 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
     474              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
     475            0 :  && (TYPE_MODE (TREE_TYPE (type))
     476            0 :  == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
     477              : )
     478              :     {
     479            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail167;
     480            0 :       {
     481            0 :         tree res_op0;
     482            0 :         res_op0 = captures[0];
     483            0 :         tree res_op1;
     484            0 :         {
     485            0 :           tree _o1[1], _r1;
     486            0 :           {
     487            0 :             tree _o2[3], _r2;
     488            0 :             _o2[0] = captures[2];
     489            0 :             {
     490            0 :               tree _o3[1], _r3;
     491            0 :               _o3[0] = captures[3];
     492            0 :               _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
     493            0 :               _o2[1] = _r3;
     494              :             }
     495            0 :             _o2[2] = captures[4];
     496            0 :             _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
     497            0 :             _o1[0] = _r2;
     498              :           }
     499            0 :           if (TREE_TYPE (_o1[0]) != type)
     500              :             {
     501            0 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     502              :             }
     503              :           else
     504              :             _r1 = _o1[0];
     505            0 :           res_op1 = _r1;
     506              :         }
     507            0 :         tree _r;
     508            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     509            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 135, __FILE__, __LINE__, true);
     510            0 :         return _r;
     511              :       }
     512            0 : next_after_fail167:;
     513              :     }
     514              :   return NULL_TREE;
     515              : }
     516              : 
     517              : tree
     518           85 : generic_simplify_86 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     519              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     520              : {
     521           85 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     522           85 :   if (INTEGRAL_TYPE_P (type)
     523           85 :  || (VECTOR_INTEGER_TYPE_P (type)
     524              :  && ((optimize_vectors_before_lowering_p ()
     525            1 :  && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)
     526            0 :  || target_supports_op_p (type, TRUNC_MOD_EXPR,
     527              :  optab_vector)))
     528              : )
     529              :     {
     530           85 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail177;
     531           85 :       {
     532           85 :         tree res_op0;
     533           85 :         {
     534           85 :           tree _o1[2], _r1;
     535           85 :           _o1[0] = captures[0];
     536           85 :           _o1[1] = captures[1];
     537           85 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     538           85 :           res_op0 = _r1;
     539              :         }
     540           85 :         tree _r;
     541           85 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     542           85 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 145, __FILE__, __LINE__, true);
     543           85 :         return _r;
     544              :       }
     545            0 : next_after_fail177:;
     546              :     }
     547              :   return NULL_TREE;
     548              : }
     549              : 
     550              : tree
     551            1 : generic_simplify_93 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     552              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     553              : {
     554            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     555            1 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     556            1 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     557              : )
     558              :     {
     559            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail184;
     560            1 :       {
     561            1 :         tree res_op0;
     562            1 :         {
     563            1 :           tree _o1[2], _r1;
     564            1 :           {
     565            1 :             tree _o2[1], _r2;
     566            1 :             _o2[0] = captures[3];
     567            1 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     568            1 :             _o1[0] = _r2;
     569              :           }
     570            1 :           _o1[1] = captures[0];
     571            1 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     572            1 :           res_op0 = _r1;
     573              :         }
     574            1 :         tree _r;
     575            1 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     576            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 152, __FILE__, __LINE__, true);
     577            1 :         return _r;
     578              :       }
     579            0 : next_after_fail184:;
     580              :     }
     581              :   return NULL_TREE;
     582              : }
     583              : 
     584              : tree
     585          664 : generic_simplify_101 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     586              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     587              : {
     588          664 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     589          664 :   if (!TYPE_SATURATING (type)
     590              : )
     591              :     {
     592          664 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     593         1328 :  && !FIXED_POINT_TYPE_P (type)
     594              : )
     595              :         {
     596          664 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     597              : )
     598              :             {
     599           24 :               if (!CONSTANT_CLASS_P (captures[2])
     600              : )
     601              :                 {
     602           24 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail194;
     603           24 :                   {
     604           24 :                     tree res_op0;
     605           24 :                     {
     606           24 :                       tree _o1[1], _r1;
     607           24 :                       _o1[0] = captures[2];
     608           24 :                       if (TREE_TYPE (_o1[0]) != type)
     609              :                         {
     610           24 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     611              :                         }
     612              :                       else
     613              :                         _r1 = _o1[0];
     614           24 :                       res_op0 = _r1;
     615              :                     }
     616           24 :                     tree res_op1;
     617           24 :                     {
     618           24 :                       tree _o1[2], _r1;
     619           24 :                       _o1[0] = captures[0];
     620           24 :                       {
     621           24 :                         tree _o2[1], _r2;
     622           24 :                         _o2[0] = captures[1];
     623           24 :                         if (TREE_TYPE (_o2[0]) != type)
     624              :                           {
     625           24 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     626              :                           }
     627              :                         else
     628              :                           _r2 = _o2[0];
     629           24 :                         _o1[1] = _r2;
     630              :                       }
     631           24 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     632           24 :                       if (EXPR_P (_r1))
     633            0 :                         goto next_after_fail194;
     634           24 :                       res_op1 = _r1;
     635              :                     }
     636           24 :                     tree _r;
     637           24 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     638           24 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 161, __FILE__, __LINE__, true);
     639           24 :                     return _r;
     640              :                   }
     641              : next_after_fail194:;
     642              :                 }
     643              :             }
     644              :           else
     645              :             {
     646         1280 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     647         1280 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
     648              : )
     649              :                 {
     650            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail195;
     651            1 :                   {
     652            1 :                     tree res_op0;
     653            1 :                     {
     654            1 :                       tree _o1[2], _r1;
     655            1 :                       _o1[0] = captures[2];
     656            1 :                       {
     657            1 :                         tree _o2[2], _r2;
     658            1 :                         {
     659            1 :                           tree _o3[1], _r3;
     660            1 :                           _o3[0] = captures[0];
     661            1 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     662              :                             {
     663            1 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     664              :                             }
     665              :                           else
     666              :                             _r3 = _o3[0];
     667            1 :                           _o2[0] = _r3;
     668              :                         }
     669            1 :                         _o2[1] = captures[1];
     670            1 :                         _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     671            1 :                         if (EXPR_P (_r2))
     672            0 :                           goto next_after_fail195;
     673            1 :                         _o1[1] = _r2;
     674              :                       }
     675            1 :                       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     676            1 :                       res_op0 = _r1;
     677              :                     }
     678            1 :                     tree _r;
     679            1 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     680            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 162, __FILE__, __LINE__, true);
     681            1 :                     return _r;
     682              :                   }
     683              : next_after_fail195:;
     684              :                 }
     685              :               else
     686              :                 {
     687          639 :                   if (types_match (type, captures[2]) && !TYPE_OVERFLOW_SANITIZED (type)
     688              : )
     689              :                     {
     690          630 :                       {
     691          630 :  tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
     692          630 :                           if (cst && !TREE_OVERFLOW (cst)
     693              : )
     694              :                             {
     695          630 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail196;
     696          630 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail196;
     697          630 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail196;
     698          630 :                               {
     699          630 :                                 tree res_op0;
     700          630 :                                 res_op0 =  cst;
     701          630 :                                 tree res_op1;
     702          630 :                                 res_op1 = captures[2];
     703          630 :                                 tree _r;
     704          630 :                                 _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     705          630 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 163, __FILE__, __LINE__, true);
     706          630 :                                 return _r;
     707              :                               }
     708              : next_after_fail196:;
     709              :                             }
     710              :                       }
     711              :                     }
     712              :                 }
     713              :             }
     714              :         }
     715              :     }
     716              :   return NULL_TREE;
     717              : }
     718              : 
     719              : tree
     720            1 : generic_simplify_130 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     721              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     722              : {
     723            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     724            1 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail227;
     725            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail227;
     726            1 :   {
     727            1 :     tree _r;
     728            1 :     _r = captures[0];
     729            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 189, __FILE__, __LINE__, true);
     730              :     return _r;
     731              :   }
     732              : next_after_fail227:;
     733              :   return NULL_TREE;
     734              : }
     735              : 
     736              : tree
     737            0 : generic_simplify_139 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     738              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     739              :  const enum tree_code ARG_UNUSED (op))
     740              : {
     741            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     742            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     743            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     744              : )
     745              :     {
     746            0 :       if (single_use (captures[4]) && single_use (captures[5])
     747              : )
     748              :         {
     749            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail238;
     750            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail238;
     751            0 :           {
     752            0 :             tree res_op0;
     753            0 :             res_op0 = captures[0];
     754            0 :             tree res_op1;
     755            0 :             {
     756            0 :               tree _o1[1], _r1;
     757            0 :               _o1[0] = captures[6];
     758            0 :               if (TREE_TYPE (_o1[0]) != type)
     759              :                 {
     760            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     761              :                 }
     762              :               else
     763              :                 _r1 = _o1[0];
     764            0 :               res_op1 = _r1;
     765              :             }
     766            0 :             tree _r;
     767            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     768            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
     769            0 :             return _r;
     770              :           }
     771              : next_after_fail238:;
     772              :         }
     773              :       else
     774              :         {
     775              :           if (single_use (captures[0]) && single_use (captures[1])
     776              : )
     777              :             {
     778              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail239;
     779              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail239;
     780              :               {
     781              :                 tree res_op0;
     782              :                 {
     783              :                   tree _o1[1], _r1;
     784              :                   _o1[0] = captures[3];
     785              :                   if (TREE_TYPE (_o1[0]) != type)
     786              :                     {
     787              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     788              :                     }
     789              :                   else
     790              :                     _r1 = _o1[0];
     791              :                   res_op0 = _r1;
     792              :                 }
     793              :                 tree res_op1;
     794              :                 res_op1 = captures[4];
     795              :                 tree _r;
     796              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     797              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     798              :                 return _r;
     799              :               }
     800              : next_after_fail239:;
     801              :             }
     802              :         }
     803              :     }
     804              :   return NULL_TREE;
     805              : }
     806              : 
     807              : tree
     808            4 : generic_simplify_154 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     809              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     810              : {
     811            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     812            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail259;
     813            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail259;
     814            4 :   {
     815            4 :     tree _r;
     816            4 :     _r = captures[2];
     817            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     818            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     819            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 208, __FILE__, __LINE__, true);
     820              :     return _r;
     821              :   }
     822              : next_after_fail259:;
     823              :   return NULL_TREE;
     824              : }
     825              : 
     826              : tree
     827            3 : generic_simplify_157 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     828              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     829              :  const enum tree_code ARG_UNUSED (code2),
     830              :  const enum tree_code ARG_UNUSED (code1))
     831              : {
     832            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     833            3 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     834            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     835            3 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     836            3 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     837            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     838            3 :  && bitwise_equal_p (captures[2], captures[5]))
     839              : )
     840              :     {
     841            3 :       {
     842            3 :  bool one_before = false;
     843            3 :  bool one_after = false;
     844            3 :  int cmp = 0;
     845            3 :  bool allbits = true;
     846            3 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     847            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     848              :  {
     849            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     850            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     851            0 :  auto t2 = wi::to_wide (captures[5]);
     852            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     853            0 :  if (cmp < 0
     854            0 :  && t1 == t2 - 1)
     855              :  one_before = true;
     856            0 :  if (cmp > 0
     857            0 :  && t1 == t2 + 1)
     858              :  one_after = true;
     859              :  }
     860            3 :  bool val;
     861            3 :  switch (code2)
     862              :  {
     863            0 :  case EQ_EXPR: val = (cmp == 0); break;
     864            0 :  case NE_EXPR: val = (cmp != 0); break;
     865            0 :  case LT_EXPR: val = (cmp < 0); break;
     866            3 :  case GT_EXPR: val = (cmp > 0); break;
     867            0 :  case LE_EXPR: val = (cmp <= 0); break;
     868            0 :  case GE_EXPR: val = (cmp >= 0); break;
     869            0 :  default: gcc_unreachable ();
     870              :  }
     871            3 :           if (code1 == EQ_EXPR && val
     872              : )
     873              :             {
     874            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail262;
     875            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail262;
     876            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail262;
     877            0 :               {
     878            0 :                 tree _r;
     879            0 :                 _r = captures[3];
     880            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     881            0 :                 return _r;
     882              :               }
     883              : next_after_fail262:;
     884              :             }
     885              :           else
     886              :             {
     887            3 :               if (code1 == NE_EXPR && val && allbits
     888              : )
     889              :                 {
     890            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail263;
     891            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail263;
     892            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail263;
     893            0 :                   {
     894            0 :                     tree _r;
     895            0 :                     _r =  constant_boolean_node (true, type);
     896            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
     897            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     898            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
     899            0 :                     return _r;
     900              :                   }
     901              : next_after_fail263:;
     902              :                 }
     903              :               else
     904              :                 {
     905            3 :                   if (code1 == NE_EXPR && !val && allbits
     906              : )
     907              :                     {
     908            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail264;
     909            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail264;
     910            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail264;
     911            0 :                       {
     912            0 :                         tree _r;
     913            0 :                         _r = captures[0];
     914            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     915            0 :                         return _r;
     916              :                       }
     917              : next_after_fail264:;
     918              :                     }
     919              :                   else
     920              :                     {
     921            3 :                       if (code1 == EQ_EXPR
     922            3 :  && code2 == GT_EXPR
     923            3 :  && cmp == 0
     924            3 :  && allbits
     925            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     926            3 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     927            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     928              : )
     929              :                         {
     930            3 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail265;
     931            3 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail265;
     932            3 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail265;
     933            3 :                           {
     934            3 :                             tree res_op0;
     935            3 :                             res_op0 = captures[4];
     936            3 :                             tree res_op1;
     937            3 :                             res_op1 = captures[5];
     938            3 :                             tree _r;
     939            3 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     940            3 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     941            3 :                             return _r;
     942              :                           }
     943              : next_after_fail265:;
     944              :                         }
     945              :                       else
     946              :                         {
     947            0 :                           if (code1 == EQ_EXPR
     948            0 :  && code2 == LT_EXPR
     949            0 :  && cmp == 0
     950            0 :  && allbits
     951            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     952            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     953            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     954              : )
     955              :                             {
     956            0 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail266;
     957            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail266;
     958            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail266;
     959            0 :                               {
     960            0 :                                 tree res_op0;
     961            0 :                                 res_op0 = captures[4];
     962            0 :                                 tree res_op1;
     963            0 :                                 res_op1 = captures[5];
     964            0 :                                 tree _r;
     965            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     966            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     967            0 :                                 return _r;
     968              :                               }
     969              : next_after_fail266:;
     970              :                             }
     971              :                           else
     972              :                             {
     973            0 :                               if (code1 == EQ_EXPR
     974            0 :  && code2 == GE_EXPR
     975              :  && one_before
     976            0 :  && allbits
     977            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     978            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     979            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     980              : )
     981              :                                 {
     982            0 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail267;
     983            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail267;
     984            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail267;
     985            0 :                                   {
     986            0 :                                     tree res_op0;
     987            0 :                                     res_op0 = captures[4];
     988            0 :                                     tree res_op1;
     989            0 :                                     {
     990            0 :                                       tree _o1[1], _r1;
     991            0 :                                       _o1[0] = captures[2];
     992            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     993              :                                         {
     994            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     995              :                                         }
     996              :                                       else
     997              :                                         _r1 = _o1[0];
     998            0 :                                       res_op1 = _r1;
     999              :                                     }
    1000            0 :                                     tree _r;
    1001            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1002            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
    1003            0 :                                     return _r;
    1004              :                                   }
    1005              : next_after_fail267:;
    1006              :                                 }
    1007              :                               else
    1008              :                                 {
    1009            0 :                                   if (code1 == EQ_EXPR
    1010            0 :  && code2 == LE_EXPR
    1011              :  && one_after
    1012            0 :  && allbits
    1013            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    1014            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
    1015            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    1016              : )
    1017              :                                     {
    1018            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail268;
    1019            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail268;
    1020            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail268;
    1021            0 :                                       {
    1022            0 :                                         tree res_op0;
    1023            0 :                                         res_op0 = captures[4];
    1024            0 :                                         tree res_op1;
    1025            0 :                                         {
    1026            0 :                                           tree _o1[1], _r1;
    1027            0 :                                           _o1[0] = captures[2];
    1028            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1029              :                                             {
    1030            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1031              :                                             }
    1032              :                                           else
    1033              :                                             _r1 = _o1[0];
    1034            0 :                                           res_op1 = _r1;
    1035              :                                         }
    1036            0 :                                         tree _r;
    1037            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1038            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
    1039            0 :                                         return _r;
    1040              :                                       }
    1041              : next_after_fail268:;
    1042              :                                     }
    1043              :                                 }
    1044              :                             }
    1045              :                         }
    1046              :                     }
    1047              :                 }
    1048              :             }
    1049              :       }
    1050              :     }
    1051              :   return NULL_TREE;
    1052              : }
    1053              : 
    1054              : tree
    1055            8 : generic_simplify_201 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1056              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1057              :  const combined_fn ARG_UNUSED (POW))
    1058              : {
    1059            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1060            8 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1061              : )
    1062              :     {
    1063            8 :       if (!TREE_OVERFLOW (captures[2])
    1064              : )
    1065              :         {
    1066            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail342;
    1067            8 :           {
    1068            8 :             tree res_op0;
    1069            8 :             res_op0 = captures[0];
    1070            8 :             tree res_op1;
    1071            8 :             {
    1072            8 :               tree _o1[2], _r1;
    1073            8 :               _o1[0] = captures[2];
    1074            8 :               _o1[1] =  build_one_cst (type);
    1075            8 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1076            8 :               res_op1 = _r1;
    1077              :             }
    1078            8 :             tree _r;
    1079            8 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1080            8 :             if (!_r)
    1081            0 :               goto next_after_fail342;
    1082            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 255, __FILE__, __LINE__, true);
    1083            8 :             return _r;
    1084              :           }
    1085              : next_after_fail342:;
    1086              :         }
    1087              :     }
    1088              :   return NULL_TREE;
    1089              : }
    1090              : 
    1091              : tree
    1092        20887 : generic_simplify_208 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1093              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1094              :  const enum tree_code ARG_UNUSED (cmp),
    1095              :  const enum tree_code ARG_UNUSED (mod))
    1096              : {
    1097        20887 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1098        20887 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1099              : )
    1100              :     {
    1101        20887 :       {
    1102        20887 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1103        20887 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail349;
    1104        20887 :           {
    1105        20887 :             tree res_op0;
    1106        20887 :             {
    1107        20887 :               tree _o1[2], _r1;
    1108        20887 :               {
    1109        20887 :                 tree _o2[1], _r2;
    1110        20887 :                 _o2[0] = captures[0];
    1111        20887 :                 if (TREE_TYPE (_o2[0]) != utype)
    1112              :                   {
    1113        20887 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1114              :                   }
    1115              :                 else
    1116              :                   _r2 = _o2[0];
    1117        20887 :                 _o1[0] = _r2;
    1118              :               }
    1119        20887 :               {
    1120        20887 :                 tree _o2[1], _r2;
    1121        20887 :                 _o2[0] = captures[1];
    1122        20887 :                 if (TREE_TYPE (_o2[0]) != utype)
    1123              :                   {
    1124        20887 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1125              :                   }
    1126              :                 else
    1127              :                   _r2 = _o2[0];
    1128        20887 :                 _o1[1] = _r2;
    1129              :               }
    1130        20887 :               _r1 = fold_build2_loc (loc, mod, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1131        20887 :               res_op0 = _r1;
    1132              :             }
    1133        20887 :             tree res_op1;
    1134        20887 :             {
    1135        20887 :               tree _o1[1], _r1;
    1136        20887 :               _o1[0] = captures[2];
    1137        20887 :               if (TREE_TYPE (_o1[0]) != utype)
    1138              :                 {
    1139        20887 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1140              :                 }
    1141              :               else
    1142              :                 _r1 = _o1[0];
    1143        20887 :               res_op1 = _r1;
    1144              :             }
    1145        20887 :             tree _r;
    1146        20887 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1147        20887 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 262, __FILE__, __LINE__, true);
    1148        20887 :             return _r;
    1149              :           }
    1150            0 : next_after_fail349:;
    1151              :       }
    1152              :     }
    1153              :   return NULL_TREE;
    1154              : }
    1155              : 
    1156              : tree
    1157        24204 : generic_simplify_223 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1158              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1159              :  const enum tree_code ARG_UNUSED (op))
    1160              : {
    1161        24204 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1162        48408 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1163        48270 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1164        21639 :  || ((op == EQ_EXPR || op == NE_EXPR)
    1165         1766 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))))
    1166        48339 :  && (CONSTANT_CLASS_P (captures[2]) || single_use (captures[1]))
    1167              : )
    1168              :     {
    1169         4262 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail380;
    1170         4262 :       {
    1171         4262 :         tree res_op0;
    1172         4262 :         res_op0 = captures[2];
    1173         4262 :         tree res_op1;
    1174         4262 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1175         4262 :         tree _r;
    1176         4262 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1177         4262 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1178            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1179         4262 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 292, __FILE__, __LINE__, true);
    1180         4262 :         return _r;
    1181              :       }
    1182            0 : next_after_fail380:;
    1183              :     }
    1184              :   return NULL_TREE;
    1185              : }
    1186              : 
    1187              : tree
    1188     40393149 : generic_simplify_231 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1189              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1190              :  const enum tree_code ARG_UNUSED (cmp))
    1191              : {
    1192     40393149 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1193     80786472 :   if (wi::bit_and_not (get_known_nonzero_bits (captures[1]),
    1194    121179447 :  get_nonzero_bits (captures[0])) != 0
    1195              : )
    1196              :     {
    1197        76617 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail388;
    1198        76617 :       {
    1199        76617 :         tree _r;
    1200        76617 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1201        76617 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1202            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1203        76617 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1204            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1205        76617 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 299, __FILE__, __LINE__, true);
    1206        76617 :         return _r;
    1207              :       }
    1208            0 : next_after_fail388:;
    1209              :     }
    1210              :   return NULL_TREE;
    1211              : }
    1212              : 
    1213              : tree
    1214           13 : generic_simplify_238 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1215              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1216              :  const enum tree_code ARG_UNUSED (cmp))
    1217              : {
    1218           13 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1219           13 :   if (tree_fits_shwi_p (captures[3])
    1220           13 :  && tree_to_shwi (captures[3]) > 0
    1221           26 :  && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
    1222              : )
    1223              :     {
    1224           13 :       if (tree_to_shwi (captures[3]) > wi::ctz (wi::to_wide (captures[5]))
    1225              : )
    1226              :         {
    1227            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail398;
    1228            0 :           {
    1229            0 :             tree _r;
    1230            0 :             _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1231            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1232            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1233            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    1234            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1235            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    1236            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    1237            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    1238            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    1239            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 309, __FILE__, __LINE__, true);
    1240            0 :             return _r;
    1241              :           }
    1242            0 : next_after_fail398:;
    1243              :         }
    1244              :       else
    1245              :         {
    1246           13 :           {
    1247           13 :  wide_int c1 = wi::to_wide (captures[3]);
    1248           13 :  wide_int c2 = wi::lrshift (wi::to_wide (captures[4]), c1);
    1249           13 :  wide_int c3 = wi::lrshift (wi::to_wide (captures[5]), c1);
    1250           13 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail399;
    1251           13 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail399;
    1252           13 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail399;
    1253           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail399;
    1254           13 :               {
    1255           13 :                 tree res_op0;
    1256           13 :                 {
    1257           13 :                   tree _o1[2], _r1;
    1258           13 :                   _o1[0] = captures[2];
    1259           13 :                   _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), c2);
    1260           13 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1261           13 :                   res_op0 = _r1;
    1262              :                 }
    1263           13 :                 tree res_op1;
    1264           13 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[2]), c3);
    1265           13 :                 tree _r;
    1266           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1267           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 310, __FILE__, __LINE__, true);
    1268           13 :                 return _r;
    1269              :               }
    1270            0 : next_after_fail399:;
    1271           13 :           }
    1272              :         }
    1273              :     }
    1274              :   return NULL_TREE;
    1275              : }
    1276              : 
    1277              : tree
    1278        30003 : generic_simplify_253 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1279              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1280              :  const enum tree_code ARG_UNUSED (cmp),
    1281              :  const enum tree_code ARG_UNUSED (scmp))
    1282              : {
    1283        30003 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1284        30003 :   if (integer_zerop (captures[2])
    1285              : )
    1286              :     {
    1287            7 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail423;
    1288            7 :       {
    1289            7 :         tree res_op0;
    1290            7 :         res_op0 = captures[2];
    1291            7 :         tree res_op1;
    1292            7 :         res_op1 = captures[3];
    1293            7 :         tree _r;
    1294            7 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1295            7 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1296            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1297            7 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 333, __FILE__, __LINE__, true);
    1298            7 :         return _r;
    1299              :       }
    1300            0 : next_after_fail423:;
    1301              :     }
    1302              :   else
    1303              :     {
    1304        59992 :       if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1305        59992 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1306        59992 :  && single_use (captures[0])
    1307              : )
    1308              :         {
    1309         5947 :           if (tree_int_cst_sgn (captures[2]) < 0
    1310              : )
    1311              :             {
    1312           15 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail424;
    1313           15 :               {
    1314           15 :                 tree res_op0;
    1315           15 :                 res_op0 = captures[1];
    1316           15 :                 tree res_op1;
    1317           15 :                 res_op1 = captures[3];
    1318           15 :                 tree _r;
    1319           15 :                 _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1320           15 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1321            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1322           15 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 334, __FILE__, __LINE__, true);
    1323           15 :                 return _r;
    1324              :               }
    1325            0 : next_after_fail424:;
    1326              :             }
    1327              :           else
    1328              :             {
    1329         5932 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail425;
    1330         5932 :               {
    1331         5932 :                 tree res_op0;
    1332         5932 :                 res_op0 = captures[1];
    1333         5932 :                 tree res_op1;
    1334         5932 :                 res_op1 = captures[3];
    1335         5932 :                 tree _r;
    1336         5932 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1337         5932 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1338            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1339         5932 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 335, __FILE__, __LINE__, true);
    1340         5932 :                 return _r;
    1341              :               }
    1342            0 : next_after_fail425:;
    1343              :             }
    1344              :         }
    1345              :     }
    1346              :   return NULL_TREE;
    1347              : }
    1348              : 
    1349              : tree
    1350        81940 : generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1351              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1352              :  const enum tree_code ARG_UNUSED (cmp),
    1353              :  const enum tree_code ARG_UNUSED (icmp))
    1354              : {
    1355        81940 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1356        81940 :   if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[2]))
    1357        81940 :  && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[2]))
    1358              : )
    1359              :     {
    1360        81449 :       {
    1361        81449 :  tree itype = TREE_TYPE (captures[1]);
    1362        81449 :  signop isign = TYPE_SIGN (itype);
    1363        81449 :  format_helper fmt (REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[2]))));
    1364        81449 :  bool itype_ok = fmt.can_represent_integral_type_p (itype);
    1365        81449 :  bool value_ok = itype_ok;
    1366        81449 :  const REAL_VALUE_TYPE *cst = TREE_REAL_CST_PTR (captures[2]);
    1367        81449 :  bool exception_p = real_isnan (cst)
    1368          150 :  && flag_trapping_math
    1369        81599 :  && ((cmp != EQ_EXPR && cmp != NE_EXPR)
    1370           30 :  || (cst->signalling
    1371           30 :  && HONOR_SNANS (TREE_TYPE (captures[2]))));
    1372        81449 :  if (flag_trapping_math && !value_ok)
    1373              :  exception_p = true;
    1374        39955 :           if (! exception_p
    1375              : )
    1376              :             {
    1377        39805 :               {
    1378        39805 :  signop isign = TYPE_SIGN (itype);
    1379        39805 :  wide_int imin_val = wi::min_value (itype);
    1380        39805 :  wide_int imax_val = wi::max_value (itype);
    1381        39805 :  REAL_VALUE_TYPE imin, imax;
    1382        39805 :  real_from_integer (&imin, fmt, imin_val, isign);
    1383        39805 :  real_from_integer (&imax, fmt, imax_val, isign);
    1384        39805 :  REAL_VALUE_TYPE icst;
    1385        39805 :  if (cmp == GT_EXPR || cmp == GE_EXPR)
    1386        39063 :  real_ceil (&icst, fmt, cst);
    1387          742 :  else if (cmp == LT_EXPR || cmp == LE_EXPR)
    1388          232 :  real_floor (&icst, fmt, cst);
    1389              :  else
    1390          510 :  real_trunc (&icst, fmt, cst);
    1391        39805 :  bool cst_int_p = real_isfinite (cst) && real_identical (&icst, cst);
    1392        39805 :  bool overflow_p = false;
    1393        39805 :  wide_int icst_val
    1394        39805 :  = real_to_integer (&icst, &overflow_p, TYPE_PRECISION (itype));
    1395        39805 :                   if (real_compare (LT_EXPR, cst, &imin)
    1396              : )
    1397              :                     {
    1398        19567 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail476;
    1399        19567 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail476;
    1400        19567 :                       {
    1401        19567 :                         tree _r;
    1402        19567 :                         _r =  constant_boolean_node (cmp == GT_EXPR || cmp == GE_EXPR || cmp == NE_EXPR,
    1403              :  type);
    1404        19567 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1405            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1406        19567 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 385, __FILE__, __LINE__, true);
    1407        19567 :                         return _r;
    1408              :                       }
    1409          208 : next_after_fail476:;
    1410              :                     }
    1411              :                   else
    1412              :                     {
    1413        20238 :                       if (real_compare (GT_EXPR, cst, &imax)
    1414              : )
    1415              :                         {
    1416          120 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail477;
    1417          120 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail477;
    1418          120 :                           {
    1419          120 :                             tree _r;
    1420          120 :                             _r =  constant_boolean_node (cmp == LT_EXPR || cmp == LE_EXPR || cmp == NE_EXPR,
    1421              :  type);
    1422          120 :                             if (TREE_SIDE_EFFECTS (captures[1]))
    1423            1 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1424          120 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 386, __FILE__, __LINE__, true);
    1425          120 :                             return _r;
    1426              :                           }
    1427          208 : next_after_fail477:;
    1428              :                         }
    1429              :                       else
    1430              :                         {
    1431        20118 :                           if (!cst_int_p
    1432          136 :  && (cmp == EQ_EXPR || cmp == NE_EXPR)
    1433              : )
    1434              :                             {
    1435           28 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail478;
    1436           28 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail478;
    1437           28 :                               {
    1438           28 :                                 tree _r;
    1439           28 :                                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1440           28 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1441            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1442           28 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 387, __FILE__, __LINE__, true);
    1443           28 :                                 return _r;
    1444              :                               }
    1445          208 : next_after_fail478:;
    1446              :                             }
    1447              :                           else
    1448              :                             {
    1449        20090 :                               if (cst_int_p
    1450        80036 :  && fold_cmp_float_cst_p (imin_val, imax_val, cmp, &icst, fmt,
    1451              :  icst_val, isign)
    1452              : )
    1453              :                                 {
    1454        19774 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail479;
    1455        19774 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail479;
    1456        19774 :                                   {
    1457        19774 :                                     tree res_op0;
    1458        19774 :                                     res_op0 = captures[1];
    1459        19774 :                                     tree res_op1;
    1460        19774 :                                     res_op1 =  wide_int_to_tree (itype, icst_val);
    1461        19774 :                                     tree _r;
    1462        19774 :                                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1463        19774 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 388, __FILE__, __LINE__, true);
    1464        19774 :                                     return _r;
    1465              :                                   }
    1466          208 : next_after_fail479:;
    1467              :                                 }
    1468              :                               else
    1469              :                                 {
    1470          632 :                                   if (!cst_int_p
    1471          748 :  && fold_cmp_float_cst_p (imin_val, imax_val, icmp, &icst, fmt,
    1472              :  icst_val, isign)
    1473              : )
    1474              :                                     {
    1475          108 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail480;
    1476          108 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail480;
    1477          108 :                                       {
    1478          108 :                                         tree res_op0;
    1479          108 :                                         res_op0 = captures[1];
    1480          108 :                                         tree res_op1;
    1481          108 :                                         res_op1 =  wide_int_to_tree (itype, icst_val);
    1482          108 :                                         tree _r;
    1483          108 :                                         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1484          108 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 389, __FILE__, __LINE__, true);
    1485          108 :                                         return _r;
    1486              :                                       }
    1487          208 : next_after_fail480:;
    1488              :                                     }
    1489              :                                 }
    1490              :                             }
    1491              :                         }
    1492              :                     }
    1493        39805 :               }
    1494              :             }
    1495              :       }
    1496              :     }
    1497              :   return NULL_TREE;
    1498              : }
    1499              : 
    1500              : tree
    1501       112334 : generic_simplify_282 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1502              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1503              :  const enum tree_code ARG_UNUSED (cmp),
    1504              :  const enum tree_code ARG_UNUSED (icmp))
    1505              : {
    1506       112334 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1507       112334 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail515;
    1508       112310 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail515;
    1509       112310 :   {
    1510       112310 :     tree res_op0;
    1511       112310 :     res_op0 = captures[0];
    1512       112310 :     tree res_op1;
    1513       112310 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1514       112310 :     tree _r;
    1515       112310 :     _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1516       112310 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 416, __FILE__, __LINE__, true);
    1517              :     return _r;
    1518              :   }
    1519              : next_after_fail515:;
    1520              :   return NULL_TREE;
    1521              : }
    1522              : 
    1523              : tree
    1524           18 : generic_simplify_287 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1525              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1526              :  const enum tree_code ARG_UNUSED (cmp),
    1527              :  const enum tree_code ARG_UNUSED (ncmp))
    1528              : {
    1529           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1530           36 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1531           18 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1532           36 :  && types_match (captures[0], captures[2])
    1533              : )
    1534              :     {
    1535            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail520;
    1536            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail520;
    1537            2 :       {
    1538            2 :         tree res_op0;
    1539            2 :         {
    1540            2 :           tree _o1[2], _r1;
    1541            2 :           _o1[0] = captures[0];
    1542            2 :           _o1[1] = captures[2];
    1543            2 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1544            2 :           res_op0 = _r1;
    1545              :         }
    1546            2 :         tree res_op1;
    1547            2 :         res_op1 = captures[1];
    1548            2 :         tree _r;
    1549            2 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1550            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 419, __FILE__, __LINE__, true);
    1551            2 :         return _r;
    1552              :       }
    1553              : next_after_fail520:;
    1554              :     }
    1555              :   return NULL_TREE;
    1556              : }
    1557              : 
    1558              : tree
    1559            0 : generic_simplify_293 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1560              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1561              :  const enum tree_code ARG_UNUSED (inner),
    1562              :  const enum tree_code ARG_UNUSED (outer))
    1563              : {
    1564            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1565            0 :   {
    1566            0 :  bool cst1 = integer_onep (captures[1]);
    1567            0 :  bool cst0 = integer_zerop (captures[1]);
    1568            0 :  bool innereq = inner == EQ_EXPR;
    1569            0 :  bool outereq = outer == EQ_EXPR;
    1570            0 :       if (innereq ? cst0 : cst1
    1571              : )
    1572              :         {
    1573            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail540;
    1574            0 :           {
    1575            0 :             tree _r;
    1576            0 :             _r =  constant_boolean_node (!outereq, type);
    1577            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1578            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1579            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1580            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1581            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 431, __FILE__, __LINE__, true);
    1582            0 :             return _r;
    1583              :           }
    1584            0 : next_after_fail540:;
    1585              :         }
    1586              :       else
    1587              :         {
    1588            0 :           if (innereq ? cst1 : cst0
    1589              : )
    1590              :             {
    1591            0 :               {
    1592            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1593            0 :  tree ucst1 = build_one_cst (utype);
    1594            0 :                   if (!outereq
    1595              : )
    1596              :                     {
    1597            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail541;
    1598            0 :                       {
    1599            0 :                         tree res_op0;
    1600            0 :                         {
    1601            0 :                           tree _o1[1], _r1;
    1602            0 :                           _o1[0] = captures[0];
    1603            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1604              :                             {
    1605            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1606              :                             }
    1607              :                           else
    1608              :                             _r1 = _o1[0];
    1609            0 :                           res_op0 = _r1;
    1610              :                         }
    1611            0 :                         tree res_op1;
    1612            0 :                         res_op1 =  ucst1;
    1613            0 :                         tree _r;
    1614            0 :                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1615            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1616            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1617            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 432, __FILE__, __LINE__, true);
    1618            0 :                         return _r;
    1619              :                       }
    1620            0 : next_after_fail541:;
    1621              :                     }
    1622              :                   else
    1623              :                     {
    1624            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail542;
    1625            0 :                       {
    1626            0 :                         tree res_op0;
    1627            0 :                         {
    1628            0 :                           tree _o1[1], _r1;
    1629            0 :                           _o1[0] = captures[0];
    1630            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1631              :                             {
    1632            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1633              :                             }
    1634              :                           else
    1635              :                             _r1 = _o1[0];
    1636            0 :                           res_op0 = _r1;
    1637              :                         }
    1638            0 :                         tree res_op1;
    1639            0 :                         res_op1 =  ucst1;
    1640            0 :                         tree _r;
    1641            0 :                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1642            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1643            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1644            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 433, __FILE__, __LINE__, true);
    1645            0 :                         return _r;
    1646              :                       }
    1647            0 : next_after_fail542:;
    1648              :                     }
    1649              :               }
    1650              :             }
    1651              :           else
    1652              :             {
    1653            0 :               {
    1654            0 :  tree value = build_int_cst (TREE_TYPE (captures[0]), !innereq);
    1655            0 :                   if (outereq
    1656              : )
    1657              :                     {
    1658            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail543;
    1659            0 :                       {
    1660            0 :                         tree res_op0;
    1661            0 :                         res_op0 = captures[0];
    1662            0 :                         tree res_op1;
    1663            0 :                         res_op1 =  value;
    1664            0 :                         tree _r;
    1665            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1666            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1667            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1668            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 434, __FILE__, __LINE__, true);
    1669            0 :                         return _r;
    1670              :                       }
    1671            0 : next_after_fail543:;
    1672              :                     }
    1673              :                   else
    1674              :                     {
    1675            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail544;
    1676            0 :                       {
    1677            0 :                         tree res_op0;
    1678            0 :                         res_op0 = captures[0];
    1679            0 :                         tree res_op1;
    1680            0 :                         res_op1 =  value;
    1681            0 :                         tree _r;
    1682            0 :                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    1683            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1684            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1685            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 435, __FILE__, __LINE__, true);
    1686            0 :                         return _r;
    1687              :                       }
    1688            0 : next_after_fail544:;
    1689              :                     }
    1690              :               }
    1691              :             }
    1692              :         }
    1693              :   }
    1694              :   return NULL_TREE;
    1695              : }
    1696              : 
    1697              : tree
    1698          374 : generic_simplify_299 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1699              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1700              :  const enum tree_code ARG_UNUSED (op),
    1701              :  const combined_fn ARG_UNUSED (ctz))
    1702              : {
    1703          374 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1704          374 :   {
    1705          374 :  tree type0 = TREE_TYPE (captures[1]);
    1706          374 :  int prec = TYPE_PRECISION (type0);
    1707          374 :  bool ok = true;
    1708          374 :  if (sanitize_flags_p (SANITIZE_BUILTIN)
    1709          374 :  && (!cfun
    1710           64 :  || (cfun->curr_properties & PROP_ssa) == 0))
    1711              :  ok = false;
    1712          620 :       if (ok && prec <= MAX_FIXED_MODE_SIZE
    1713              : )
    1714              :         {
    1715          310 :           if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
    1716              : )
    1717              :             {
    1718           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail561;
    1719           36 :               {
    1720           36 :                 tree _r;
    1721           36 :                 _r =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
    1722           36 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1723            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1724           36 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1725            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1726           36 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 452, __FILE__, __LINE__, true);
    1727          310 :                 return _r;
    1728              :               }
    1729            0 : next_after_fail561:;
    1730              :             }
    1731              :           else
    1732              :             {
    1733          274 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail562;
    1734          274 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail562;
    1735          274 :               {
    1736          274 :                 tree res_op0;
    1737          274 :                 {
    1738          274 :                   tree _o1[2], _r1;
    1739          274 :                   _o1[0] = captures[1];
    1740          274 :                   _o1[1] =  wide_int_to_tree (type0,
    1741          274 :  wi::mask (tree_to_uhwi (captures[2]) + 1,
    1742              :  false, prec));
    1743          274 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1744          274 :                   res_op0 = _r1;
    1745              :                 }
    1746          274 :                 tree res_op1;
    1747          274 :                 res_op1 =  wide_int_to_tree (type0,
    1748          274 :  wi::shifted_mask (tree_to_uhwi (captures[2]), 1,
    1749              :  false, prec));
    1750          274 :                 tree _r;
    1751          274 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1752          274 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 453, __FILE__, __LINE__, true);
    1753          274 :                 return _r;
    1754              :               }
    1755           64 : next_after_fail562:;
    1756              :             }
    1757              :         }
    1758              :   }
    1759           64 :   return NULL_TREE;
    1760              : }
    1761              : 
    1762              : tree
    1763            0 : generic_simplify_311 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1764              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1765              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1766              : {
    1767            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1768            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail578;
    1769            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail578;
    1770            0 :   {
    1771            0 :     tree _r;
    1772            0 :     _r = captures[1];
    1773            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 469, __FILE__, __LINE__, true);
    1774              :     return _r;
    1775              :   }
    1776              : next_after_fail578:;
    1777              :   return NULL_TREE;
    1778              : }
    1779              : 
    1780              : tree
    1781          768 : generic_simplify_318 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1782              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1783              :  const enum tree_code ARG_UNUSED (div))
    1784              : {
    1785          768 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1786         1536 :   if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
    1787          768 :  && !integer_zerop (captures[0])
    1788         1035 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1789              : )
    1790              :     {
    1791          111 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail587;
    1792          111 :       {
    1793          111 :         tree _r;
    1794          111 :         _r =  build_one_cst (type);
    1795          111 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1796            2 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1797          111 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 476, __FILE__, __LINE__, true);
    1798          111 :         return _r;
    1799              :       }
    1800            0 : next_after_fail587:;
    1801              :     }
    1802              :   return NULL_TREE;
    1803              : }
    1804              : 
    1805              : tree
    1806          192 : generic_simplify_324 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1807              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1808              :  const enum tree_code ARG_UNUSED (div))
    1809              : {
    1810          192 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1811          192 :   if (ANY_INTEGRAL_TYPE_P (type)
    1812              : )
    1813              :     {
    1814          192 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1815              : )
    1816              :         {
    1817          164 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail594;
    1818          164 :           {
    1819          164 :             tree _r;
    1820          164 :             _r = captures[1];
    1821          164 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1822            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1823          164 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 483, __FILE__, __LINE__, true);
    1824          164 :             return _r;
    1825              :           }
    1826            0 : next_after_fail594:;
    1827              :         }
    1828              :     }
    1829              :   return NULL_TREE;
    1830              : }
    1831              : 
    1832              : tree
    1833       217621 : generic_simplify_328 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1834              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1835              :  const enum tree_code ARG_UNUSED (mod))
    1836              : {
    1837       217621 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1838       217621 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail598;
    1839       217621 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail598;
    1840       217621 :   {
    1841       217621 :     tree _r;
    1842       217621 :     _r =  build_zero_cst (type);
    1843       217621 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1844           47 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1845       217621 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 487, __FILE__, __LINE__, true);
    1846              :     return _r;
    1847              :   }
    1848              : next_after_fail598:;
    1849              :   return NULL_TREE;
    1850              : }
    1851              : 
    1852              : tree
    1853            6 : generic_simplify_338 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1854              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1855              :  const combined_fn ARG_UNUSED (SIN),
    1856              :  const combined_fn ARG_UNUSED (TAN),
    1857              :  const combined_fn ARG_UNUSED (COS))
    1858              : {
    1859            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1860            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1861              : )
    1862              :     {
    1863            6 :       if (! HONOR_NANS (captures[1])
    1864            6 :  && ! HONOR_INFINITIES (captures[1])
    1865              : )
    1866              :         {
    1867            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail610;
    1868            6 :           {
    1869            6 :             tree res_op0;
    1870            6 :             res_op0 = captures[1];
    1871            6 :             tree _r;
    1872            6 :             _r = maybe_build_call_expr_loc (loc, COS, type, 1, res_op0);
    1873            6 :             if (!_r)
    1874            0 :               goto next_after_fail610;
    1875            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 499, __FILE__, __LINE__, true);
    1876            6 :             return _r;
    1877              :           }
    1878              : next_after_fail610:;
    1879              :         }
    1880              :     }
    1881              :   return NULL_TREE;
    1882              : }
    1883              : 
    1884              : tree
    1885       168099 : generic_simplify_346 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1886              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1887              :  const enum tree_code ARG_UNUSED (cmp))
    1888              : {
    1889       168099 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1890       168099 :   {
    1891       168099 :  tree from_type = TREE_TYPE (captures[0]);
    1892       168099 :  tree c1_type = TREE_TYPE (captures[1]), c2_type = TREE_TYPE (captures[2]);
    1893       168099 :  enum tree_code code = ERROR_MARK;
    1894       168099 :  if (integer_zerop (captures[1])
    1895        69008 :  && INTEGRAL_TYPE_P (from_type)
    1896        66213 :  && (cmp == GE_EXPR || cmp == LT_EXPR)
    1897        17729 :  && TYPE_UNSIGNED (from_type)
    1898         1793 :  && !TYPE_UNSIGNED (c1_type)
    1899         1793 :  && TYPE_PRECISION (from_type) == TYPE_PRECISION (c1_type)
    1900          587 :  && int_fits_type_p (captures[2], from_type)
    1901       168686 :  && (types_match (c2_type, from_type)
    1902            0 :  || (TYPE_PRECISION (c2_type) > TYPE_PRECISION (from_type)
    1903            0 :  && (TYPE_UNSIGNED (from_type)
    1904            0 :  || TYPE_SIGN (c2_type) == TYPE_SIGN (from_type)))))
    1905              :  {
    1906          587 :  tree_code ncmp = cmp == GE_EXPR ? LE_EXPR : GT_EXPR;
    1907          587 :  widest_int c1 = wi::mask<widest_int>(TYPE_PRECISION (type) - 1, 0);
    1908          587 :  code = minmax_from_comparison (ncmp, captures[0], c1, wi::to_widest (captures[2]));
    1909          587 :  }
    1910          587 :  if (code == ERROR_MARK
    1911       168094 :  && INTEGRAL_TYPE_P (from_type)
    1912       165299 :  && int_fits_type_p (captures[2], from_type)
    1913       165298 :  && (types_match (c1_type, from_type)
    1914         7199 :  || (TYPE_PRECISION (c1_type) > TYPE_PRECISION (from_type)
    1915            0 :  && (TYPE_UNSIGNED (from_type)
    1916            0 :  || TYPE_SIGN (c1_type) == TYPE_SIGN (from_type))))
    1917       158686 :  && (types_match (c2_type, from_type)
    1918        62588 :  || (TYPE_PRECISION (c2_type) > TYPE_PRECISION (from_type)
    1919        19483 :  && (TYPE_UNSIGNED (from_type)
    1920          670 :  || TYPE_SIGN (c2_type) == TYPE_SIGN (from_type)))))
    1921              :  {
    1922       114405 :  if (cmp != EQ_EXPR)
    1923       114393 :  code = minmax_from_comparison (cmp, captures[0], captures[1], captures[0], captures[2]);
    1924           12 :  else if (int_fits_type_p (captures[1], from_type))
    1925              :  code = EQ_EXPR;
    1926              :  }
    1927       168087 :       if (code == MAX_EXPR
    1928              : )
    1929              :         {
    1930        19726 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail618;
    1931        19726 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail618;
    1932        19726 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail618;
    1933        19726 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail618;
    1934        19726 :           {
    1935        19726 :             tree res_op0;
    1936        19726 :             {
    1937        19726 :               tree _o1[2], _r1;
    1938        19726 :               _o1[0] = captures[0];
    1939        19726 :               {
    1940        19726 :                 tree _o2[1], _r2;
    1941        19726 :                 _o2[0] = captures[2];
    1942        19726 :                 if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
    1943              :                   {
    1944          315 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
    1945              :                   }
    1946              :                 else
    1947              :                   _r2 = _o2[0];
    1948        19726 :                 _o1[1] = _r2;
    1949              :               }
    1950        19726 :               _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1951        19726 :               res_op0 = _r1;
    1952              :             }
    1953        19726 :             tree _r;
    1954        19726 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1955        19726 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 507, __FILE__, __LINE__, true);
    1956        19726 :             return _r;
    1957              :           }
    1958              : next_after_fail618:;
    1959              :         }
    1960              :       else
    1961              :         {
    1962       148373 :           if (code == MIN_EXPR
    1963              : )
    1964              :             {
    1965          258 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail619;
    1966          258 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail619;
    1967          258 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail619;
    1968          258 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail619;
    1969          258 :               {
    1970          258 :                 tree res_op0;
    1971          258 :                 {
    1972          258 :                   tree _o1[2], _r1;
    1973          258 :                   _o1[0] = captures[0];
    1974          258 :                   {
    1975          258 :                     tree _o2[1], _r2;
    1976          258 :                     _o2[0] = captures[2];
    1977          258 :                     if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
    1978              :                       {
    1979          100 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
    1980              :                       }
    1981              :                     else
    1982              :                       _r2 = _o2[0];
    1983          258 :                     _o1[1] = _r2;
    1984              :                   }
    1985          258 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1986          258 :                   res_op0 = _r1;
    1987              :                 }
    1988          258 :                 tree _r;
    1989          258 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1990          258 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 508, __FILE__, __LINE__, true);
    1991          258 :                 return _r;
    1992              :               }
    1993              : next_after_fail619:;
    1994              :             }
    1995              :           else
    1996              :             {
    1997       148115 :               if (code == EQ_EXPR
    1998              : )
    1999              :                 {
    2000           12 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail620;
    2001           12 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail620;
    2002           12 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail620;
    2003           12 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail620;
    2004           12 :                   {
    2005           12 :                     if (! tree_invariant_p (captures[1])) goto next_after_fail620;
    2006           12 :                     tree res_op0;
    2007           12 :                     {
    2008           12 :                       tree _o1[3], _r1;
    2009           12 :                       {
    2010           12 :                         tree _o2[2], _r2;
    2011           12 :                         _o2[0] = captures[0];
    2012           12 :                         {
    2013           12 :                           tree _o3[1], _r3;
    2014           12 :                           _o3[0] = unshare_expr (captures[1]);
    2015           12 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
    2016              :                             {
    2017            0 :                               _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
    2018              :                             }
    2019              :                           else
    2020              :                             _r3 = _o3[0];
    2021           12 :                           _o2[1] = _r3;
    2022              :                         }
    2023           12 :                         _r2 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o2[0], _o2[1]);
    2024           12 :                         _o1[0] = _r2;
    2025              :                       }
    2026           12 :                       {
    2027           12 :                         tree _o2[1], _r2;
    2028           12 :                         _o2[0] = captures[1];
    2029           12 :                         if (TREE_TYPE (_o2[0]) != from_type)
    2030              :                           {
    2031            0 :                             _r2 = fold_build1_loc (loc, NOP_EXPR, from_type, _o2[0]);
    2032              :                           }
    2033              :                         else
    2034              :                           _r2 = _o2[0];
    2035           12 :                         _o1[1] = _r2;
    2036              :                       }
    2037           12 :                       {
    2038           12 :                         tree _o2[1], _r2;
    2039           12 :                         _o2[0] = captures[2];
    2040           12 :                         if (TREE_TYPE (_o2[0]) != from_type)
    2041              :                           {
    2042            7 :                             _r2 = fold_build1_loc (loc, NOP_EXPR, from_type, _o2[0]);
    2043              :                           }
    2044              :                         else
    2045              :                           _r2 = _o2[0];
    2046           12 :                         _o1[2] = _r2;
    2047              :                       }
    2048           12 :                       _r1 = fold_build3_loc (loc, COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
    2049           12 :                       res_op0 = _r1;
    2050              :                     }
    2051           12 :                     tree _r;
    2052           12 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2053           12 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 509, __FILE__, __LINE__, true);
    2054           12 :                     return _r;
    2055              :                   }
    2056              : next_after_fail620:;
    2057              :                 }
    2058              :             }
    2059              :         }
    2060              :   }
    2061              :   return NULL_TREE;
    2062              : }
    2063              : 
    2064              : tree
    2065            0 : generic_simplify_387 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2066              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2067              :  const enum tree_code ARG_UNUSED (legt))
    2068              : {
    2069            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2070            0 :   if (!HONOR_NANS (captures[0])
    2071              : )
    2072              :     {
    2073            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail671;
    2074            0 :       {
    2075            0 :         tree _r;
    2076            0 :         _r =  constant_boolean_node (legt == LE_EXPR, type);
    2077            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2078            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2079            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2080            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2081            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 558, __FILE__, __LINE__, true);
    2082            0 :         return _r;
    2083              :       }
    2084            0 : next_after_fail671:;
    2085              :     }
    2086              :   return NULL_TREE;
    2087              : }
    2088              : 
    2089              : tree
    2090            0 : generic_simplify_395 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2091              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2092              :  const enum tree_code ARG_UNUSED (cmp),
    2093              :  const enum tree_code ARG_UNUSED (cmp2))
    2094              : {
    2095            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2096            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    2097            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2098            0 :  && wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2099              : )
    2100              :     {
    2101            0 :       {
    2102            0 :  tree utype = TREE_TYPE (captures[2]);
    2103            0 :  wide_int denom = wi::to_wide (captures[1]);
    2104            0 :  wide_int right = wi::to_wide (captures[2]);
    2105            0 :  wide_int smax = wi::sdiv_trunc (wi::max_value (TREE_TYPE (captures[0])), denom);
    2106            0 :  wide_int smin = wi::sdiv_trunc (wi::min_value (TREE_TYPE (captures[0])), denom);
    2107            0 :  bool small = wi::leu_p (right, smax);
    2108            0 :  bool large = wi::geu_p (right, smin);
    2109            0 :           if (small || large
    2110              : )
    2111              :             {
    2112            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail680;
    2113            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail680;
    2114            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail680;
    2115            0 :               {
    2116            0 :                 tree res_op0;
    2117            0 :                 {
    2118            0 :                   tree _o1[1], _r1;
    2119            0 :                   _o1[0] = captures[0];
    2120            0 :                   if (TREE_TYPE (_o1[0]) != utype)
    2121              :                     {
    2122            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    2123              :                     }
    2124              :                   else
    2125              :                     _r1 = _o1[0];
    2126            0 :                   res_op0 = _r1;
    2127              :                 }
    2128            0 :                 tree res_op1;
    2129            0 :                 {
    2130            0 :                   tree _o1[2], _r1;
    2131            0 :                   _o1[0] = captures[2];
    2132            0 :                   {
    2133            0 :                     tree _o2[1], _r2;
    2134            0 :                     _o2[0] = captures[1];
    2135            0 :                     if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    2136              :                       {
    2137            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    2138              :                       }
    2139              :                     else
    2140              :                       _r2 = _o2[0];
    2141            0 :                     _o1[1] = _r2;
    2142              :                   }
    2143            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2144            0 :                   res_op1 = _r1;
    2145              :                 }
    2146            0 :                 tree _r;
    2147            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2148            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 567, __FILE__, __LINE__, true);
    2149            0 :                 return _r;
    2150              :               }
    2151            0 : next_after_fail680:;
    2152              :             }
    2153              :           else
    2154              :             {
    2155            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail681;
    2156            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail681;
    2157            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail681;
    2158            0 :               {
    2159            0 :                 tree res_op0;
    2160            0 :                 res_op0 = captures[0];
    2161            0 :                 tree res_op1;
    2162            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    2163            0 :                 tree _r;
    2164            0 :                 _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2165            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 568, __FILE__, __LINE__, true);
    2166            0 :                 return _r;
    2167              :               }
    2168            0 : next_after_fail681:;
    2169              :             }
    2170            0 :       }
    2171              :     }
    2172              :   return NULL_TREE;
    2173              : }
    2174              : 
    2175              : tree
    2176            0 : generic_simplify_411 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2177              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2178              :  const enum tree_code ARG_UNUSED (cmp))
    2179              : {
    2180            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2181            0 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2182            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2183              : )
    2184              :     {
    2185            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail734;
    2186            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail734;
    2187            0 :       {
    2188            0 :         tree res_op0;
    2189            0 :         res_op0 = captures[1];
    2190            0 :         tree res_op1;
    2191            0 :         res_op1 = captures[0];
    2192            0 :         tree _r;
    2193            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2194            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 586, __FILE__, __LINE__, true);
    2195            0 :         return _r;
    2196              :       }
    2197              : next_after_fail734:;
    2198              :     }
    2199              :   return NULL_TREE;
    2200              : }
    2201              : 
    2202              : tree
    2203           71 : generic_simplify_415 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2204              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2205              :  const enum tree_code ARG_UNUSED (cmp),
    2206              :  const enum tree_code ARG_UNUSED (out))
    2207              : {
    2208           71 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2209          142 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2210           71 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2211           71 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2212           56 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2213           56 :  && (TYPE_PRECISION (TREE_TYPE (captures[1]))
    2214           56 :  >= 2 * TYPE_PRECISION (TREE_TYPE (captures[2])))
    2215           56 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[2]))
    2216           56 :  && (wi::to_widest (captures[4])
    2217          127 :  == wi::to_widest (TYPE_MAX_VALUE (TREE_TYPE (captures[2]))))
    2218           56 :  && types_match (captures[2], captures[3])
    2219           56 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2220          183 :  && (optab_handler (umulv4_optab, TYPE_MODE (TREE_TYPE (captures[2])))
    2221              :  != CODE_FOR_nothing)
    2222              : )
    2223              :     {
    2224           56 :       {
    2225           56 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2226           56 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail738;
    2227           56 :           {
    2228           56 :             tree res_op0;
    2229           56 :             {
    2230           56 :               tree _o1[1], _r1;
    2231           56 :               {
    2232           56 :                 tree _o2[2], _r2;
    2233           56 :                 _o2[0] = captures[2];
    2234           56 :                 _o2[1] = captures[3];
    2235           56 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2236           56 :                 if (!_r2)
    2237            0 :                   goto next_after_fail738;
    2238           56 :                 _o1[0] = _r2;
    2239              :               }
    2240           56 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2241           56 :               res_op0 = _r1;
    2242              :             }
    2243           56 :             tree res_op1;
    2244           56 :             res_op1 =  build_zero_cst (t);
    2245           56 :             tree _r;
    2246           56 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2247           56 :             if (TREE_SIDE_EFFECTS (captures[4]))
    2248            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2249           56 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 604, __FILE__, __LINE__, true);
    2250           56 :             return _r;
    2251              :           }
    2252              : next_after_fail738:;
    2253              :       }
    2254              :     }
    2255              :   return NULL_TREE;
    2256              : }
    2257              : 
    2258              : tree
    2259            0 : generic_simplify_425 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2260              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2261              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2262              : {
    2263            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2264            0 :   {
    2265            0 :  tree tem = uniform_vector_p (captures[1]);
    2266            0 :       if (tem
    2267              : )
    2268              :         {
    2269            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail752;
    2270            0 :           {
    2271            0 :             tree res_op0;
    2272            0 :             res_op0 = captures[0];
    2273            0 :             tree res_op1;
    2274            0 :             res_op1 =  tem;
    2275            0 :             tree _r;
    2276            0 :             _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
    2277            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2278            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2279            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 618, __FILE__, __LINE__, true);
    2280            0 :             return _r;
    2281              :           }
    2282            0 : next_after_fail752:;
    2283              :         }
    2284              :   }
    2285              :   return NULL_TREE;
    2286              : }
    2287              : 
    2288              : tree
    2289      3525034 : generic_simplify_432 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2290              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2291              :  const enum tree_code ARG_UNUSED (bitop))
    2292              : {
    2293      3525034 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2294      3525034 :   if (0
    2295              :  && TREE_CODE (captures[3]) != INTEGER_CST
    2296              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2297              :  && types_match (type, captures[2])
    2298              :  && !POINTER_TYPE_P (TREE_TYPE (captures[2]))
    2299              :  && TREE_CODE (TREE_TYPE (captures[2])) != OFFSET_TYPE
    2300              : )
    2301              :     {
    2302              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail766;
    2303              :       {
    2304              :         tree res_op0;
    2305              :         res_op0 = captures[2];
    2306              :         tree res_op1;
    2307              :         {
    2308              :           tree _o1[1], _r1;
    2309              :           _o1[0] = captures[3];
    2310              :           if (TREE_TYPE (_o1[0]) != type)
    2311              :             {
    2312              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2313              :             }
    2314              :           else
    2315              :             _r1 = _o1[0];
    2316              :           res_op1 = _r1;
    2317              :         }
    2318              :         tree _r;
    2319              :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2320              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 630, __FILE__, __LINE__, true);
    2321              :         return _r;
    2322              :       }
    2323              : next_after_fail766:;
    2324              :     }
    2325      3525034 :   return NULL_TREE;
    2326              : }
    2327              : 
    2328              : tree
    2329         7343 : generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2330              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2331              :  const enum tree_code ARG_UNUSED (minmax))
    2332              : {
    2333         7343 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2334         7343 :   if (INTEGRAL_TYPE_P (type)
    2335         7343 :  && types_match (captures[1], type) && int_fits_type_p (captures[2], type)
    2336          641 :  && TYPE_SIGN (TREE_TYPE (captures[0])) == TYPE_SIGN (type)
    2337         7343 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2338              : )
    2339              :     {
    2340            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail772;
    2341            0 :       {
    2342            0 :         tree res_op0;
    2343            0 :         res_op0 = captures[1];
    2344            0 :         tree res_op1;
    2345            0 :         {
    2346            0 :           tree _o1[1], _r1;
    2347            0 :           _o1[0] = captures[2];
    2348            0 :           if (TREE_TYPE (_o1[0]) != type)
    2349              :             {
    2350            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2351              :             }
    2352              :           else
    2353              :             _r1 = _o1[0];
    2354            0 :           res_op1 = _r1;
    2355              :         }
    2356            0 :         tree _r;
    2357            0 :         _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    2358            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 636, __FILE__, __LINE__, true);
    2359            0 :         return _r;
    2360              :       }
    2361            0 : next_after_fail772:;
    2362              :     }
    2363              :   return NULL_TREE;
    2364              : }
    2365              : 
    2366              : tree
    2367      4967815 : generic_simplify_441 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2368              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2369              : {
    2370      4967815 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2371      4967815 :   if (INTEGRAL_TYPE_P (type)
    2372      2755243 :  && TYPE_PRECISION (type) == 1
    2373      4981607 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    2374              : )
    2375              :     {
    2376        13792 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail789;
    2377        13792 :       {
    2378        13792 :         tree res_op0;
    2379        13792 :         res_op0 = captures[0];
    2380        13792 :         tree _r;
    2381        13792 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2382        13792 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 641, __FILE__, __LINE__, true);
    2383        13792 :         return _r;
    2384              :       }
    2385            0 : next_after_fail789:;
    2386              :     }
    2387              :   return NULL_TREE;
    2388              : }
    2389              : 
    2390              : tree
    2391            0 : generic_simplify_444 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2392              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2393              :  const combined_fn ARG_UNUSED (coshs),
    2394              :  const combined_fn ARG_UNUSED (atanhs),
    2395              :  const combined_fn ARG_UNUSED (sqrts))
    2396              : {
    2397            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2398            0 :   if (!flag_errno_math
    2399              : )
    2400              :     {
    2401            0 :       {
    2402            0 :  tree t_one = build_one_cst (type);
    2403            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail792;
    2404            0 :           {
    2405            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail792;
    2406            0 :             tree res_op0;
    2407            0 :             res_op0 =  t_one;
    2408            0 :             tree res_op1;
    2409            0 :             {
    2410            0 :               tree _o1[1], _r1;
    2411            0 :               {
    2412            0 :                 tree _o2[2], _r2;
    2413            0 :                 {
    2414            0 :                   tree _o3[2], _r3;
    2415            0 :                   _o3[0] =  t_one;
    2416            0 :                   _o3[1] = unshare_expr (captures[1]);
    2417            0 :                   _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2418            0 :                   _o2[0] = _r3;
    2419              :                 }
    2420            0 :                 {
    2421            0 :                   tree _o3[2], _r3;
    2422            0 :                   _o3[0] =  t_one;
    2423            0 :                   _o3[1] = captures[1];
    2424            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2425            0 :                   _o2[1] = _r3;
    2426              :                 }
    2427            0 :                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2428            0 :                 _o1[0] = _r2;
    2429              :               }
    2430            0 :               _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2431            0 :               if (!_r1)
    2432            0 :                 goto next_after_fail792;
    2433            0 :               res_op1 = _r1;
    2434              :             }
    2435            0 :             tree _r;
    2436            0 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    2437            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 644, __FILE__, __LINE__, true);
    2438            0 :             return _r;
    2439              :           }
    2440              : next_after_fail792:;
    2441              :       }
    2442              :     }
    2443              :   return NULL_TREE;
    2444              : }
    2445              : 
    2446              : tree
    2447            0 : generic_simplify_448 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2448              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2449              :  const combined_fn ARG_UNUSED (POW))
    2450              : {
    2451            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2452            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail796;
    2453            0 :   {
    2454            0 :     tree _r;
    2455            0 :     _r = captures[0];
    2456            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2457            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2458            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 648, __FILE__, __LINE__, true);
    2459              :     return _r;
    2460              :   }
    2461            0 : next_after_fail796:;
    2462            0 :   return NULL_TREE;
    2463              : }
    2464              : 
    2465              : tree
    2466            0 : generic_simplify_452 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2467              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2468              :  const combined_fn ARG_UNUSED (HYPOT))
    2469              : {
    2470            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2471            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail800;
    2472            0 :   {
    2473            0 :     tree res_op0;
    2474            0 :     res_op0 = captures[0];
    2475            0 :     tree _r;
    2476            0 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    2477            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2478            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2479            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 652, __FILE__, __LINE__, true);
    2480              :     return _r;
    2481              :   }
    2482            0 : next_after_fail800:;
    2483            0 :   return NULL_TREE;
    2484              : }
    2485              : 
    2486              : tree
    2487            8 : generic_simplify_455 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2488              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2489              : {
    2490            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2491           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2492           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2493              : )
    2494              :     {
    2495            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail803;
    2496            0 :       {
    2497            0 :         tree res_op0;
    2498            0 :         res_op0 = captures[0];
    2499            0 :         tree res_op1;
    2500            0 :         res_op1 = captures[1];
    2501            0 :         tree _r;
    2502            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2503            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 655, __FILE__, __LINE__, true);
    2504            0 :         return _r;
    2505              :       }
    2506            0 : next_after_fail803:;
    2507              :     }
    2508              :   return NULL_TREE;
    2509              : }
    2510              : 
    2511              : tree
    2512            0 : generic_simplify_461 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2513              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2514              : {
    2515            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2516            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail809;
    2517            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail809;
    2518            0 :   {
    2519            0 :     tree res_op0;
    2520            0 :     res_op0 = captures[0];
    2521            0 :     tree res_op1;
    2522            0 :     {
    2523            0 :       tree _o1[1], _r1;
    2524            0 :       _o1[0] = captures[5];
    2525            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2526            0 :       res_op1 = _r1;
    2527              :     }
    2528            0 :     tree _r;
    2529            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2530            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 660, __FILE__, __LINE__, true);
    2531              :     return _r;
    2532              :   }
    2533              : next_after_fail809:;
    2534              :   return NULL_TREE;
    2535              : }
    2536              : 
    2537              : tree
    2538            0 : generic_simplify_467 (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            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2542            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail815;
    2543            0 :   {
    2544            0 :     tree res_op0;
    2545            0 :     res_op0 = captures[0];
    2546            0 :     tree res_op1;
    2547            0 :     res_op1 = captures[1];
    2548            0 :     tree _r;
    2549            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2550            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 666, __FILE__, __LINE__, true);
    2551              :     return _r;
    2552              :   }
    2553            0 : next_after_fail815:;
    2554            0 :   return NULL_TREE;
    2555              : }
    2556              : 
    2557              : tree
    2558            2 : generic_simplify_469 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2559              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2560              : {
    2561            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2562            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail817;
    2563            2 :   {
    2564            2 :     tree res_op0;
    2565            2 :     {
    2566            2 :       tree _o1[2], _r1;
    2567            2 :       _o1[0] = captures[1];
    2568            2 :       _o1[1] = captures[2];
    2569            2 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2570            2 :       res_op0 = _r1;
    2571              :     }
    2572            2 :     tree _r;
    2573            2 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2574            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
    2575              :     return _r;
    2576              :   }
    2577            0 : next_after_fail817:;
    2578            0 :   return NULL_TREE;
    2579              : }
    2580              : 
    2581              : tree
    2582            8 : generic_simplify_476 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2583              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2584              :  const enum tree_code ARG_UNUSED (eqne))
    2585              : {
    2586            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2587            8 :   if (eqne == EQ_EXPR
    2588              : )
    2589              :     {
    2590            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail825;
    2591            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail825;
    2592            4 :       {
    2593            4 :         tree _r;
    2594            4 :         _r =  constant_boolean_node (false, type);
    2595            4 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2596            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2597            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 675, __FILE__, __LINE__, true);
    2598            4 :         return _r;
    2599              :       }
    2600              : next_after_fail825:;
    2601              :     }
    2602              :   else
    2603              :     {
    2604            4 :       if (eqne == NE_EXPR
    2605              : )
    2606              :         {
    2607            4 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail826;
    2608            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail826;
    2609            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail826;
    2610            4 :           {
    2611            4 :             tree _r;
    2612            4 :             _r = captures[0];
    2613            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2614            4 :             return _r;
    2615              :           }
    2616              : next_after_fail826:;
    2617              :         }
    2618              :     }
    2619              :   return NULL_TREE;
    2620              : }
    2621              : 
    2622              : tree
    2623            4 : generic_simplify_487 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2624              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2625              : {
    2626            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2627            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail869;
    2628            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail869;
    2629            4 :   {
    2630            4 :     tree _r;
    2631            4 :     _r = captures[2];
    2632            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2633            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2634            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 691, __FILE__, __LINE__, true);
    2635              :     return _r;
    2636              :   }
    2637              : next_after_fail869:;
    2638              :   return NULL_TREE;
    2639              : }
    2640              : 
    2641              : tree
    2642        34248 : generic_simplify_491 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2643              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2644              :  const enum tree_code ARG_UNUSED (shift))
    2645              : {
    2646        34248 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2647        34248 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2648        34248 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2649        34248 :  && tree_fits_uhwi_p (captures[4])
    2650        34248 :  && tree_to_uhwi (captures[4]) > 0
    2651        68495 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2652              : )
    2653              :     {
    2654        34247 :       {
    2655        34247 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2656        34247 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2657        34247 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2658        34247 :  tree shift_type = TREE_TYPE (captures[2]);
    2659        34247 :  unsigned int prec;
    2660        34247 :  if (shift == LSHIFT_EXPR)
    2661         5442 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2662        28805 :  else if (shift == RSHIFT_EXPR
    2663        28805 :  && type_has_mode_precision_p (shift_type))
    2664              :  {
    2665        28805 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2666        28805 :  tree arg00 = captures[3];
    2667        28805 :  if (captures[2] != captures[3]
    2668        28805 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2669              :  {
    2670        28547 :  tree inner_type = TREE_TYPE (captures[3]);
    2671        28547 :  if (type_has_mode_precision_p (inner_type)
    2672        28547 :  && TYPE_PRECISION (inner_type) < prec)
    2673              :  {
    2674          270 :  prec = TYPE_PRECISION (inner_type);
    2675          270 :  if (shiftc < prec)
    2676          269 :  shift_type = inner_type;
    2677              :  }
    2678              :  }
    2679        28805 :  zerobits = HOST_WIDE_INT_M1U;
    2680        28805 :  if (shiftc < prec)
    2681              :  {
    2682        28804 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2683        28804 :  zerobits <<= prec - shiftc;
    2684              :  }
    2685        28805 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2686        28805 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2687              :  {
    2688          826 :  if ((mask & zerobits) == 0)
    2689          819 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2690              :  else
    2691              :  zerobits = 0;
    2692              :  }
    2693              :  }
    2694        34240 :           if ((mask & zerobits) == mask
    2695              : )
    2696              :             {
    2697            1 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail873;
    2698            1 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail873;
    2699            1 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail873;
    2700            1 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail873;
    2701            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail873;
    2702            1 :               {
    2703            1 :                 tree _r;
    2704            1 :                 _r =  build_int_cst (type, 0);
    2705            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 695, __FILE__, __LINE__, true);
    2706            1 :                 return _r;
    2707              :               }
    2708              : next_after_fail873:;
    2709              :             }
    2710              :           else
    2711              :             {
    2712        34246 :               {
    2713        34246 :  newmask = mask | zerobits;
    2714        34246 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2715              : )
    2716              :                     {
    2717              :                       {
    2718         7360 :  for (prec = BITS_PER_UNIT;
    2719        11252 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2720         9060 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2721              :  break;
    2722         3892 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2723         2192 :  || newmask == HOST_WIDE_INT_M1U
    2724              : )
    2725              :                             {
    2726         2120 :                               {
    2727         2120 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2728         2120 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2729              : )
    2730              :                                     {
    2731         2120 :                                       if (shift_type != TREE_TYPE (captures[2])
    2732              : )
    2733              :                                         {
    2734           96 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail874;
    2735           96 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail874;
    2736           96 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail874;
    2737           96 :                                           {
    2738           96 :                                             tree res_op0;
    2739           96 :                                             {
    2740           96 :                                               tree _o1[1], _r1;
    2741           96 :                                               {
    2742           96 :                                                 tree _o2[2], _r2;
    2743           96 :                                                 {
    2744           96 :                                                   tree _o3[1], _r3;
    2745           96 :                                                   _o3[0] = captures[2];
    2746           96 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2747              :                                                     {
    2748           96 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2749              :                                                     }
    2750              :                                                   else
    2751              :                                                     _r3 = _o3[0];
    2752           96 :                                                   _o2[0] = _r3;
    2753              :                                                 }
    2754           96 :                                                 _o2[1] = captures[4];
    2755           96 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2756           96 :                                                 _o1[0] = _r2;
    2757              :                                               }
    2758           96 :                                               if (TREE_TYPE (_o1[0]) != type)
    2759              :                                                 {
    2760           96 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2761              :                                                 }
    2762              :                                               else
    2763              :                                                 _r1 = _o1[0];
    2764           96 :                                               res_op0 = _r1;
    2765              :                                             }
    2766           96 :                                             tree res_op1;
    2767           96 :                                             res_op1 =  newmaskt;
    2768           96 :                                             tree _r;
    2769           96 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2770           96 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 696, __FILE__, __LINE__, true);
    2771           96 :                                             return _r;
    2772              :                                           }
    2773              : next_after_fail874:;
    2774              :                                         }
    2775              :                                       else
    2776              :                                         {
    2777         2024 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail875;
    2778          897 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail875;
    2779          897 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail875;
    2780          897 :                                           {
    2781          897 :                                             tree res_op0;
    2782          897 :                                             res_op0 = captures[0];
    2783          897 :                                             tree res_op1;
    2784          897 :                                             res_op1 =  newmaskt;
    2785          897 :                                             tree _r;
    2786          897 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2787          897 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 697, __FILE__, __LINE__, true);
    2788          897 :                                             return _r;
    2789              :                                           }
    2790              : next_after_fail875:;
    2791              :                                         }
    2792              :                                     }
    2793              :                               }
    2794              :                             }
    2795              :                       }
    2796              :                     }
    2797              :               }
    2798              :             }
    2799              :       }
    2800              :     }
    2801              :   return NULL_TREE;
    2802              : }
    2803              : 
    2804              : tree
    2805       438618 : generic_simplify_500 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2806              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2807              :  const enum tree_code ARG_UNUSED (op))
    2808              : {
    2809       438618 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2810       877236 :   if (INTEGRAL_TYPE_P (type)
    2811       438618 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2812        68049 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2813        68049 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2814        68049 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2815        68049 :  && type_has_mode_precision_p (type)
    2816        68049 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2817           33 :  && types_match (captures[2], captures[4])
    2818           33 :  && (tree_int_cst_min_precision (captures[5], TYPE_SIGN (TREE_TYPE (captures[2])))
    2819           33 :  <= TYPE_PRECISION (TREE_TYPE (captures[2])))
    2820       438645 :  && (wi::to_wide (captures[5])
    2821       438672 :  & wi::mask (TYPE_PRECISION (TREE_TYPE (captures[2])),
    2822       438672 :  true, TYPE_PRECISION (type))) == 0
    2823              : )
    2824              :     {
    2825           25 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2826              : )
    2827              :         {
    2828           12 :           {
    2829           12 :  tree ntype = TREE_TYPE (captures[2]);
    2830           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail891;
    2831           12 :               {
    2832           12 :                 tree res_op0;
    2833           12 :                 {
    2834           12 :                   tree _o1[2], _r1;
    2835           12 :                   {
    2836           12 :                     tree _o2[2], _r2;
    2837           12 :                     _o2[0] = captures[2];
    2838           12 :                     _o2[1] = captures[4];
    2839           12 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2840           12 :                     _o1[0] = _r2;
    2841              :                   }
    2842           12 :                   {
    2843           12 :                     tree _o2[1], _r2;
    2844           12 :                     _o2[0] = captures[5];
    2845           12 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2846              :                       {
    2847           12 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
    2848              :                       }
    2849              :                     else
    2850              :                       _r2 = _o2[0];
    2851           12 :                     _o1[1] = _r2;
    2852              :                   }
    2853           12 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2854           12 :                   res_op0 = _r1;
    2855              :                 }
    2856           12 :                 tree _r;
    2857           12 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2858           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 703, __FILE__, __LINE__, true);
    2859           12 :                 return _r;
    2860              :               }
    2861            0 : next_after_fail891:;
    2862              :           }
    2863              :         }
    2864              :       else
    2865              :         {
    2866           13 :           {
    2867           13 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2868           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail892;
    2869           13 :               {
    2870           13 :                 tree res_op0;
    2871           13 :                 {
    2872           13 :                   tree _o1[2], _r1;
    2873           13 :                   {
    2874           13 :                     tree _o2[2], _r2;
    2875           13 :                     {
    2876           13 :                       tree _o3[1], _r3;
    2877           13 :                       _o3[0] = captures[2];
    2878           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2879              :                         {
    2880           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2881              :                         }
    2882              :                       else
    2883              :                         _r3 = _o3[0];
    2884           13 :                       _o2[0] = _r3;
    2885              :                     }
    2886           13 :                     {
    2887           13 :                       tree _o3[1], _r3;
    2888           13 :                       _o3[0] = captures[4];
    2889           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2890              :                         {
    2891           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2892              :                         }
    2893              :                       else
    2894              :                         _r3 = _o3[0];
    2895           13 :                       _o2[1] = _r3;
    2896              :                     }
    2897           13 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2898           13 :                     _o1[0] = _r2;
    2899              :                   }
    2900           13 :                   {
    2901           13 :                     tree _o2[1], _r2;
    2902           13 :                     _o2[0] = captures[5];
    2903           13 :                     if (TREE_TYPE (_o2[0]) != utype)
    2904              :                       {
    2905           13 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2906              :                       }
    2907              :                     else
    2908              :                       _r2 = _o2[0];
    2909           13 :                     _o1[1] = _r2;
    2910              :                   }
    2911           13 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2912           13 :                   res_op0 = _r1;
    2913              :                 }
    2914           13 :                 tree _r;
    2915           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2916           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 704, __FILE__, __LINE__, true);
    2917           13 :                 return _r;
    2918              :               }
    2919            0 : next_after_fail892:;
    2920              :           }
    2921              :         }
    2922              :     }
    2923              :   return NULL_TREE;
    2924              : }
    2925              : 
    2926              : tree
    2927            0 : generic_simplify_531 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2928              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2929              :  const enum tree_code ARG_UNUSED (minmax))
    2930              : {
    2931            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2932            0 :   if (TYPE_UNSIGNED (type)
    2933            0 :  || (tree_int_cst_sgn (captures[2]) == tree_int_cst_sgn (captures[4]))
    2934              : )
    2935              :     {
    2936            0 :       {
    2937            0 :  auto andvalue = wi::to_wide (captures[2]) & wi::to_wide (captures[4]);
    2938            0 :           if (andvalue == ((minmax == MIN_EXPR)
    2939            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    2940              : )
    2941              :             {
    2942            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail925;
    2943            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail925;
    2944            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail925;
    2945            0 :               {
    2946            0 :                 tree _r;
    2947            0 :                 _r = captures[0];
    2948            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 734, __FILE__, __LINE__, true);
    2949            0 :                 return _r;
    2950              :               }
    2951            0 : next_after_fail925:;
    2952              :             }
    2953              :           else
    2954              :             {
    2955            0 :               if (andvalue == ((minmax != MIN_EXPR)
    2956            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    2957              : )
    2958              :                 {
    2959            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail926;
    2960            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail926;
    2961            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail926;
    2962            0 :                   {
    2963            0 :                     tree _r;
    2964            0 :                     _r = captures[3];
    2965            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 735, __FILE__, __LINE__, true);
    2966            0 :                     return _r;
    2967              :                   }
    2968            0 : next_after_fail926:;
    2969              :                 }
    2970              :             }
    2971            0 :       }
    2972              :     }
    2973              :   return NULL_TREE;
    2974              : }
    2975              : 
    2976              : tree
    2977            0 : generic_simplify_543 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2978              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2979              :  const combined_fn ARG_UNUSED (FMIN_ALL))
    2980              : {
    2981            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2982            0 :   if (flag_finite_math_only
    2983              : )
    2984              :     {
    2985            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail951;
    2986            0 :       {
    2987            0 :         tree res_op0;
    2988            0 :         res_op0 = captures[0];
    2989            0 :         tree res_op1;
    2990            0 :         res_op1 = captures[1];
    2991            0 :         tree _r;
    2992            0 :         _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    2993            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 748, __FILE__, __LINE__, true);
    2994            0 :         return _r;
    2995              :       }
    2996            0 : next_after_fail951:;
    2997              :     }
    2998              :   return NULL_TREE;
    2999              : }
    3000              : 
    3001              : tree
    3002            0 : generic_simplify_548 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3003              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3004              :  const enum tree_code ARG_UNUSED (cmp))
    3005              : {
    3006            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3007            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail956;
    3008            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail956;
    3009            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail956;
    3010            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail956;
    3011            0 :   {
    3012            0 :     tree _r;
    3013            0 :     _r = captures[3];
    3014            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 535, __FILE__, __LINE__, true);
    3015              :     return _r;
    3016              :   }
    3017              : next_after_fail956:;
    3018              :   return NULL_TREE;
    3019              : }
    3020              : 
    3021              : tree
    3022            0 : generic_simplify_558 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3023              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3024              :  const combined_fn ARG_UNUSED (cond_op))
    3025              : {
    3026            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3027            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail966;
    3028            0 :   {
    3029            0 :     tree res_op0;
    3030            0 :     {
    3031            0 :       tree _o1[2], _r1;
    3032            0 :       _o1[0] = captures[2];
    3033            0 :       _o1[1] = captures[0];
    3034            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3035            0 :       res_op0 = _r1;
    3036              :     }
    3037            0 :     tree res_op1;
    3038            0 :     res_op1 = captures[3];
    3039            0 :     tree res_op2;
    3040            0 :     res_op2 = captures[4];
    3041            0 :     tree res_op3;
    3042            0 :     res_op3 = captures[5];
    3043            0 :     tree _r;
    3044            0 :     _r = maybe_build_call_expr_loc (loc, cond_op, type, 4, res_op0, res_op1, res_op2, res_op3);
    3045            0 :     if (!_r)
    3046            0 :       goto next_after_fail966;
    3047            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 758, __FILE__, __LINE__, true);
    3048              :     return _r;
    3049              :   }
    3050              : next_after_fail966:;
    3051              :   return NULL_TREE;
    3052              : }
    3053              : 
    3054              : tree
    3055            1 : generic_simplify_563 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3056              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    3057              : {
    3058            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3059            1 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), type)
    3060              : )
    3061              :     {
    3062            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail974;
    3063            1 :       {
    3064            1 :         tree res_op0;
    3065            1 :         {
    3066            1 :           tree _o1[1], _r1;
    3067            1 :           _o1[0] = captures[0];
    3068            1 :           if (TREE_TYPE (_o1[0]) != type)
    3069              :             {
    3070            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3071              :             }
    3072              :           else
    3073              :             _r1 = _o1[0];
    3074            1 :           res_op0 = _r1;
    3075              :         }
    3076            1 :         tree _r;
    3077            1 :         _r = non_lvalue_loc (loc, res_op0);
    3078            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 766, __FILE__, __LINE__, true);
    3079            1 :         return _r;
    3080              :       }
    3081            0 : next_after_fail974:;
    3082              :     }
    3083              :   return NULL_TREE;
    3084              : }
    3085              : 
    3086              : tree
    3087            0 : generic_simplify_573 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3088              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3089              :  const combined_fn ARG_UNUSED (logs))
    3090              : {
    3091            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3092            0 :   if (flag_unsafe_math_optimizations
    3093              : )
    3094              :     {
    3095            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3096            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    3097            0 :  && ! flag_trapping_math
    3098            0 :  && ! flag_errno_math
    3099              : )
    3100              :         {
    3101            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail984;
    3102            0 :           {
    3103            0 :             tree res_op0;
    3104            0 :             {
    3105            0 :               tree _o1[1], _r1;
    3106            0 :               _o1[0] = captures[1];
    3107            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3108            0 :               if (!_r1)
    3109            0 :                 goto next_after_fail984;
    3110            0 :               if (EXPR_P (_r1))
    3111            0 :                 goto next_after_fail984;
    3112            0 :               res_op0 = _r1;
    3113              :             }
    3114            0 :             tree res_op1;
    3115            0 :             {
    3116            0 :               tree _o1[1], _r1;
    3117            0 :               _o1[0] = captures[2];
    3118            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3119            0 :               if (!_r1)
    3120            0 :                 goto next_after_fail984;
    3121            0 :               res_op1 = _r1;
    3122              :             }
    3123            0 :             tree _r;
    3124            0 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3125            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 776, __FILE__, __LINE__, true);
    3126            0 :             return _r;
    3127              :           }
    3128              : next_after_fail984:;
    3129              :         }
    3130              :     }
    3131              :   return NULL_TREE;
    3132              : }
    3133              : 
    3134              : tree
    3135            0 : generic_simplify_586 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3136              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3137              :  const combined_fn ARG_UNUSED (froms),
    3138              :  const combined_fn ARG_UNUSED (tos))
    3139              : {
    3140            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3141            0 :   if (optimize && canonicalize_math_p ()
    3142              : )
    3143              :     {
    3144            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail997;
    3145            0 :       {
    3146            0 :         tree res_op0;
    3147            0 :         res_op0 = captures[0];
    3148            0 :         tree _r;
    3149            0 :         _r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
    3150            0 :         if (!_r)
    3151            0 :           goto next_after_fail997;
    3152            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 789, __FILE__, __LINE__, true);
    3153            0 :         return _r;
    3154              :       }
    3155              : next_after_fail997:;
    3156              :     }
    3157              :   return NULL_TREE;
    3158              : }
    3159              : 
    3160              : tree
    3161            0 : generic_simplify_594 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3162              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3163              :  const combined_fn ARG_UNUSED (fmas))
    3164              : {
    3165            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3166            0 :   if (canonicalize_math_after_vectorization_p ()
    3167              : )
    3168              :     {
    3169              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1005;
    3170              :       {
    3171              :         tree res_op0;
    3172              :         res_op0 = captures[0];
    3173              :         tree res_op1;
    3174              :         res_op1 = captures[1];
    3175              :         tree res_op2;
    3176              :         res_op2 = captures[2];
    3177              :         tree _r;
    3178              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3179              :         if (!_r)
    3180              :           goto next_after_fail1005;
    3181              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 797, __FILE__, __LINE__, true);
    3182              :         return _r;
    3183              :       }
    3184            0 : next_after_fail1005:;
    3185              :     }
    3186            0 :   return NULL_TREE;
    3187              : }
    3188              : 
    3189              : tree
    3190            0 : generic_simplify_604 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3191              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3192              :  const combined_fn ARG_UNUSED (fmas))
    3193              : {
    3194            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3195            0 :   if (canonicalize_math_after_vectorization_p ()
    3196              : )
    3197              :     {
    3198              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1015;
    3199              :       {
    3200              :         tree res_op0;
    3201              :         res_op0 = captures[0];
    3202              :         tree res_op1;
    3203              :         res_op1 = captures[1];
    3204              :         tree res_op2;
    3205              :         res_op2 = captures[2];
    3206              :         tree res_op3;
    3207              :         res_op3 = captures[3];
    3208              :         tree res_op4;
    3209              :         res_op4 = captures[4];
    3210              :         tree _r;
    3211              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3212              :         if (!_r)
    3213              :           goto next_after_fail1015;
    3214              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 807, __FILE__, __LINE__, true);
    3215              :         return _r;
    3216              :       }
    3217            0 : next_after_fail1015:;
    3218              :     }
    3219            0 :   return NULL_TREE;
    3220              : }
    3221              : 
    3222              : tree
    3223            0 : generic_simplify_613 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3224              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3225              :  const combined_fn ARG_UNUSED (ctz))
    3226              : {
    3227            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3228            0 :   {
    3229            0 :  tree t = TREE_TYPE (captures[0]);
    3230            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1024;
    3231            0 :       {
    3232            0 :         tree res_op0;
    3233            0 :         {
    3234            0 :           tree _o1[1], _r1;
    3235            0 :           _o1[0] = captures[1];
    3236            0 :           if (TREE_TYPE (_o1[0]) != t)
    3237              :             {
    3238            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3239              :             }
    3240              :           else
    3241              :             _r1 = _o1[0];
    3242            0 :           res_op0 = _r1;
    3243              :         }
    3244            0 :         tree _r;
    3245            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3246            0 :         if (!_r)
    3247            0 :           goto next_after_fail1024;
    3248            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 815, __FILE__, __LINE__, true);
    3249              :         return _r;
    3250              :       }
    3251              : next_after_fail1024:;
    3252              :   }
    3253              :   return NULL_TREE;
    3254              : }
    3255              : 
    3256              : tree
    3257            0 : generic_simplify_623 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3258              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3259              :  const combined_fn ARG_UNUSED (bswap),
    3260              :  const combined_fn ARG_UNUSED (parity))
    3261              : {
    3262            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3263            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3264            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3265            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3266            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3267              : )
    3268              :     {
    3269            0 :       {
    3270            0 :  tree type0 = TREE_TYPE (captures[0]);
    3271            0 :  tree type1 = TREE_TYPE (captures[1]);
    3272            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1035;
    3273            0 :           {
    3274            0 :             tree res_op0;
    3275            0 :             {
    3276            0 :               tree _o1[1], _r1;
    3277            0 :               {
    3278            0 :                 tree _o2[1], _r2;
    3279            0 :                 _o2[0] = captures[2];
    3280            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3281              :                   {
    3282            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3283              :                   }
    3284              :                 else
    3285              :                   _r2 = _o2[0];
    3286            0 :                 _o1[0] = _r2;
    3287              :               }
    3288            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3289              :                 {
    3290            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3291              :                 }
    3292              :               else
    3293              :                 _r1 = _o1[0];
    3294            0 :               res_op0 = _r1;
    3295              :             }
    3296            0 :             tree _r;
    3297            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3298            0 :             if (!_r)
    3299            0 :               goto next_after_fail1035;
    3300            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
    3301            0 :             return _r;
    3302              :           }
    3303              : next_after_fail1035:;
    3304              :       }
    3305              :     }
    3306              :   return NULL_TREE;
    3307              : }
    3308              : 
    3309              : tree
    3310    874903615 : generic_simplify_CONVERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3311              : {
    3312    874903615 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3313    874903615 :   switch (TREE_CODE (_p0))
    3314              :     {
    3315       734501 :     case NEGATE_EXPR:
    3316       734501 :       {
    3317       734501 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3318       734501 :         switch (TREE_CODE (_q20))
    3319              :           {
    3320       403448 :           CASE_CONVERT:
    3321       403448 :             {
    3322       403448 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3323       403448 :               {
    3324       403448 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3325       403448 :                 if (INTEGRAL_TYPE_P (type)
    3326       403147 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    3327       399379 :  && (TYPE_PRECISION (type) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    3328       398136 :  || TYPE_UNSIGNED (type))
    3329       429958 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3330              : )
    3331              :                   {
    3332        26510 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1049;
    3333        26510 :                     {
    3334        26510 :                       tree res_op0;
    3335        26510 :                       {
    3336        26510 :                         tree _o1[1], _r1;
    3337        26510 :                         _o1[0] = captures[2];
    3338        26510 :                         if (TREE_TYPE (_o1[0]) != type)
    3339              :                           {
    3340        26468 :                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3341              :                           }
    3342              :                         else
    3343              :                           _r1 = _o1[0];
    3344        26510 :                         res_op0 = _r1;
    3345              :                       }
    3346        26510 :                       tree _r;
    3347        26510 :                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3348        26510 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 834, __FILE__, __LINE__, true);
    3349        26510 :                       return _r;
    3350              :                     }
    3351            0 : next_after_fail1049:;
    3352              :                   }
    3353              :               }
    3354       376938 :               break;
    3355              :             }
    3356              :           default:;
    3357              :           }
    3358              :         break;
    3359              :       }
    3360      1251498 :     case BIT_AND_EXPR:
    3361      1251498 :       {
    3362      1251498 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3363      1251498 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3364      1251498 :         {
    3365      1251498 :           tree _q20_pops[1];
    3366      1251498 :           if (tree_nop_convert (_q20, _q20_pops))
    3367              :             {
    3368       627558 :               tree _q30 = _q20_pops[0];
    3369       627558 :               {
    3370       627558 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3371       627558 :                 tree res = generic_simplify_432 (loc, type, _p0, captures, BIT_AND_EXPR);
    3372       627558 :                 if (res) return res;
    3373              :               }
    3374              :             }
    3375              :         }
    3376      1251498 :         {
    3377      1251498 :           tree _q21_pops[1];
    3378      1251498 :           if (tree_nop_convert (_q21, _q21_pops))
    3379              :             {
    3380       535248 :               tree _q40 = _q21_pops[0];
    3381       535248 :               {
    3382       535248 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3383       535248 :                 tree res = generic_simplify_432 (loc, type, _p0, captures, BIT_AND_EXPR);
    3384       535248 :                 if (res) return res;
    3385              :               }
    3386              :             }
    3387              :         }
    3388      1251498 :         switch (TREE_CODE (_q20))
    3389              :           {
    3390       703657 :           CASE_CONVERT:
    3391       703657 :             {
    3392       703657 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3393       703657 :               {
    3394       703657 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3395       703657 :                 tree res = generic_simplify_433 (loc, type, _p0, captures, BIT_AND_EXPR);
    3396       703657 :                 if (res) return res;
    3397              :               }
    3398       703657 :               break;
    3399              :             }
    3400      1251498 :           default:;
    3401              :           }
    3402      1251498 :         switch (TREE_CODE (_q21))
    3403              :           {
    3404       536029 :           CASE_CONVERT:
    3405       536029 :             {
    3406       536029 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3407       536029 :               {
    3408       536029 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3409       536029 :                 tree res = generic_simplify_433 (loc, type, _p0, captures, BIT_AND_EXPR);
    3410       536029 :                 if (res) return res;
    3411              :               }
    3412       536029 :               break;
    3413              :             }
    3414              :           default:;
    3415              :           }
    3416              :         break;
    3417              :       }
    3418      1167505 :     case BIT_IOR_EXPR:
    3419      1167505 :       {
    3420      1167505 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3421      1167505 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3422      1167505 :         {
    3423      1167505 :           tree _q20_pops[1];
    3424      1167505 :           if (tree_nop_convert (_q20, _q20_pops))
    3425              :             {
    3426       435535 :               tree _q30 = _q20_pops[0];
    3427       435535 :               {
    3428       435535 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3429       435535 :                 tree res = generic_simplify_432 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3430       435535 :                 if (res) return res;
    3431              :               }
    3432              :             }
    3433              :         }
    3434      1167505 :         {
    3435      1167505 :           tree _q21_pops[1];
    3436      1167505 :           if (tree_nop_convert (_q21, _q21_pops))
    3437              :             {
    3438      1088430 :               tree _q40 = _q21_pops[0];
    3439      1088430 :               {
    3440      1088430 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3441      1088430 :                 tree res = generic_simplify_432 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3442      1088430 :                 if (res) return res;
    3443              :               }
    3444              :             }
    3445              :         }
    3446      1167505 :         switch (TREE_CODE (_q20))
    3447              :           {
    3448       454225 :           CASE_CONVERT:
    3449       454225 :             {
    3450       454225 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3451       454225 :               {
    3452       454225 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3453       454225 :                 tree res = generic_simplify_433 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3454       454225 :                 if (res) return res;
    3455              :               }
    3456       454225 :               break;
    3457              :             }
    3458      1167505 :           default:;
    3459              :           }
    3460      1167505 :         switch (TREE_CODE (_q21))
    3461              :           {
    3462      1096750 :           CASE_CONVERT:
    3463      1096750 :             {
    3464      1096750 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3465      1096750 :               {
    3466      1096750 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3467      1096750 :                 tree res = generic_simplify_433 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3468      1096750 :                 if (res) return res;
    3469              :               }
    3470      1096750 :               break;
    3471              :             }
    3472              :           default:;
    3473              :           }
    3474              :         break;
    3475              :       }
    3476       613865 :     case BIT_XOR_EXPR:
    3477       613865 :       {
    3478       613865 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3479       613865 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3480       613865 :         {
    3481       613865 :           tree _q20_pops[1];
    3482       613865 :           if (tree_nop_convert (_q20, _q20_pops))
    3483              :             {
    3484       346571 :               tree _q30 = _q20_pops[0];
    3485       346571 :               {
    3486       346571 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3487       346571 :                 tree res = generic_simplify_432 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3488       346571 :                 if (res) return res;
    3489              :               }
    3490              :             }
    3491              :         }
    3492       613865 :         {
    3493       613865 :           tree _q21_pops[1];
    3494       613865 :           if (tree_nop_convert (_q21, _q21_pops))
    3495              :             {
    3496       491692 :               tree _q40 = _q21_pops[0];
    3497       491692 :               {
    3498       491692 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3499       491692 :                 tree res = generic_simplify_432 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3500       491692 :                 if (res) return res;
    3501              :               }
    3502              :             }
    3503              :         }
    3504       613865 :         switch (TREE_CODE (_q20))
    3505              :           {
    3506       389953 :           CASE_CONVERT:
    3507       389953 :             {
    3508       389953 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3509       389953 :               {
    3510       389953 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3511       389953 :                 tree res = generic_simplify_433 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3512       389953 :                 if (res) return res;
    3513              :               }
    3514       389953 :               break;
    3515              :             }
    3516       613865 :           default:;
    3517              :           }
    3518       613865 :         switch (TREE_CODE (_q21))
    3519              :           {
    3520       534067 :           CASE_CONVERT:
    3521       534067 :             {
    3522       534067 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3523       534067 :               {
    3524       534067 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3525       534067 :                 tree res = generic_simplify_433 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3526       534067 :                 if (res) return res;
    3527              :               }
    3528       534067 :               break;
    3529              :             }
    3530              :           default:;
    3531              :           }
    3532              :         break;
    3533              :       }
    3534      9488682 :     case MULT_EXPR:
    3535      9488682 :       {
    3536      9488682 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3537      9488682 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3538      9488682 :         if (tree_zero_one_valued_p (_q20))
    3539              :           {
    3540        57092 :             switch (TREE_CODE (_q21))
    3541              :               {
    3542        51615 :               case INTEGER_CST:
    3543        51615 :                 {
    3544        51615 :                   {
    3545        51615 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3546        51615 :                     if (INTEGRAL_TYPE_P (type)
    3547        51615 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3548        51615 :  && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    3549        51621 :  && (TYPE_UNSIGNED (type) || TYPE_PRECISION (type) > 1)
    3550              : )
    3551              :                       {
    3552            6 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1050;
    3553            6 :                         {
    3554            6 :                           tree res_op0;
    3555            6 :                           {
    3556            6 :                             tree _o1[1], _r1;
    3557            6 :                             _o1[0] = captures[1];
    3558            6 :                             if (TREE_TYPE (_o1[0]) != type)
    3559              :                               {
    3560            6 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3561              :                               }
    3562              :                             else
    3563              :                               _r1 = _o1[0];
    3564            6 :                             res_op0 = _r1;
    3565              :                           }
    3566            6 :                           tree res_op1;
    3567            6 :                           {
    3568            6 :                             tree _o1[1], _r1;
    3569            6 :                             _o1[0] = captures[2];
    3570            6 :                             if (TREE_TYPE (_o1[0]) != type)
    3571              :                               {
    3572            6 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3573              :                               }
    3574              :                             else
    3575              :                               _r1 = _o1[0];
    3576            6 :                             res_op1 = _r1;
    3577              :                           }
    3578            6 :                           tree _r;
    3579            6 :                           _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    3580            6 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 835, __FILE__, __LINE__, true);
    3581            6 :                           return _r;
    3582              :                         }
    3583            0 : next_after_fail1050:;
    3584              :                       }
    3585              :                   }
    3586        51609 :                   break;
    3587              :                 }
    3588              :               default:;
    3589              :               }
    3590              :           }
    3591              :         break;
    3592              :       }
    3593      1200969 :     case POINTER_DIFF_EXPR:
    3594      1200969 :       {
    3595      1200969 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3596      1200969 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3597      1200969 :         switch (TREE_CODE (_q21))
    3598              :           {
    3599          200 :           case INTEGER_CST:
    3600          200 :             {
    3601          200 :               {
    3602          200 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3603          200 :                 if (POINTER_TYPE_P (type)
    3604              : )
    3605              :                   {
    3606           18 :                     if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1051;
    3607           18 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1051;
    3608           18 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1051;
    3609           18 :                     {
    3610           18 :                       tree _r;
    3611           18 :                       _r =  build_fold_addr_expr_with_type
    3612              :  (build2 (MEM_REF, char_type_node, captures[0],
    3613              :  wide_int_to_tree (ptr_type_node, wi::neg (wi::to_wide (captures[1])))),
    3614              :  type);
    3615           18 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 836, __FILE__, __LINE__, true);
    3616           18 :                       return _r;
    3617              :                     }
    3618          182 : next_after_fail1051:;
    3619              :                   }
    3620              :               }
    3621          182 :               break;
    3622              :             }
    3623              :           default:;
    3624              :           }
    3625              :         break;
    3626              :       }
    3627       215234 :     case EQ_EXPR:
    3628       215234 :       {
    3629       215234 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3630       215234 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3631       215234 :         if (tree_zero_one_valued_p (_q20))
    3632              :           {
    3633         1704 :             switch (TREE_CODE (_q21))
    3634              :               {
    3635          811 :               case INTEGER_CST:
    3636          811 :                 {
    3637          811 :                   {
    3638          811 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3639          811 :                     tree res = generic_simplify_434 (loc, type, _p0, captures, EQ_EXPR);
    3640          811 :                     if (res) return res;
    3641              :                   }
    3642          764 :                   break;
    3643              :                 }
    3644              :               default:;
    3645              :               }
    3646              :           }
    3647              :         break;
    3648              :       }
    3649       269419 :     case NE_EXPR:
    3650       269419 :       {
    3651       269419 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3652       269419 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3653       269419 :         if (tree_zero_one_valued_p (_q20))
    3654              :           {
    3655         1882 :             switch (TREE_CODE (_q21))
    3656              :               {
    3657         1556 :               case INTEGER_CST:
    3658         1556 :                 {
    3659         1556 :                   {
    3660         1556 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3661         1556 :                     tree res = generic_simplify_434 (loc, type, _p0, captures, NE_EXPR);
    3662         1556 :                     if (res) return res;
    3663              :                   }
    3664            1 :                   break;
    3665              :                 }
    3666              :               default:;
    3667              :               }
    3668              :           }
    3669              :         break;
    3670              :       }
    3671         1999 :     case MIN_EXPR:
    3672         1999 :       {
    3673         1999 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3674         1999 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3675         1999 :         switch (TREE_CODE (_q20))
    3676              :           {
    3677          733 :           CASE_CONVERT:
    3678          733 :             {
    3679          733 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3680          733 :               switch (TREE_CODE (_q21))
    3681              :                 {
    3682           47 :                 CASE_CONVERT:
    3683           47 :                   {
    3684           47 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    3685           47 :                     {
    3686           47 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
    3687           47 :                       tree res = generic_simplify_435 (loc, type, _p0, captures, MIN_EXPR);
    3688           47 :                       if (res) return res;
    3689              :                     }
    3690           47 :                     {
    3691           47 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
    3692           47 :                       tree res = generic_simplify_435 (loc, type, _p0, captures, MIN_EXPR);
    3693           47 :                       if (res) return res;
    3694              :                     }
    3695           47 :                     break;
    3696              :                   }
    3697          659 :                 case INTEGER_CST:
    3698          659 :                   {
    3699          659 :                     {
    3700          659 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3701          659 :                       tree res = generic_simplify_436 (loc, type, _p0, captures, MIN_EXPR);
    3702          659 :                       if (res) return res;
    3703              :                     }
    3704          659 :                     break;
    3705              :                   }
    3706              :                 default:;
    3707              :                 }
    3708              :               break;
    3709              :             }
    3710              :           default:;
    3711              :           }
    3712              :         break;
    3713              :       }
    3714       274469 :     case MAX_EXPR:
    3715       274469 :       {
    3716       274469 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3717       274469 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3718       274469 :         switch (TREE_CODE (_q20))
    3719              :           {
    3720         6724 :           CASE_CONVERT:
    3721         6724 :             {
    3722         6724 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3723         6724 :               switch (TREE_CODE (_q21))
    3724              :                 {
    3725            0 :                 CASE_CONVERT:
    3726            0 :                   {
    3727            0 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    3728            0 :                     {
    3729            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
    3730            0 :                       tree res = generic_simplify_435 (loc, type, _p0, captures, MAX_EXPR);
    3731            0 :                       if (res) return res;
    3732              :                     }
    3733            0 :                     {
    3734            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
    3735            0 :                       tree res = generic_simplify_435 (loc, type, _p0, captures, MAX_EXPR);
    3736            0 :                       if (res) return res;
    3737              :                     }
    3738            0 :                     break;
    3739              :                   }
    3740         6684 :                 case INTEGER_CST:
    3741         6684 :                   {
    3742         6684 :                     {
    3743         6684 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3744         6684 :                       tree res = generic_simplify_436 (loc, type, _p0, captures, MAX_EXPR);
    3745         6684 :                       if (res) return res;
    3746              :                     }
    3747         6684 :                     break;
    3748              :                   }
    3749              :                 default:;
    3750              :                 }
    3751              :               break;
    3752              :             }
    3753              :           default:;
    3754              :           }
    3755              :         break;
    3756              :       }
    3757       467932 :     case LSHIFT_EXPR:
    3758       467932 :       {
    3759       467932 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3760       467932 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3761       467932 :         switch (TREE_CODE (_q21))
    3762              :           {
    3763       141418 :           case INTEGER_CST:
    3764       141418 :             {
    3765       141418 :               {
    3766       141418 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3767       141418 :                 if (INTEGRAL_TYPE_P (type)
    3768       141391 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3769       141391 :  && !integer_zerop (captures[2])
    3770       282036 :  && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    3771              : )
    3772              :                   {
    3773       139335 :                     if (TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    3774       139335 :  || wi::ltu_p (wi::to_wide (captures[2]), TYPE_PRECISION (type))
    3775              : )
    3776              :                       {
    3777       139007 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1052;
    3778       139007 :                         {
    3779       139007 :                           tree res_op0;
    3780       139007 :                           {
    3781       139007 :                             tree _o1[1], _r1;
    3782       139007 :                             _o1[0] = captures[1];
    3783       139007 :                             if (TREE_TYPE (_o1[0]) != type)
    3784              :                               {
    3785       129933 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3786              :                               }
    3787              :                             else
    3788              :                               _r1 = _o1[0];
    3789       139007 :                             res_op0 = _r1;
    3790              :                           }
    3791       139007 :                           tree res_op1;
    3792       139007 :                           res_op1 = captures[2];
    3793       139007 :                           tree _r;
    3794       139007 :                           _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
    3795       139007 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
    3796       139007 :                           return _r;
    3797              :                         }
    3798            0 : next_after_fail1052:;
    3799              :                       }
    3800              :                     else
    3801              :                       {
    3802          328 :                         if (wi::ltu_p (wi::to_wide (captures[2]), TYPE_PRECISION (TREE_TYPE (captures[0])))
    3803              : )
    3804              :                           {
    3805          279 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1053;
    3806          279 :                             {
    3807          279 :                               tree _r;
    3808          279 :                               _r =  build_zero_cst (type);
    3809          279 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    3810           14 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3811          279 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    3812            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3813          279 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 838, __FILE__, __LINE__, true);
    3814          279 :                               return _r;
    3815              :                             }
    3816            0 : next_after_fail1053:;
    3817              :                           }
    3818              :                       }
    3819              :                   }
    3820              :               }
    3821         2132 :               break;
    3822              :             }
    3823              :           default:;
    3824              :           }
    3825              :         break;
    3826              :       }
    3827    874736193 :     default:;
    3828              :     }
    3829    874736193 :   {
    3830    874736193 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3831   1749472386 :     if ((
    3832              : 
    3833              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3834              :  || (
    3835              : 1
    3836    874736193 :  && type == TREE_TYPE (captures[0]))
    3837              : )
    3838              :       {
    3839     50777466 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1054;
    3840     50777466 :         {
    3841     50777466 :           tree _r;
    3842     50777466 :           _r = captures[0];
    3843     50777466 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 839, __FILE__, __LINE__, true);
    3844     50777466 :           return _r;
    3845              :         }
    3846            0 : next_after_fail1054:;
    3847              :       }
    3848              :   }
    3849    823958727 :   switch (TREE_CODE (_p0))
    3850              :     {
    3851    136201159 :     CASE_CONVERT:
    3852    136201159 :       {
    3853    136201159 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3854    136201159 :         {
    3855    136201159 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3856    136201159 :           {
    3857    136201159 :  tree inside_type = TREE_TYPE (captures[1]);
    3858    136201159 :  tree inter_type = TREE_TYPE (captures[0]);
    3859    136201159 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    3860    136201159 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3861    136201159 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3862    136201159 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    3863    136201159 :  unsigned int inside_prec = element_precision (inside_type);
    3864    136201159 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3865    136201159 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    3866    136201159 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3867    136201159 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3868    136201159 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    3869    136201159 :  unsigned int inter_prec = element_precision (inter_type);
    3870    136201159 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3871    136201159 :  int final_int = INTEGRAL_TYPE_P (type);
    3872    136201159 :  int final_ptr = POINTER_TYPE_P (type);
    3873    136201159 :  int final_float = FLOAT_TYPE_P (type);
    3874    136201159 :  int final_vec = VECTOR_TYPE_P (type);
    3875    136201159 :  unsigned int final_prec = element_precision (type);
    3876    136201159 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3877    136201159 :               if (((
    3878              : 
    3879              :  && useless_type_conversion_p (type, inside_type))
    3880              :  || (
    3881              : 1
    3882    136201159 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3883     23340701 :  && (((inter_int || inter_ptr) && final_int)
    3884     17647170 :  || (inter_float && final_float))
    3885    141980270 :  && inter_prec >= final_prec
    3886              : )
    3887              :                 {
    3888      5247436 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1055;
    3889      5247436 :                   {
    3890      5247436 :                     tree res_op0;
    3891      5247436 :                     res_op0 = captures[1];
    3892      5247436 :                     tree _r;
    3893      5247436 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3894      5247436 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 840, __FILE__, __LINE__, true);
    3895      5247436 :                     return _r;
    3896              :                   }
    3897            0 : next_after_fail1055:;
    3898              :                 }
    3899              :               else
    3900              :                 {
    3901    130953723 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3902     12954922 :  && (final_int || final_float)
    3903     12823370 :  && inter_prec >= inside_prec
    3904     11544118 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3905              : )
    3906              :                     {
    3907      7978580 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1056;
    3908      7978580 :                       {
    3909      7978580 :                         tree res_op0;
    3910      7978580 :                         res_op0 = captures[1];
    3911      7978580 :                         tree _r;
    3912      7978580 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3913      7978580 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 841, __FILE__, __LINE__, true);
    3914      7978580 :                         return _r;
    3915              :                       }
    3916            0 : next_after_fail1056:;
    3917            0 :                     }
    3918              :                   else
    3919              :                     {
    3920    122975143 :                       if (inside_int && inter_int && final_int
    3921      4838486 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3922       183511 :  && inside_unsignedp && !inter_unsignedp)
    3923      4681774 :  || final_prec == inter_prec
    3924      2400321 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3925       158204 :  && !inside_unsignedp && inter_unsignedp))
    3926              : )
    3927              :                         {
    3928      2509528 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1057;
    3929      2509528 :                           {
    3930      2509528 :                             tree res_op0;
    3931      2509528 :                             res_op0 = captures[1];
    3932      2509528 :                             tree _r;
    3933      2509528 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3934      2509528 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 842, __FILE__, __LINE__, true);
    3935      2509528 :                             return _r;
    3936              :                           }
    3937            0 : next_after_fail1057:;
    3938            0 :                         }
    3939              :                       else
    3940              :                         {
    3941    120465615 :                           if (! inside_float && ! inter_float && ! final_float
    3942              :  && ! inside_vec && ! inter_vec && ! final_vec
    3943    120459307 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3944    119712252 :  && ! (inside_int && inter_int
    3945      1713451 :  && inter_unsignedp != inside_unsignedp
    3946      1713451 :  && inter_prec < final_prec)
    3947    118302590 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3948    118302590 :  == (final_unsignedp && final_prec > inter_prec))
    3949    118278932 :  && ! (inside_ptr && inter_prec != final_prec)
    3950    117785480 :  && ! (final_ptr && inside_prec != inter_prec)
    3951              : )
    3952              :                             {
    3953    117764572 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1058;
    3954    117764572 :                               {
    3955    117764572 :                                 tree res_op0;
    3956    117764572 :                                 res_op0 = captures[1];
    3957    117764572 :                                 tree _r;
    3958    117764572 :                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3959    117764572 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 843, __FILE__, __LINE__, true);
    3960    117764572 :                                 return _r;
    3961              :                               }
    3962            0 : next_after_fail1058:;
    3963            0 :                             }
    3964              :                           else
    3965              :                             {
    3966      2701043 :                               if (inside_int && inter_int && final_int
    3967      2186486 :  && final_prec <= inside_prec
    3968       687002 :  && inter_prec >= inside_prec
    3969              : )
    3970              :                                 {
    3971            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1059;
    3972            0 :                                   {
    3973            0 :                                     tree res_op0;
    3974            0 :                                     res_op0 = captures[1];
    3975            0 :                                     tree _r;
    3976            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3977            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 844, __FILE__, __LINE__, true);
    3978            0 :                                     return _r;
    3979              :                                   }
    3980            0 : next_after_fail1059:;
    3981            0 :                                 }
    3982              :                               else
    3983              :                                 {
    3984              :                                   if (0
    3985              :  && final_int && inter_int && inside_int
    3986              :  && final_prec >= inside_prec
    3987              :  && inside_prec > inter_prec
    3988              :  && inter_unsignedp
    3989              : )
    3990              :                                     {
    3991              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1060;
    3992              :                                       {
    3993              :                                         tree res_op0;
    3994              :                                         {
    3995              :                                           tree _o1[2], _r1;
    3996              :                                           _o1[0] = captures[1];
    3997              :                                           _o1[1] =  wide_int_to_tree
    3998              :  (inside_type,
    3999              :  wi::mask (inter_prec, false,
    4000              :  TYPE_PRECISION (inside_type)));
    4001              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4002              :                                           res_op0 = _r1;
    4003              :                                         }
    4004              :                                         tree _r;
    4005              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4006              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 845, __FILE__, __LINE__, true);
    4007              :                                         return _r;
    4008              :                                       }
    4009              : next_after_fail1060:;
    4010              :                                     }
    4011              :                                   else
    4012              :                                     {
    4013              :                                       if (0
    4014              :  && inside_int && inter_float && final_int &&
    4015              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    4016              :  >= inside_prec - !inside_unsignedp
    4017              : )
    4018              :                                         {
    4019              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1061;
    4020              :                                           {
    4021              :                                             tree res_op0;
    4022              :                                             res_op0 = captures[1];
    4023              :                                             tree _r;
    4024              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4025              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 846, __FILE__, __LINE__, true);
    4026              :                                             return _r;
    4027              :                                           }
    4028              : next_after_fail1061:;
    4029              :                                         }
    4030              :                                     }
    4031              :                                 }
    4032              :                             }
    4033              :                         }
    4034              :                     }
    4035              :                 }
    4036              :           }
    4037              :         }
    4038      2701043 :         break;
    4039              :       }
    4040         3067 :     case FLOAT_EXPR:
    4041         3067 :       {
    4042         3067 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4043         3067 :         {
    4044         3067 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4045         3067 :           {
    4046         3067 :  tree inside_type = TREE_TYPE (captures[1]);
    4047         3067 :  tree inter_type = TREE_TYPE (captures[0]);
    4048         3067 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    4049         3067 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    4050         3067 :  int inside_float = FLOAT_TYPE_P (inside_type);
    4051         3067 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    4052         3067 :  unsigned int inside_prec = element_precision (inside_type);
    4053         3067 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    4054         3067 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    4055         3067 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    4056         3067 :  int inter_float = FLOAT_TYPE_P (inter_type);
    4057         3067 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    4058         3067 :  unsigned int inter_prec = element_precision (inter_type);
    4059         3067 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    4060         3067 :  int final_int = INTEGRAL_TYPE_P (type);
    4061         3067 :  int final_ptr = POINTER_TYPE_P (type);
    4062         3067 :  int final_float = FLOAT_TYPE_P (type);
    4063         3067 :  int final_vec = VECTOR_TYPE_P (type);
    4064         3067 :  unsigned int final_prec = element_precision (type);
    4065         3067 :  int final_unsignedp = TYPE_UNSIGNED (type);
    4066         3067 :               if (((
    4067              : 
    4068              :  && useless_type_conversion_p (type, inside_type))
    4069              :  || (
    4070              : 1
    4071         3067 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    4072            0 :  && (((inter_int || inter_ptr) && final_int)
    4073            0 :  || (inter_float && final_float))
    4074         3067 :  && inter_prec >= final_prec
    4075              : )
    4076              :                 {
    4077            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1062;
    4078            0 :                   {
    4079            0 :                     tree res_op0;
    4080            0 :                     res_op0 = captures[1];
    4081            0 :                     tree _r;
    4082            0 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4083            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 840, __FILE__, __LINE__, true);
    4084            0 :                     return _r;
    4085              :                   }
    4086            0 : next_after_fail1062:;
    4087              :                 }
    4088              :               else
    4089              :                 {
    4090         3067 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    4091            0 :  && (final_int || final_float)
    4092            0 :  && inter_prec >= inside_prec
    4093            0 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    4094              : )
    4095              :                     {
    4096            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1063;
    4097            0 :                       {
    4098            0 :                         tree res_op0;
    4099            0 :                         res_op0 = captures[1];
    4100            0 :                         tree _r;
    4101            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4102            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 841, __FILE__, __LINE__, true);
    4103            0 :                         return _r;
    4104              :                       }
    4105            0 : next_after_fail1063:;
    4106            0 :                     }
    4107              :                   else
    4108              :                     {
    4109         3067 :                       if (inside_int && inter_int && final_int
    4110            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    4111            0 :  && inside_unsignedp && !inter_unsignedp)
    4112            0 :  || final_prec == inter_prec
    4113            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    4114            0 :  && !inside_unsignedp && inter_unsignedp))
    4115              : )
    4116              :                         {
    4117            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1064;
    4118            0 :                           {
    4119            0 :                             tree res_op0;
    4120            0 :                             res_op0 = captures[1];
    4121            0 :                             tree _r;
    4122            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4123            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 842, __FILE__, __LINE__, true);
    4124            0 :                             return _r;
    4125              :                           }
    4126            0 : next_after_fail1064:;
    4127            0 :                         }
    4128              :                       else
    4129              :                         {
    4130         3067 :                           if (! inside_float && ! inter_float && ! final_float
    4131              :  && ! inside_vec && ! inter_vec && ! final_vec
    4132            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    4133            0 :  && ! (inside_int && inter_int
    4134            0 :  && inter_unsignedp != inside_unsignedp
    4135            0 :  && inter_prec < final_prec)
    4136            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    4137            0 :  == (final_unsignedp && final_prec > inter_prec))
    4138            0 :  && ! (inside_ptr && inter_prec != final_prec)
    4139            0 :  && ! (final_ptr && inside_prec != inter_prec)
    4140              : )
    4141              :                             {
    4142            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1065;
    4143            0 :                               {
    4144            0 :                                 tree res_op0;
    4145            0 :                                 res_op0 = captures[1];
    4146            0 :                                 tree _r;
    4147            0 :                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4148            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 843, __FILE__, __LINE__, true);
    4149            0 :                                 return _r;
    4150              :                               }
    4151            0 : next_after_fail1065:;
    4152            0 :                             }
    4153              :                           else
    4154              :                             {
    4155         3067 :                               if (inside_int && inter_int && final_int
    4156            0 :  && final_prec <= inside_prec
    4157            0 :  && inter_prec >= inside_prec
    4158              : )
    4159              :                                 {
    4160            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1066;
    4161            0 :                                   {
    4162            0 :                                     tree res_op0;
    4163            0 :                                     res_op0 = captures[1];
    4164            0 :                                     tree _r;
    4165            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4166            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 844, __FILE__, __LINE__, true);
    4167            0 :                                     return _r;
    4168              :                                   }
    4169            0 : next_after_fail1066:;
    4170            0 :                                 }
    4171              :                               else
    4172              :                                 {
    4173              :                                   if (0
    4174              :  && final_int && inter_int && inside_int
    4175              :  && final_prec >= inside_prec
    4176              :  && inside_prec > inter_prec
    4177              :  && inter_unsignedp
    4178              : )
    4179              :                                     {
    4180              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1067;
    4181              :                                       {
    4182              :                                         tree res_op0;
    4183              :                                         {
    4184              :                                           tree _o1[2], _r1;
    4185              :                                           _o1[0] = captures[1];
    4186              :                                           _o1[1] =  wide_int_to_tree
    4187              :  (inside_type,
    4188              :  wi::mask (inter_prec, false,
    4189              :  TYPE_PRECISION (inside_type)));
    4190              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4191              :                                           res_op0 = _r1;
    4192              :                                         }
    4193              :                                         tree _r;
    4194              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4195              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 845, __FILE__, __LINE__, true);
    4196              :                                         return _r;
    4197              :                                       }
    4198              : next_after_fail1067:;
    4199              :                                     }
    4200              :                                   else
    4201              :                                     {
    4202              :                                       if (0
    4203              :  && inside_int && inter_float && final_int &&
    4204              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    4205              :  >= inside_prec - !inside_unsignedp
    4206              : )
    4207              :                                         {
    4208              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1068;
    4209              :                                           {
    4210              :                                             tree res_op0;
    4211              :                                             res_op0 = captures[1];
    4212              :                                             tree _r;
    4213              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4214              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 846, __FILE__, __LINE__, true);
    4215              :                                             return _r;
    4216              :                                           }
    4217              : next_after_fail1068:;
    4218              :                                         }
    4219              :                                     }
    4220              :                                 }
    4221              :                             }
    4222              :                         }
    4223              :                     }
    4224              :                 }
    4225              :           }
    4226              :         }
    4227         3067 :         break;
    4228              :       }
    4229       885405 :     case BIT_AND_EXPR:
    4230       885405 :       {
    4231       885405 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4232       885405 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4233       885405 :         switch (TREE_CODE (_q21))
    4234              :           {
    4235       233923 :           case INTEGER_CST:
    4236       233923 :             {
    4237       233923 :               {
    4238       233923 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4239       233923 :                 if (INTEGRAL_TYPE_P (type)
    4240       233415 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4241       233415 :  && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    4242       386550 :  && operand_equal_p (captures[1], build_low_bits_mask (TREE_TYPE (captures[1]),
    4243       152627 :  TYPE_PRECISION (type)), 0)
    4244              : )
    4245              :                   {
    4246        13315 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1069;
    4247        13315 :                     {
    4248        13315 :                       tree res_op0;
    4249        13315 :                       res_op0 = captures[0];
    4250        13315 :                       tree _r;
    4251        13315 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4252        13315 :                       if (TREE_SIDE_EFFECTS (captures[1]))
    4253            0 :                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4254        13315 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 847, __FILE__, __LINE__, true);
    4255        13315 :                       return _r;
    4256              :                     }
    4257            0 : next_after_fail1069:;
    4258              :                   }
    4259              :               }
    4260       220608 :               break;
    4261              :             }
    4262              :           default:;
    4263              :           }
    4264              :         break;
    4265              :       }
    4266            5 :     case VEC_COND_EXPR:
    4267            5 :       {
    4268            5 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4269            5 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4270            5 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4271            5 :         {
    4272            5 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4273            5 :           if (VECTOR_TYPE_P (type)
    4274            0 :  && types_match (TREE_TYPE (captures[1]), truth_type_for (type))
    4275            5 :  && (expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4276            0 :  || !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1])))
    4277              : )
    4278              :             {
    4279            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1070;
    4280            0 :               {
    4281            0 :                 tree res_op0;
    4282            0 :                 res_op0 = captures[1];
    4283            0 :                 tree res_op1;
    4284            0 :                 {
    4285            0 :                   tree _o1[1], _r1;
    4286            0 :                   _o1[0] = captures[2];
    4287            0 :                   if (TREE_TYPE (_o1[0]) != type)
    4288              :                     {
    4289            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4290            0 :                       if (EXPR_P (_r1))
    4291            0 :                         goto next_after_fail1070;
    4292              :                     }
    4293              :                   else
    4294              :                     _r1 = _o1[0];
    4295            0 :                   res_op1 = _r1;
    4296              :                 }
    4297            0 :                 tree res_op2;
    4298            0 :                 {
    4299            0 :                   tree _o1[1], _r1;
    4300            0 :                   _o1[0] = captures[3];
    4301            0 :                   if (TREE_TYPE (_o1[0]) != type)
    4302              :                     {
    4303            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4304            0 :                       if (EXPR_P (_r1))
    4305            0 :                         goto next_after_fail1070;
    4306              :                     }
    4307              :                   else
    4308              :                     _r1 = _o1[0];
    4309            0 :                   res_op2 = _r1;
    4310              :                 }
    4311            0 :                 tree _r;
    4312            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4313            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 848, __FILE__, __LINE__, true);
    4314            0 :                 return _r;
    4315              :               }
    4316            5 : next_after_fail1070:;
    4317              :             }
    4318              :         }
    4319            5 :         break;
    4320              :       }
    4321       656849 :     case COND_EXPR:
    4322       656849 :       {
    4323       656849 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4324       656849 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4325       656849 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4326       656849 :         switch (TREE_CODE (_q21))
    4327              :           {
    4328       185370 :           case INTEGER_CST:
    4329       185370 :             {
    4330       185370 :               switch (TREE_CODE (_q22))
    4331              :                 {
    4332       117749 :                 case INTEGER_CST:
    4333       117749 :                   {
    4334       117749 :                     {
    4335       117749 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4336       117749 :                       if (INTEGRAL_TYPE_P (type)
    4337       117749 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4338              : )
    4339              :                         {
    4340       117749 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1071;
    4341       117749 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1071;
    4342       117749 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1071;
    4343       117749 :                           {
    4344       117749 :                             tree res_op0;
    4345       117749 :                             res_op0 = captures[1];
    4346       117749 :                             tree res_op1;
    4347       117749 :                             {
    4348       117749 :                               tree _o1[1], _r1;
    4349       117749 :                               _o1[0] = captures[2];
    4350       117749 :                               if (TREE_TYPE (_o1[0]) != type)
    4351              :                                 {
    4352       117749 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4353              :                                 }
    4354              :                               else
    4355              :                                 _r1 = _o1[0];
    4356       117749 :                               res_op1 = _r1;
    4357              :                             }
    4358       117749 :                             tree res_op2;
    4359       117749 :                             {
    4360       117749 :                               tree _o1[1], _r1;
    4361       117749 :                               _o1[0] = captures[3];
    4362       117749 :                               if (TREE_TYPE (_o1[0]) != type)
    4363              :                                 {
    4364       117749 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4365              :                                 }
    4366              :                               else
    4367              :                                 _r1 = _o1[0];
    4368       117749 :                               res_op2 = _r1;
    4369              :                             }
    4370       117749 :                             tree _r;
    4371       117749 :                             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4372       117749 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 849, __FILE__, __LINE__, true);
    4373       117749 :                             return _r;
    4374              :                           }
    4375            0 : next_after_fail1071:;
    4376              :                         }
    4377              :                     }
    4378            0 :                     break;
    4379              :                   }
    4380              :                 default:;
    4381              :                 }
    4382              :               break;
    4383              :             }
    4384              :           default:;
    4385              :           }
    4386              :         break;
    4387              :       }
    4388     11951902 :     case PLUS_EXPR:
    4389     11951902 :       {
    4390     11951902 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4391     11951902 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4392     11951902 :         switch (TREE_CODE (_q20))
    4393              :           {
    4394      4611861 :           CASE_CONVERT:
    4395      4611861 :             {
    4396      4611861 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4397      4611861 :               switch (TREE_CODE (_q21))
    4398              :                 {
    4399       357178 :                 CASE_CONVERT:
    4400       357178 :                   {
    4401       357178 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4402       357178 :                     {
    4403       357178 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4404       357178 :                       tree res = generic_simplify_437 (loc, type, _p0, captures, PLUS_EXPR);
    4405       357178 :                       if (res) return res;
    4406              :                     }
    4407       357122 :                     break;
    4408              :                   }
    4409      4611805 :                 default:;
    4410              :                 }
    4411      4611805 :               {
    4412      4611805 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4413      4611805 :                 tree res = generic_simplify_438 (loc, type, _p0, captures, PLUS_EXPR);
    4414      4611805 :                 if (res) return res;
    4415              :               }
    4416      4599164 :               break;
    4417              :             }
    4418     11939205 :           default:;
    4419              :           }
    4420     11939205 :         switch (TREE_CODE (_q21))
    4421              :           {
    4422      1621496 :           CASE_CONVERT:
    4423      1621496 :             {
    4424      1621496 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4425      1621496 :               {
    4426      1621496 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4427      1621496 :                 tree res = generic_simplify_439 (loc, type, _p0, captures, PLUS_EXPR);
    4428      1621496 :                 if (res) return res;
    4429              :               }
    4430      1621496 :               break;
    4431              :             }
    4432     11939205 :           default:;
    4433              :           }
    4434     11939205 :         {
    4435     11939205 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4436     11939205 :           tree res = generic_simplify_440 (loc, type, _p0, captures, PLUS_EXPR);
    4437     11939205 :           if (res) return res;
    4438              :         }
    4439     11939171 :         break;
    4440              :       }
    4441       911116 :     case MINUS_EXPR:
    4442       911116 :       {
    4443       911116 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4444       911116 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4445       911116 :         switch (TREE_CODE (_q20))
    4446              :           {
    4447       319944 :           CASE_CONVERT:
    4448       319944 :             {
    4449       319944 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4450       319944 :               switch (TREE_CODE (_q21))
    4451              :                 {
    4452       164365 :                 CASE_CONVERT:
    4453       164365 :                   {
    4454       164365 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4455       164365 :                     {
    4456       164365 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4457       164365 :                       tree res = generic_simplify_437 (loc, type, _p0, captures, MINUS_EXPR);
    4458       164365 :                       if (res) return res;
    4459              :                     }
    4460       164336 :                     break;
    4461              :                   }
    4462       319915 :                 default:;
    4463              :                 }
    4464       319915 :               {
    4465       319915 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4466       319915 :                 tree res = generic_simplify_438 (loc, type, _p0, captures, MINUS_EXPR);
    4467       319915 :                 if (res) return res;
    4468              :               }
    4469       318795 :               break;
    4470              :             }
    4471       909967 :           default:;
    4472              :           }
    4473       909967 :         switch (TREE_CODE (_q21))
    4474              :           {
    4475       223431 :           CASE_CONVERT:
    4476       223431 :             {
    4477       223431 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4478       223431 :               {
    4479       223431 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4480       223431 :                 tree res = generic_simplify_439 (loc, type, _p0, captures, MINUS_EXPR);
    4481       223431 :                 if (res) return res;
    4482              :               }
    4483       223421 :               break;
    4484              :             }
    4485       909957 :           default:;
    4486              :           }
    4487       909957 :         {
    4488       909957 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4489       909957 :           tree res = generic_simplify_440 (loc, type, _p0, captures, MINUS_EXPR);
    4490       909957 :           if (res) return res;
    4491              :         }
    4492       909925 :         break;
    4493              :       }
    4494      9265744 :     case MULT_EXPR:
    4495      9265744 :       {
    4496      9265744 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4497      9265744 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4498      9265744 :         switch (TREE_CODE (_q20))
    4499              :           {
    4500      4159283 :           CASE_CONVERT:
    4501      4159283 :             {
    4502      4159283 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4503      4159283 :               switch (TREE_CODE (_q21))
    4504              :                 {
    4505       358930 :                 CASE_CONVERT:
    4506       358930 :                   {
    4507       358930 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4508       358930 :                     {
    4509       358930 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4510       358930 :                       tree res = generic_simplify_437 (loc, type, _p0, captures, MULT_EXPR);
    4511       358930 :                       if (res) return res;
    4512              :                     }
    4513       358930 :                     break;
    4514              :                   }
    4515      4159283 :                 default:;
    4516              :                 }
    4517      4159283 :               {
    4518      4159283 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4519      4159283 :                 tree res = generic_simplify_438 (loc, type, _p0, captures, MULT_EXPR);
    4520      4159283 :                 if (res) return res;
    4521              :               }
    4522      4159162 :               break;
    4523              :             }
    4524      9265623 :           default:;
    4525              :           }
    4526      9265623 :         switch (TREE_CODE (_q21))
    4527              :           {
    4528       795538 :           CASE_CONVERT:
    4529       795538 :             {
    4530       795538 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4531       795538 :               {
    4532       795538 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4533       795538 :                 tree res = generic_simplify_439 (loc, type, _p0, captures, MULT_EXPR);
    4534       795538 :                 if (res) return res;
    4535              :               }
    4536       795538 :               break;
    4537              :             }
    4538      9265623 :           default:;
    4539              :           }
    4540      9265623 :         {
    4541      9265623 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4542      9265623 :           tree res = generic_simplify_440 (loc, type, _p0, captures, MULT_EXPR);
    4543      9265623 :           if (res) return res;
    4544              :         }
    4545      9265590 :         break;
    4546              :       }
    4547         3079 :     case RDIV_EXPR:
    4548         3079 :       {
    4549         3079 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4550         3079 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4551         3079 :         switch (TREE_CODE (_q20))
    4552              :           {
    4553          981 :           CASE_CONVERT:
    4554          981 :             {
    4555          981 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4556          981 :               switch (TREE_CODE (_q21))
    4557              :                 {
    4558          674 :                 CASE_CONVERT:
    4559          674 :                   {
    4560          674 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4561          674 :                     {
    4562          674 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4563          674 :                       tree res = generic_simplify_437 (loc, type, _p0, captures, RDIV_EXPR);
    4564          674 :                       if (res) return res;
    4565              :                     }
    4566          673 :                     break;
    4567              :                   }
    4568          980 :                 default:;
    4569              :                 }
    4570          980 :               {
    4571          980 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4572          980 :                 tree res = generic_simplify_438 (loc, type, _p0, captures, RDIV_EXPR);
    4573          980 :                 if (res) return res;
    4574              :               }
    4575          978 :               break;
    4576              :             }
    4577         3076 :           default:;
    4578              :           }
    4579         3076 :         switch (TREE_CODE (_q21))
    4580              :           {
    4581         1663 :           CASE_CONVERT:
    4582         1663 :             {
    4583         1663 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4584         1663 :               {
    4585         1663 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4586         1663 :                 tree res = generic_simplify_439 (loc, type, _p0, captures, RDIV_EXPR);
    4587         1663 :                 if (res) return res;
    4588              :               }
    4589         1018 :               break;
    4590              :             }
    4591         2431 :           default:;
    4592              :           }
    4593         2431 :         {
    4594         2431 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4595         2431 :           tree res = generic_simplify_440 (loc, type, _p0, captures, RDIV_EXPR);
    4596         2431 :           if (res) return res;
    4597              :         }
    4598         2389 :         break;
    4599              :       }
    4600       692498 :     case NEGATE_EXPR:
    4601       692498 :       {
    4602       692498 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4603       692498 :         {
    4604       692498 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4605       692498 :           tree res = generic_simplify_441 (loc, type, _p0, captures);
    4606       692498 :           if (res) return res;
    4607              :         }
    4608       692476 :         break;
    4609              :       }
    4610              :     default:;
    4611              :     }
    4612              :   return NULL_TREE;
    4613              : }
    4614              : 
    4615              : tree
    4616         7190 : generic_simplify_CEIL_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4617              : {
    4618         7190 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4619         7190 :   if (integer_onep (_p1))
    4620              :     {
    4621         1755 :       {
    4622         1755 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4623         1755 :         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4624         1755 :         if (res) return res;
    4625              :       }
    4626              :     }
    4627         5435 :   if (integer_zerop (_p0))
    4628              :     {
    4629            0 :       {
    4630            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4631            0 :         tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4632            0 :         if (res) return res;
    4633              :       }
    4634              :     }
    4635         5435 :   switch (TREE_CODE (_p1))
    4636              :     {
    4637           34 :     case SSA_NAME:
    4638           34 :       {
    4639           34 :         {
    4640           34 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4641           34 :           tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4642           34 :           if (res) return res;
    4643              :         }
    4644           34 :         break;
    4645              :       }
    4646         5435 :     default:;
    4647              :     }
    4648         5435 : if (integer_minus_onep (_p1))
    4649              :   {
    4650            0 :     {
    4651            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4652            0 :       tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4653            0 :       if (res) return res;
    4654              :     }
    4655              :   }
    4656         5435 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4657              :     {
    4658            0 :       {
    4659            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4660            0 :         tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4661            0 :         if (res) return res;
    4662              :       }
    4663              :     }
    4664         5435 :   switch (TREE_CODE (_p1))
    4665              :     {
    4666            0 :     case ABS_EXPR:
    4667            0 :       {
    4668            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4669            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4670              :           {
    4671            0 :             {
    4672            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4673            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4674            0 :               if (res) return res;
    4675              :             }
    4676              :           }
    4677              :         break;
    4678              :       }
    4679         5435 :     default:;
    4680              :     }
    4681         5435 :   switch (TREE_CODE (_p0))
    4682              :     {
    4683            0 :     case ABS_EXPR:
    4684            0 :       {
    4685            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4686            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4687              :           {
    4688            0 :             {
    4689            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4690            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4691            0 :               if (res) return res;
    4692              :             }
    4693              :           }
    4694              :         break;
    4695              :       }
    4696         5435 :     default:;
    4697              :     }
    4698         5435 :   switch (TREE_CODE (_p1))
    4699              :     {
    4700            0 :     case NEGATE_EXPR:
    4701            0 :       {
    4702            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4703            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4704              :           {
    4705            0 :             {
    4706            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4707            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4708            0 :               if (res) return res;
    4709              :             }
    4710              :           }
    4711              :         break;
    4712              :       }
    4713         5435 :     default:;
    4714              :     }
    4715         5435 :   switch (TREE_CODE (_p0))
    4716              :     {
    4717            0 :     case NEGATE_EXPR:
    4718            0 :       {
    4719            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4720            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4721              :           {
    4722            0 :             {
    4723            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4724            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4725            0 :               if (res) return res;
    4726              :             }
    4727              :           }
    4728              :         break;
    4729              :       }
    4730          536 :     CASE_CONVERT:
    4731          536 :       {
    4732          536 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4733          536 :         switch (TREE_CODE (_q20))
    4734              :           {
    4735            0 :           case BIT_AND_EXPR:
    4736            0 :             {
    4737            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4738            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4739            0 :               switch (TREE_CODE (_q31))
    4740              :                 {
    4741            0 :                 case INTEGER_CST:
    4742            0 :                   {
    4743            0 :                     switch (TREE_CODE (_p1))
    4744              :                       {
    4745            0 :                       case INTEGER_CST:
    4746            0 :                         {
    4747            0 :                           {
    4748            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4749            0 :                             tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4750            0 :                             if (res) return res;
    4751              :                           }
    4752            0 :                           break;
    4753              :                         }
    4754              :                       default:;
    4755              :                       }
    4756              :                     break;
    4757              :                   }
    4758              :                 default:;
    4759              :                 }
    4760              :               break;
    4761              :             }
    4762              :           default:;
    4763              :           }
    4764              :         break;
    4765              :       }
    4766            0 :     case BIT_AND_EXPR:
    4767            0 :       {
    4768            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4769            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4770            0 :         switch (TREE_CODE (_q21))
    4771              :           {
    4772            0 :           case INTEGER_CST:
    4773            0 :             {
    4774            0 :               switch (TREE_CODE (_p1))
    4775              :                 {
    4776            0 :                 case INTEGER_CST:
    4777            0 :                   {
    4778            0 :                     {
    4779            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4780            0 :                       tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4781            0 :                       if (res) return res;
    4782              :                     }
    4783            0 :                     break;
    4784              :                   }
    4785              :                 default:;
    4786              :                 }
    4787              :               break;
    4788              :             }
    4789              :           default:;
    4790              :           }
    4791              :         break;
    4792              :       }
    4793            0 :     case MULT_EXPR:
    4794            0 :       {
    4795            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4796            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4797            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4798              :           {
    4799            0 :             {
    4800            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4801            0 :               tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4802            0 :               if (res) return res;
    4803              :             }
    4804              :           }
    4805            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4806              :           {
    4807            0 :             {
    4808            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4809            0 :               tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4810            0 :               if (res) return res;
    4811              :             }
    4812              :           }
    4813            0 :         switch (TREE_CODE (_q21))
    4814              :           {
    4815            0 :           case INTEGER_CST:
    4816            0 :             {
    4817            0 :               switch (TREE_CODE (_p1))
    4818              :                 {
    4819            0 :                 case MULT_EXPR:
    4820            0 :                   {
    4821            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4822            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4823            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4824              :                       {
    4825            0 :                         switch (TREE_CODE (_q51))
    4826              :                           {
    4827            0 :                           case INTEGER_CST:
    4828            0 :                             {
    4829            0 :                               {
    4830            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4831            0 :                                 tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
    4832            0 :                                 if (res) return res;
    4833              :                               }
    4834            0 :                               break;
    4835              :                             }
    4836              :                           default:;
    4837              :                           }
    4838              :                       }
    4839              :                     break;
    4840              :                   }
    4841              :                 default:;
    4842              :                 }
    4843              :               break;
    4844              :             }
    4845              :           default:;
    4846              :           }
    4847              :         break;
    4848              :       }
    4849            0 :     case VEC_COND_EXPR:
    4850            0 :       {
    4851            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4852            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4853            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4854            0 :         switch (TREE_CODE (_p1))
    4855              :           {
    4856            0 :           case VEC_COND_EXPR:
    4857            0 :             {
    4858            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4859            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4860            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4861            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4862              :                 {
    4863            0 :                   {
    4864            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4865            0 :                     if (VECTOR_TYPE_P (type)
    4866            0 :  && (TREE_CODE_CLASS (CEIL_DIV_EXPR) != tcc_comparison
    4867              :  || types_match (type, TREE_TYPE (captures[2]))
    4868              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4869              :  || (optimize_vectors_before_lowering_p ()
    4870              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4871              : )
    4872              :                       {
    4873            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1590;
    4874            0 :                         {
    4875            0 :                           tree res_op0;
    4876            0 :                           res_op0 = captures[1];
    4877            0 :                           tree res_op1;
    4878            0 :                           {
    4879            0 :                             tree _o1[2], _r1;
    4880            0 :                             _o1[0] = captures[2];
    4881            0 :                             _o1[1] = captures[5];
    4882            0 :                             _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, type, _o1[0], _o1[1]);
    4883            0 :                             if (EXPR_P (_r1))
    4884            0 :                               goto next_after_fail1590;
    4885            0 :                             res_op1 = _r1;
    4886              :                           }
    4887            0 :                           tree res_op2;
    4888            0 :                           {
    4889            0 :                             tree _o1[2], _r1;
    4890            0 :                             _o1[0] = captures[3];
    4891            0 :                             _o1[1] = captures[6];
    4892            0 :                             _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, type, _o1[0], _o1[1]);
    4893            0 :                             if (EXPR_P (_r1))
    4894            0 :                               goto next_after_fail1590;
    4895            0 :                             res_op2 = _r1;
    4896              :                           }
    4897            0 :                           tree _r;
    4898            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4899            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    4900            0 :                           return _r;
    4901              :                         }
    4902            0 : next_after_fail1590:;
    4903              :                       }
    4904              :                   }
    4905              :                 }
    4906              :               break;
    4907              :             }
    4908            0 :           default:;
    4909              :           }
    4910            0 :         {
    4911            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4912            0 :           if (VECTOR_TYPE_P (type)
    4913            0 :  && (TREE_CODE_CLASS (CEIL_DIV_EXPR) != tcc_comparison
    4914              :  || types_match (type, TREE_TYPE (captures[2]))
    4915              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4916              :  || (optimize_vectors_before_lowering_p ()
    4917              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4918              : )
    4919              :             {
    4920            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1591;
    4921            0 :               {
    4922            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1591;
    4923            0 :                 tree res_op0;
    4924            0 :                 res_op0 = captures[1];
    4925            0 :                 tree res_op1;
    4926            0 :                 {
    4927            0 :                   tree _o1[2], _r1;
    4928            0 :                   _o1[0] = captures[2];
    4929            0 :                   _o1[1] = unshare_expr (captures[4]);
    4930            0 :                   _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, type, _o1[0], _o1[1]);
    4931            0 :                   if (EXPR_P (_r1))
    4932            0 :                     goto next_after_fail1591;
    4933            0 :                   res_op1 = _r1;
    4934              :                 }
    4935            0 :                 tree res_op2;
    4936            0 :                 {
    4937            0 :                   tree _o1[2], _r1;
    4938            0 :                   _o1[0] = captures[3];
    4939            0 :                   _o1[1] = captures[4];
    4940            0 :                   _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, type, _o1[0], _o1[1]);
    4941            0 :                   if (EXPR_P (_r1))
    4942            0 :                     goto next_after_fail1591;
    4943            0 :                   res_op2 = _r1;
    4944              :                 }
    4945            0 :                 tree _r;
    4946            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4947            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    4948            0 :                 return _r;
    4949              :               }
    4950            0 : next_after_fail1591:;
    4951              :             }
    4952              :         }
    4953            0 :         break;
    4954              :       }
    4955         5435 :     default:;
    4956              :     }
    4957         5435 :   switch (TREE_CODE (_p1))
    4958              :     {
    4959            0 :     case VEC_COND_EXPR:
    4960            0 :       {
    4961            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4962            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4963            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4964            0 :         {
    4965            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4966            0 :           if (VECTOR_TYPE_P (type)
    4967            0 :  && (TREE_CODE_CLASS (CEIL_DIV_EXPR) != tcc_comparison
    4968              :  || types_match (type, TREE_TYPE (captures[3]))
    4969              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4970              :  || (optimize_vectors_before_lowering_p ()
    4971              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4972              : )
    4973              :             {
    4974            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1592;
    4975            0 :               {
    4976            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1592;
    4977            0 :                 tree res_op0;
    4978            0 :                 res_op0 = captures[2];
    4979            0 :                 tree res_op1;
    4980            0 :                 {
    4981            0 :                   tree _o1[2], _r1;
    4982            0 :                   _o1[0] = unshare_expr (captures[0]);
    4983            0 :                   _o1[1] = captures[3];
    4984            0 :                   _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, type, _o1[0], _o1[1]);
    4985            0 :                   if (EXPR_P (_r1))
    4986            0 :                     goto next_after_fail1592;
    4987            0 :                   res_op1 = _r1;
    4988              :                 }
    4989            0 :                 tree res_op2;
    4990            0 :                 {
    4991            0 :                   tree _o1[2], _r1;
    4992            0 :                   _o1[0] = captures[0];
    4993            0 :                   _o1[1] = captures[4];
    4994            0 :                   _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, type, _o1[0], _o1[1]);
    4995            0 :                   if (EXPR_P (_r1))
    4996            0 :                     goto next_after_fail1592;
    4997            0 :                   res_op2 = _r1;
    4998              :                 }
    4999            0 :                 tree _r;
    5000            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5001            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    5002            0 :                 return _r;
    5003              :               }
    5004            0 : next_after_fail1592:;
    5005              :             }
    5006              :         }
    5007            0 :         break;
    5008              :       }
    5009              :     default:;
    5010              :     }
    5011              :   return NULL_TREE;
    5012              : }
    5013              : 
    5014              : tree
    5015      3578008 : generic_simplify_EXACT_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5016              : {
    5017      3578008 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5018      3578008 :   if (integer_onep (_p1))
    5019              :     {
    5020      2151985 :       {
    5021      2151985 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5022      2151985 :         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5023      2151985 :         if (res) return res;
    5024              :       }
    5025              :     }
    5026      1426023 :   switch (TREE_CODE (_p0))
    5027              :     {
    5028         9076 :     CASE_CONVERT:
    5029         9076 :       {
    5030         9076 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5031         9076 :         switch (TREE_CODE (_p1))
    5032              :           {
    5033            0 :           CASE_CONVERT:
    5034            0 :             {
    5035            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5036            0 :               switch (TREE_CODE (_q40))
    5037              :                 {
    5038            0 :                 case LSHIFT_EXPR:
    5039            0 :                   {
    5040            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5041            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5042            0 :                     if (integer_onep (_q50))
    5043              :                       {
    5044            0 :                         {
    5045            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
    5046            0 :                           tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5047            0 :                           if (res) return res;
    5048              :                         }
    5049              :                       }
    5050              :                     break;
    5051              :                   }
    5052              :                 default:;
    5053              :                 }
    5054              :               break;
    5055              :             }
    5056            0 :           case LSHIFT_EXPR:
    5057            0 :             {
    5058            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5059            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5060            0 :               if (integer_onep (_q40))
    5061              :                 {
    5062            0 :                   {
    5063            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
    5064            0 :                     tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5065            0 :                     if (res) return res;
    5066              :                   }
    5067              :                 }
    5068              :               break;
    5069              :             }
    5070              :           default:;
    5071              :           }
    5072              :         break;
    5073              :       }
    5074      1426023 :     default:;
    5075              :     }
    5076      1426023 :   switch (TREE_CODE (_p1))
    5077              :     {
    5078            2 :     CASE_CONVERT:
    5079            2 :       {
    5080            2 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5081            2 :         switch (TREE_CODE (_q30))
    5082              :           {
    5083            0 :           case LSHIFT_EXPR:
    5084            0 :             {
    5085            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5086            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    5087            0 :               if (integer_onep (_q40))
    5088              :                 {
    5089            0 :                   {
    5090            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
    5091            0 :                     tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5092            0 :                     if (res) return res;
    5093              :                   }
    5094              :                 }
    5095              :               break;
    5096              :             }
    5097              :           default:;
    5098              :           }
    5099              :         break;
    5100              :       }
    5101            0 :     case LSHIFT_EXPR:
    5102            0 :       {
    5103            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5104            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5105            0 :         if (integer_onep (_q30))
    5106              :           {
    5107            0 :             {
    5108            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
    5109            0 :               tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5110            0 :               if (res) return res;
    5111              :             }
    5112              :           }
    5113              :         break;
    5114              :       }
    5115      1426023 :     default:;
    5116              :     }
    5117      1426023 :   if (integer_zerop (_p0))
    5118              :     {
    5119            0 :       {
    5120            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5121            0 :         tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5122            0 :         if (res) return res;
    5123              :       }
    5124              :     }
    5125      1426023 :   switch (TREE_CODE (_p1))
    5126              :     {
    5127            0 :     case SSA_NAME:
    5128            0 :       {
    5129            0 :         {
    5130            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5131            0 :           tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5132            0 :           if (res) return res;
    5133              :         }
    5134            0 :         break;
    5135              :       }
    5136      1426023 :     default:;
    5137              :     }
    5138      1426023 : if (integer_minus_onep (_p1))
    5139              :   {
    5140            0 :     {
    5141            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5142            0 :       tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5143            0 :       if (res) return res;
    5144              :     }
    5145              :   }
    5146      1426023 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5147              :     {
    5148            0 :       {
    5149            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5150            0 :         tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5151            0 :         if (res) return res;
    5152              :       }
    5153              :     }
    5154      1426023 :   switch (TREE_CODE (_p1))
    5155              :     {
    5156            0 :     case ABS_EXPR:
    5157            0 :       {
    5158            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5159            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5160              :           {
    5161            0 :             {
    5162            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5163            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5164            0 :               if (res) return res;
    5165              :             }
    5166              :           }
    5167              :         break;
    5168              :       }
    5169      1426023 :     default:;
    5170              :     }
    5171      1426023 :   switch (TREE_CODE (_p0))
    5172              :     {
    5173            0 :     case ABS_EXPR:
    5174            0 :       {
    5175            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5176            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5177              :           {
    5178            0 :             {
    5179            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5180            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5181            0 :               if (res) return res;
    5182              :             }
    5183              :           }
    5184              :         break;
    5185              :       }
    5186      1426023 :     default:;
    5187              :     }
    5188      1426023 :   switch (TREE_CODE (_p1))
    5189              :     {
    5190            0 :     case NEGATE_EXPR:
    5191            0 :       {
    5192            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5193            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5194              :           {
    5195            0 :             {
    5196            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5197            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5198            0 :               if (res) return res;
    5199              :             }
    5200              :           }
    5201              :         break;
    5202              :       }
    5203      1426023 :     default:;
    5204              :     }
    5205      1426023 :   switch (TREE_CODE (_p0))
    5206              :     {
    5207         1231 :     case NEGATE_EXPR:
    5208         1231 :       {
    5209         1231 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5210         1231 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5211              :           {
    5212            0 :             {
    5213            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5214            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5215            0 :               if (res) return res;
    5216              :             }
    5217              :           }
    5218              :         break;
    5219              :       }
    5220            0 :     case EXACT_DIV_EXPR:
    5221            0 :       {
    5222            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5223            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5224            0 :         switch (TREE_CODE (_q21))
    5225              :           {
    5226            0 :           case INTEGER_CST:
    5227            0 :             {
    5228            0 :               switch (TREE_CODE (_p1))
    5229              :                 {
    5230            0 :                 case INTEGER_CST:
    5231            0 :                   {
    5232            0 :                     {
    5233            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5234            0 :                       tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5235            0 :                       if (res) return res;
    5236              :                     }
    5237            0 :                     break;
    5238              :                   }
    5239              :                 default:;
    5240              :                 }
    5241              :               break;
    5242              :             }
    5243              :           default:;
    5244              :           }
    5245              :         break;
    5246              :       }
    5247         9076 :     CASE_CONVERT:
    5248         9076 :       {
    5249         9076 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5250         9076 :         switch (TREE_CODE (_q20))
    5251              :           {
    5252            0 :           case BIT_AND_EXPR:
    5253            0 :             {
    5254            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5255            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5256            0 :               switch (TREE_CODE (_q31))
    5257              :                 {
    5258            0 :                 case INTEGER_CST:
    5259            0 :                   {
    5260            0 :                     switch (TREE_CODE (_p1))
    5261              :                       {
    5262            0 :                       case INTEGER_CST:
    5263            0 :                         {
    5264            0 :                           {
    5265            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5266            0 :                             tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5267            0 :                             if (res) return res;
    5268              :                           }
    5269            0 :                           break;
    5270              :                         }
    5271              :                       default:;
    5272              :                       }
    5273              :                     break;
    5274              :                   }
    5275              :                 default:;
    5276              :                 }
    5277              :               break;
    5278              :             }
    5279              :           default:;
    5280              :           }
    5281              :         break;
    5282              :       }
    5283            0 :     case BIT_AND_EXPR:
    5284            0 :       {
    5285            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5286            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5287            0 :         switch (TREE_CODE (_q21))
    5288              :           {
    5289            0 :           case INTEGER_CST:
    5290            0 :             {
    5291            0 :               switch (TREE_CODE (_p1))
    5292              :                 {
    5293            0 :                 case INTEGER_CST:
    5294            0 :                   {
    5295            0 :                     {
    5296            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5297            0 :                       tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5298            0 :                       if (res) return res;
    5299              :                     }
    5300            0 :                     break;
    5301              :                   }
    5302              :                 default:;
    5303              :                 }
    5304              :               break;
    5305              :             }
    5306              :           default:;
    5307              :           }
    5308              :         break;
    5309              :       }
    5310        19409 :     case MULT_EXPR:
    5311        19409 :       {
    5312        19409 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5313        19409 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5314        19409 :         if (integer_pow2p (_q21))
    5315              :           {
    5316        18182 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5317              :               {
    5318        18154 :                 {
    5319        18154 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5320        18154 :                   tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5321        18154 :                   if (res) return res;
    5322              :                 }
    5323              :               }
    5324              :           }
    5325         1262 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5326              :           {
    5327            7 :             {
    5328            7 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5329            7 :               tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5330            7 :               if (res) return res;
    5331              :             }
    5332              :           }
    5333         1255 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5334              :           {
    5335            0 :             {
    5336            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5337            0 :               tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5338            0 :               if (res) return res;
    5339              :             }
    5340              :           }
    5341         1255 :         switch (TREE_CODE (_q21))
    5342              :           {
    5343         1255 :           case INTEGER_CST:
    5344         1255 :             {
    5345         1255 :               switch (TREE_CODE (_p1))
    5346              :                 {
    5347            0 :                 case MULT_EXPR:
    5348            0 :                   {
    5349            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5350            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5351            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5352              :                       {
    5353            0 :                         switch (TREE_CODE (_q51))
    5354              :                           {
    5355            0 :                           case INTEGER_CST:
    5356            0 :                             {
    5357            0 :                               {
    5358            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5359            0 :                                 tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
    5360            0 :                                 if (res) return res;
    5361              :                               }
    5362            0 :                               break;
    5363              :                             }
    5364              :                           default:;
    5365              :                           }
    5366              :                       }
    5367              :                     break;
    5368              :                   }
    5369              :                 default:;
    5370              :                 }
    5371              :               break;
    5372              :             }
    5373              :           default:;
    5374              :           }
    5375              :         break;
    5376              :       }
    5377            0 :     case VEC_COND_EXPR:
    5378            0 :       {
    5379            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5380            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5381            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5382            0 :         switch (TREE_CODE (_p1))
    5383              :           {
    5384            0 :           case VEC_COND_EXPR:
    5385            0 :             {
    5386            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5387            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5388            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5389            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5390              :                 {
    5391            0 :                   {
    5392            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5393            0 :                     if (VECTOR_TYPE_P (type)
    5394            0 :  && (TREE_CODE_CLASS (EXACT_DIV_EXPR) != tcc_comparison
    5395              :  || types_match (type, TREE_TYPE (captures[2]))
    5396              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5397              :  || (optimize_vectors_before_lowering_p ()
    5398              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5399              : )
    5400              :                       {
    5401            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1599;
    5402            0 :                         {
    5403            0 :                           tree res_op0;
    5404            0 :                           res_op0 = captures[1];
    5405            0 :                           tree res_op1;
    5406            0 :                           {
    5407            0 :                             tree _o1[2], _r1;
    5408            0 :                             _o1[0] = captures[2];
    5409            0 :                             _o1[1] = captures[5];
    5410            0 :                             _r1 = fold_build2_loc (loc, EXACT_DIV_EXPR, type, _o1[0], _o1[1]);
    5411            0 :                             if (EXPR_P (_r1))
    5412            0 :                               goto next_after_fail1599;
    5413            0 :                             res_op1 = _r1;
    5414              :                           }
    5415            0 :                           tree res_op2;
    5416            0 :                           {
    5417            0 :                             tree _o1[2], _r1;
    5418            0 :                             _o1[0] = captures[3];
    5419            0 :                             _o1[1] = captures[6];
    5420            0 :                             _r1 = fold_build2_loc (loc, EXACT_DIV_EXPR, type, _o1[0], _o1[1]);
    5421            0 :                             if (EXPR_P (_r1))
    5422            0 :                               goto next_after_fail1599;
    5423            0 :                             res_op2 = _r1;
    5424              :                           }
    5425            0 :                           tree _r;
    5426            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5427            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    5428            0 :                           return _r;
    5429              :                         }
    5430            0 : next_after_fail1599:;
    5431              :                       }
    5432              :                   }
    5433              :                 }
    5434              :               break;
    5435              :             }
    5436            0 :           default:;
    5437              :           }
    5438            0 :         {
    5439            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5440            0 :           if (VECTOR_TYPE_P (type)
    5441            0 :  && (TREE_CODE_CLASS (EXACT_DIV_EXPR) != tcc_comparison
    5442              :  || types_match (type, TREE_TYPE (captures[2]))
    5443              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5444              :  || (optimize_vectors_before_lowering_p ()
    5445              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5446              : )
    5447              :             {
    5448            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1600;
    5449            0 :               {
    5450            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1600;
    5451            0 :                 tree res_op0;
    5452            0 :                 res_op0 = captures[1];
    5453            0 :                 tree res_op1;
    5454            0 :                 {
    5455            0 :                   tree _o1[2], _r1;
    5456            0 :                   _o1[0] = captures[2];
    5457            0 :                   _o1[1] = unshare_expr (captures[4]);
    5458            0 :                   _r1 = fold_build2_loc (loc, EXACT_DIV_EXPR, type, _o1[0], _o1[1]);
    5459            0 :                   if (EXPR_P (_r1))
    5460            0 :                     goto next_after_fail1600;
    5461            0 :                   res_op1 = _r1;
    5462              :                 }
    5463            0 :                 tree res_op2;
    5464            0 :                 {
    5465            0 :                   tree _o1[2], _r1;
    5466            0 :                   _o1[0] = captures[3];
    5467            0 :                   _o1[1] = captures[4];
    5468            0 :                   _r1 = fold_build2_loc (loc, EXACT_DIV_EXPR, type, _o1[0], _o1[1]);
    5469            0 :                   if (EXPR_P (_r1))
    5470            0 :                     goto next_after_fail1600;
    5471            0 :                   res_op2 = _r1;
    5472              :                 }
    5473            0 :                 tree _r;
    5474            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5475            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    5476            0 :                 return _r;
    5477              :               }
    5478            0 : next_after_fail1600:;
    5479              :             }
    5480              :         }
    5481            0 :         break;
    5482              :       }
    5483      1407869 :     default:;
    5484              :     }
    5485      1407869 :   switch (TREE_CODE (_p1))
    5486              :     {
    5487            0 :     case VEC_COND_EXPR:
    5488            0 :       {
    5489            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5490            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5491            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5492            0 :         {
    5493            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5494            0 :           if (VECTOR_TYPE_P (type)
    5495            0 :  && (TREE_CODE_CLASS (EXACT_DIV_EXPR) != tcc_comparison
    5496              :  || types_match (type, TREE_TYPE (captures[3]))
    5497              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5498              :  || (optimize_vectors_before_lowering_p ()
    5499              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5500              : )
    5501              :             {
    5502            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1601;
    5503            0 :               {
    5504            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1601;
    5505            0 :                 tree res_op0;
    5506            0 :                 res_op0 = captures[2];
    5507            0 :                 tree res_op1;
    5508            0 :                 {
    5509            0 :                   tree _o1[2], _r1;
    5510            0 :                   _o1[0] = unshare_expr (captures[0]);
    5511            0 :                   _o1[1] = captures[3];
    5512            0 :                   _r1 = fold_build2_loc (loc, EXACT_DIV_EXPR, type, _o1[0], _o1[1]);
    5513            0 :                   if (EXPR_P (_r1))
    5514            0 :                     goto next_after_fail1601;
    5515            0 :                   res_op1 = _r1;
    5516              :                 }
    5517            0 :                 tree res_op2;
    5518            0 :                 {
    5519            0 :                   tree _o1[2], _r1;
    5520            0 :                   _o1[0] = captures[0];
    5521            0 :                   _o1[1] = captures[4];
    5522            0 :                   _r1 = fold_build2_loc (loc, EXACT_DIV_EXPR, type, _o1[0], _o1[1]);
    5523            0 :                   if (EXPR_P (_r1))
    5524            0 :                     goto next_after_fail1601;
    5525            0 :                   res_op2 = _r1;
    5526              :                 }
    5527            0 :                 tree _r;
    5528            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5529            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    5530            0 :                 return _r;
    5531              :               }
    5532            0 : next_after_fail1601:;
    5533              :             }
    5534              :         }
    5535            0 :         break;
    5536              :       }
    5537              :     default:;
    5538              :     }
    5539              :   return NULL_TREE;
    5540              : }
    5541              : 
    5542              : tree
    5543      9388971 : generic_simplify_LE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5544              : {
    5545      9388971 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5546      9388971 :   switch (TREE_CODE (_p0))
    5547              :     {
    5548         2318 :     case RDIV_EXPR:
    5549         2318 :       {
    5550         2318 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5551         2318 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5552         2318 :         switch (TREE_CODE (_q20))
    5553              :           {
    5554          548 :           case REAL_CST:
    5555          548 :             {
    5556          548 :               if (real_zerop (_p1))
    5557              :                 {
    5558            2 :                   {
    5559            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5560            2 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    5561            2 :                     if (res) return res;
    5562              :                   }
    5563              :                 }
    5564              :               break;
    5565              :             }
    5566              :           default:;
    5567              :           }
    5568              :         break;
    5569              :       }
    5570      9388969 :     default:;
    5571              :     }
    5572      9388969 :   switch (TREE_CODE (_p1))
    5573              :     {
    5574            7 :     case TRUNC_MOD_EXPR:
    5575            7 :       {
    5576            7 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5577            7 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5578            7 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5579              :           {
    5580            0 :             {
    5581            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    5582            0 :               tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    5583            0 :               if (res) return res;
    5584              :             }
    5585              :           }
    5586              :         break;
    5587              :       }
    5588      9388969 :     default:;
    5589              :     }
    5590      9388969 :   switch (TREE_CODE (_p0))
    5591              :     {
    5592        62770 :     case MULT_EXPR:
    5593        62770 :       {
    5594        62770 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5595        62770 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5596        62770 :         switch (TREE_CODE (_p1))
    5597              :           {
    5598         2714 :           case MULT_EXPR:
    5599         2714 :             {
    5600         2714 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5601         2714 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5602         2714 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5603              :                 {
    5604         1901 :                   {
    5605         1901 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5606         1901 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LE_EXPR);
    5607         1901 :                     if (res) return res;
    5608              :                   }
    5609              :                 }
    5610         1719 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5611              :                 {
    5612            1 :                   {
    5613            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5614            1 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LE_EXPR);
    5615            1 :                     if (res) return res;
    5616              :                   }
    5617              :                 }
    5618         1719 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5619              :                 {
    5620            4 :                   {
    5621            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5622            4 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LE_EXPR);
    5623            4 :                     if (res) return res;
    5624              :                   }
    5625              :                 }
    5626         1719 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5627              :                 {
    5628          307 :                   {
    5629          307 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5630          307 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LE_EXPR);
    5631          307 :                     if (res) return res;
    5632              :                   }
    5633              :                 }
    5634              :               break;
    5635              :             }
    5636              :           default:;
    5637              :           }
    5638              :         break;
    5639              :       }
    5640      1636198 :     case PLUS_EXPR:
    5641      1636198 :       {
    5642      1636198 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5643      1636198 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5644      1636198 :         if (integer_minus_onep (_q21))
    5645              :           {
    5646       532047 :             switch (TREE_CODE (_p1))
    5647              :               {
    5648       332807 :               case INTEGER_CST:
    5649       332807 :                 {
    5650       332807 :                   {
    5651       332807 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5652       332807 :                     tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    5653       332807 :                     if (res) return res;
    5654              :                   }
    5655       332805 :                   break;
    5656              :                 }
    5657              :               default:;
    5658              :               }
    5659              :           }
    5660      1636196 :         switch (TREE_CODE (_p1))
    5661              :           {
    5662        91345 :           case PLUS_EXPR:
    5663        91345 :             {
    5664        91345 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5665        91345 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5666        91345 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5667              :                 {
    5668         7426 :                   {
    5669         7426 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5670         7426 :                     tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, LE_EXPR);
    5671         7426 :                     if (res) return res;
    5672              :                   }
    5673              :                 }
    5674        87141 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5675              :                 {
    5676           13 :                   {
    5677           13 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5678           13 :                     tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, LE_EXPR);
    5679           13 :                     if (res) return res;
    5680              :                   }
    5681              :                 }
    5682        87141 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5683              :                 {
    5684          207 :                   {
    5685          207 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5686          207 :                     tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, LE_EXPR);
    5687          207 :                     if (res) return res;
    5688              :                   }
    5689              :                 }
    5690        87141 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5691              :                 {
    5692         7748 :                   {
    5693         7748 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5694         7748 :                     tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, LE_EXPR);
    5695         7748 :                     if (res) return res;
    5696              :                   }
    5697              :                 }
    5698              :               break;
    5699              :             }
    5700      1631393 :           default:;
    5701              :           }
    5702      1631393 :         switch (TREE_CODE (_q21))
    5703              :           {
    5704      1504271 :           case INTEGER_CST:
    5705      1504271 :             {
    5706      1504271 :               switch (TREE_CODE (_p1))
    5707              :                 {
    5708        84485 :                 case PLUS_EXPR:
    5709        84485 :                   {
    5710        84485 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5711        84485 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5712        84485 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5713              :                       {
    5714         3164 :                         {
    5715         3164 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5716         3164 :                           tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LE_EXPR);
    5717         3164 :                           if (res) return res;
    5718              :                         }
    5719              :                       }
    5720              :                     break;
    5721              :                   }
    5722              :                 default:;
    5723              :                 }
    5724              :               break;
    5725              :             }
    5726      1631393 :           default:;
    5727              :           }
    5728      1631393 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5729              :           {
    5730        69511 :             {
    5731        69511 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5732        69511 :               tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LE_EXPR);
    5733        69511 :               if (res) return res;
    5734              :             }
    5735              :           }
    5736      1592718 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5737              :           {
    5738         3128 :             {
    5739         3128 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5740         3128 :               tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LE_EXPR);
    5741         3128 :               if (res) return res;
    5742              :             }
    5743              :           }
    5744              :         break;
    5745              :       }
    5746      1675584 :     CASE_CONVERT:
    5747      1675584 :       {
    5748      1675584 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5749      1675584 :         switch (TREE_CODE (_q20))
    5750              :           {
    5751            0 :           case EXACT_DIV_EXPR:
    5752            0 :             {
    5753            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5754            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5755            0 :               switch (TREE_CODE (_q31))
    5756              :                 {
    5757            0 :                 case INTEGER_CST:
    5758            0 :                   {
    5759            0 :                     switch (TREE_CODE (_p1))
    5760              :                       {
    5761            0 :                       CASE_CONVERT:
    5762            0 :                         {
    5763            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5764            0 :                           switch (TREE_CODE (_q60))
    5765              :                             {
    5766            0 :                             case EXACT_DIV_EXPR:
    5767            0 :                               {
    5768            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    5769            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    5770            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5771              :                                   {
    5772            0 :                                     {
    5773            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    5774            0 :                                       tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, LE_EXPR);
    5775            0 :                                       if (res) return res;
    5776              :                                     }
    5777              :                                   }
    5778              :                                 break;
    5779              :                               }
    5780              :                             default:;
    5781              :                             }
    5782              :                           break;
    5783              :                         }
    5784              :                       default:;
    5785              :                       }
    5786              :                     break;
    5787              :                   }
    5788              :                 default:;
    5789              :                 }
    5790              :               break;
    5791              :             }
    5792              :           default:;
    5793              :           }
    5794              :         break;
    5795              :       }
    5796          433 :     case EXACT_DIV_EXPR:
    5797          433 :       {
    5798          433 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5799          433 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5800          433 :         switch (TREE_CODE (_q21))
    5801              :           {
    5802          433 :           case INTEGER_CST:
    5803          433 :             {
    5804          433 :               switch (TREE_CODE (_p1))
    5805              :                 {
    5806            0 :                 case EXACT_DIV_EXPR:
    5807            0 :                   {
    5808            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5809            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5810            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5811              :                       {
    5812            0 :                         {
    5813            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5814            0 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, LE_EXPR);
    5815            0 :                           if (res) return res;
    5816              :                         }
    5817              :                       }
    5818              :                     break;
    5819              :                   }
    5820              :                 default:;
    5821              :                 }
    5822              :               break;
    5823              :             }
    5824              :           default:;
    5825              :           }
    5826              :         break;
    5827              :       }
    5828        10905 :     case TRUNC_DIV_EXPR:
    5829        10905 :       {
    5830        10905 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5831        10905 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5832        10905 :         switch (TREE_CODE (_q21))
    5833              :           {
    5834         2772 :           case INTEGER_CST:
    5835         2772 :             {
    5836         2772 :               switch (TREE_CODE (_p1))
    5837              :                 {
    5838         1345 :                 case INTEGER_CST:
    5839         1345 :                   {
    5840         1345 :                     {
    5841         1345 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5842         1345 :                       tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR);
    5843         1345 :                       if (res) return res;
    5844              :                     }
    5845          679 :                     break;
    5846              :                   }
    5847              :                 default:;
    5848              :                 }
    5849              :               break;
    5850              :             }
    5851              :           default:;
    5852              :           }
    5853              :         break;
    5854              :       }
    5855        65957 :     case MINUS_EXPR:
    5856        65957 :       {
    5857        65957 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5858        65957 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5859        65957 :         switch (TREE_CODE (_p1))
    5860              :           {
    5861          493 :           case MINUS_EXPR:
    5862          493 :             {
    5863          493 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5864          493 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5865          493 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5866              :                 {
    5867           54 :                   {
    5868           54 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5869           54 :                     tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, LE_EXPR);
    5870           54 :                     if (res) return res;
    5871              :                   }
    5872              :                 }
    5873          493 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5874              :                 {
    5875           26 :                   {
    5876           26 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5877           26 :                     tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LE_EXPR);
    5878           26 :                     if (res) return res;
    5879              :                   }
    5880              :                 }
    5881              :               break;
    5882              :             }
    5883              :           default:;
    5884              :           }
    5885              :         break;
    5886              :       }
    5887         5421 :     case POINTER_DIFF_EXPR:
    5888         5421 :       {
    5889         5421 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5890         5421 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5891         5421 :         switch (TREE_CODE (_p1))
    5892              :           {
    5893          259 :           case POINTER_DIFF_EXPR:
    5894          259 :             {
    5895          259 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5896          259 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5897          259 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5898              :                 {
    5899            0 :                   {
    5900            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5901            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, LE_EXPR);
    5902            0 :                     if (res) return res;
    5903              :                   }
    5904              :                 }
    5905          259 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5906              :                 {
    5907            0 :                   {
    5908            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5909            0 :                     tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, LE_EXPR);
    5910            0 :                     if (res) return res;
    5911              :                   }
    5912              :                 }
    5913              :               break;
    5914              :             }
    5915              :           default:;
    5916              :           }
    5917              :         break;
    5918              :       }
    5919      9343519 :     default:;
    5920              :     }
    5921      9343519 :   switch (TREE_CODE (_p1))
    5922              :     {
    5923       123332 :     case PLUS_EXPR:
    5924       123332 :       {
    5925       123332 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5926       123332 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5927       123332 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5928              :           {
    5929            0 :             {
    5930            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5931            0 :               tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    5932            0 :               if (res) return res;
    5933              :             }
    5934              :           }
    5935       123332 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5936              :           {
    5937           57 :             {
    5938           57 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    5939           57 :               tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    5940           57 :               if (res) return res;
    5941              :             }
    5942              :           }
    5943              :         break;
    5944              :       }
    5945         1199 :     case MINUS_EXPR:
    5946         1199 :       {
    5947         1199 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5948         1199 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5949         1199 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5950              :           {
    5951            0 :             {
    5952            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5953            0 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, LE_EXPR);
    5954            0 :               if (res) return res;
    5955              :             }
    5956              :           }
    5957              :         break;
    5958              :       }
    5959      9343492 :     default:;
    5960              :     }
    5961      9343492 :   switch (TREE_CODE (_p0))
    5962              :     {
    5963        65957 :     case MINUS_EXPR:
    5964        65957 :       {
    5965        65957 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5966        65957 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5967        65957 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5968              :           {
    5969         2509 :             {
    5970         2509 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5971         2509 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, GE_EXPR);
    5972         2509 :               if (res) return res;
    5973              :             }
    5974              :           }
    5975              :         break;
    5976              :       }
    5977         5418 :     case BIT_AND_EXPR:
    5978         5418 :       {
    5979         5418 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5980         5418 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5981         5418 :         if (tree_expr_nonnegative_p (_q20))
    5982              :           {
    5983         4509 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5984              :               {
    5985            0 :                 {
    5986            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5987            0 :                   tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    5988            0 :                   if (res) return res;
    5989              :                 }
    5990              :               }
    5991              :           }
    5992         5418 :         if (tree_expr_nonnegative_p (_q21))
    5993              :           {
    5994         5025 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5995              :               {
    5996            0 :                 {
    5997            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5998            0 :                   tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    5999            0 :                   if (res) return res;
    6000              :                 }
    6001              :               }
    6002              :           }
    6003              :         break;
    6004              :       }
    6005      9343492 :     default:;
    6006              :     }
    6007      9343492 :   switch (TREE_CODE (_p1))
    6008              :     {
    6009           46 :     case BIT_IOR_EXPR:
    6010           46 :       {
    6011           46 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6012           46 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6013           46 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6014              :           {
    6015            0 :             if (tree_expr_nonnegative_p (_q30))
    6016              :               {
    6017            0 :                 {
    6018            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6019            0 :                   tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    6020            0 :                   if (res) return res;
    6021              :                 }
    6022              :               }
    6023              :           }
    6024           46 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6025              :           {
    6026            0 :             if (tree_expr_nonnegative_p (_q31))
    6027              :               {
    6028            0 :                 {
    6029            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6030            0 :                   tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    6031            0 :                   if (res) return res;
    6032              :                 }
    6033              :               }
    6034              :           }
    6035              :         break;
    6036              :       }
    6037      9343492 :     default:;
    6038              :     }
    6039      9343492 :   switch (TREE_CODE (_p0))
    6040              :     {
    6041        10373 :     case MIN_EXPR:
    6042        10373 :       {
    6043        10373 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6044        10373 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6045        10373 :         switch (TREE_CODE (_p1))
    6046              :           {
    6047            8 :           case MAX_EXPR:
    6048            8 :             {
    6049            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6050            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6051            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6052              :                 {
    6053            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6054              :                     {
    6055            0 :                       {
    6056            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6057            0 :                         tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, LE_EXPR);
    6058            0 :                         if (res) return res;
    6059              :                       }
    6060              :                     }
    6061              :                 }
    6062              :               break;
    6063              :             }
    6064              :           default:;
    6065              :           }
    6066              :         break;
    6067              :       }
    6068         4394 :     case MAX_EXPR:
    6069         4394 :       {
    6070         4394 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6071         4394 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6072         4394 :         switch (TREE_CODE (_p1))
    6073              :           {
    6074            4 :           case MIN_EXPR:
    6075            4 :             {
    6076            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6077            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6078            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6079              :                 {
    6080            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6081              :                     {
    6082            0 :                       {
    6083            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6084            0 :                         tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    6085            0 :                         if (res) return res;
    6086              :                       }
    6087              :                     }
    6088              :                 }
    6089              :               break;
    6090              :             }
    6091         4394 :           default:;
    6092              :           }
    6093         4394 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6094              :           {
    6095            0 :             {
    6096            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6097            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    6098            0 :               if (res) return res;
    6099              :             }
    6100              :           }
    6101         4394 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6102              :           {
    6103            1 :             {
    6104            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6105            1 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    6106            1 :               if (res) return res;
    6107              :             }
    6108              :           }
    6109              :         break;
    6110              :       }
    6111      9343491 :     default:;
    6112              :     }
    6113      9343491 :   switch (TREE_CODE (_p1))
    6114              :     {
    6115          307 :     case MIN_EXPR:
    6116          307 :       {
    6117          307 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6118          307 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6119          307 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6120              :           {
    6121            0 :             {
    6122            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6123            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    6124            0 :               if (res) return res;
    6125              :             }
    6126              :           }
    6127          307 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6128              :           {
    6129            0 :             {
    6130            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6131            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    6132            0 :               if (res) return res;
    6133              :             }
    6134              :           }
    6135              :         break;
    6136              :       }
    6137           18 :     case MAX_EXPR:
    6138           18 :       {
    6139           18 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6140           18 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6141           18 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6142              :           {
    6143            0 :             {
    6144            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6145            0 :               tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    6146            0 :               if (res) return res;
    6147              :             }
    6148              :           }
    6149           18 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6150              :           {
    6151            0 :             {
    6152            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6153            0 :               tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    6154            0 :               if (res) return res;
    6155              :             }
    6156              :           }
    6157              :         break;
    6158              :       }
    6159      9343491 :     default:;
    6160              :     }
    6161      9343491 :   switch (TREE_CODE (_p0))
    6162              :     {
    6163        10373 :     case MIN_EXPR:
    6164        10373 :       {
    6165        10373 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6166        10373 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6167        10373 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6168              :           {
    6169            0 :             {
    6170            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6171            0 :               tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    6172            0 :               if (res) return res;
    6173              :             }
    6174              :           }
    6175        10373 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6176              :           {
    6177            0 :             {
    6178            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6179            0 :               tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    6180            0 :               if (res) return res;
    6181              :             }
    6182              :           }
    6183        10373 :         switch (TREE_CODE (_q21))
    6184              :           {
    6185          939 :           case INTEGER_CST:
    6186          939 :             {
    6187          939 :               switch (TREE_CODE (_p1))
    6188              :                 {
    6189            0 :                 case INTEGER_CST:
    6190            0 :                   {
    6191            0 :                     {
    6192            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6193            0 :                       tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, MIN_EXPR, LE_EXPR, BIT_IOR_EXPR);
    6194            0 :                       if (res) return res;
    6195              :                     }
    6196            0 :                     break;
    6197              :                   }
    6198              :                 default:;
    6199              :                 }
    6200              :               break;
    6201              :             }
    6202              :           default:;
    6203              :           }
    6204              :         break;
    6205              :       }
    6206         4393 :     case MAX_EXPR:
    6207         4393 :       {
    6208         4393 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6209         4393 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6210         4393 :         switch (TREE_CODE (_q21))
    6211              :           {
    6212         4153 :           case INTEGER_CST:
    6213         4153 :             {
    6214         4153 :               switch (TREE_CODE (_p1))
    6215              :                 {
    6216            0 :                 case INTEGER_CST:
    6217            0 :                   {
    6218            0 :                     {
    6219            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6220            0 :                       tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, BIT_AND_EXPR);
    6221            0 :                       if (res) return res;
    6222              :                     }
    6223            0 :                     break;
    6224              :                   }
    6225              :                 default:;
    6226              :                 }
    6227              :               break;
    6228              :             }
    6229              :           default:;
    6230              :           }
    6231              :         break;
    6232              :       }
    6233            9 :     case VEC_COND_EXPR:
    6234            9 :       {
    6235            9 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6236            9 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6237            9 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6238            9 :         switch (TREE_CODE (_p1))
    6239              :           {
    6240            2 :           case VEC_COND_EXPR:
    6241            2 :             {
    6242            2 :               tree _q60 = TREE_OPERAND (_p1, 0);
    6243            2 :               tree _q61 = TREE_OPERAND (_p1, 1);
    6244            2 :               tree _q62 = TREE_OPERAND (_p1, 2);
    6245            2 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6246              :                 {
    6247            0 :                   {
    6248            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    6249            0 :                     if (VECTOR_TYPE_P (type)
    6250            0 :  && (TREE_CODE_CLASS (LE_EXPR) != tcc_comparison
    6251            0 :  || types_match (type, TREE_TYPE (captures[2]))
    6252            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    6253              :  || (optimize_vectors_before_lowering_p ()
    6254            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    6255              : )
    6256              :                       {
    6257            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1647;
    6258            0 :                         {
    6259            0 :                           tree res_op0;
    6260            0 :                           res_op0 = captures[1];
    6261            0 :                           tree res_op1;
    6262            0 :                           {
    6263            0 :                             tree _o1[2], _r1;
    6264            0 :                             _o1[0] = captures[2];
    6265            0 :                             _o1[1] = captures[5];
    6266            0 :                             _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    6267            0 :                             if (EXPR_P (_r1))
    6268            0 :                               goto next_after_fail1647;
    6269            0 :                             res_op1 = _r1;
    6270              :                           }
    6271            0 :                           tree res_op2;
    6272            0 :                           {
    6273            0 :                             tree _o1[2], _r1;
    6274            0 :                             _o1[0] = captures[3];
    6275            0 :                             _o1[1] = captures[6];
    6276            0 :                             _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    6277            0 :                             if (EXPR_P (_r1))
    6278            0 :                               goto next_after_fail1647;
    6279            0 :                             res_op2 = _r1;
    6280              :                           }
    6281            0 :                           tree _r;
    6282            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6283            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    6284            0 :                           return _r;
    6285              :                         }
    6286            0 : next_after_fail1647:;
    6287              :                       }
    6288              :                   }
    6289              :                 }
    6290              :               break;
    6291              :             }
    6292            9 :           default:;
    6293              :           }
    6294            9 :         {
    6295            9 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    6296            9 :           if (VECTOR_TYPE_P (type)
    6297            9 :  && (TREE_CODE_CLASS (LE_EXPR) != tcc_comparison
    6298            9 :  || types_match (type, TREE_TYPE (captures[2]))
    6299            9 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    6300              :  || (optimize_vectors_before_lowering_p ()
    6301            1 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    6302              : )
    6303              :             {
    6304            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1648;
    6305            9 :               {
    6306            9 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1648;
    6307            7 :                 tree res_op0;
    6308            7 :                 res_op0 = captures[1];
    6309            7 :                 tree res_op1;
    6310            7 :                 {
    6311            7 :                   tree _o1[2], _r1;
    6312            7 :                   _o1[0] = captures[2];
    6313            7 :                   _o1[1] = unshare_expr (captures[4]);
    6314            7 :                   _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    6315            7 :                   if (EXPR_P (_r1))
    6316            0 :                     goto next_after_fail1648;
    6317            7 :                   res_op1 = _r1;
    6318              :                 }
    6319            7 :                 tree res_op2;
    6320            7 :                 {
    6321            7 :                   tree _o1[2], _r1;
    6322            7 :                   _o1[0] = captures[3];
    6323            7 :                   _o1[1] = captures[4];
    6324            7 :                   _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    6325            7 :                   if (EXPR_P (_r1))
    6326            0 :                     goto next_after_fail1648;
    6327            7 :                   res_op2 = _r1;
    6328              :                 }
    6329            7 :                 tree _r;
    6330            7 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6331            7 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    6332            7 :                 return _r;
    6333              :               }
    6334            2 : next_after_fail1648:;
    6335              :             }
    6336              :         }
    6337            2 :         break;
    6338              :       }
    6339      9343484 :     default:;
    6340              :     }
    6341      9343484 :   switch (TREE_CODE (_p1))
    6342              :     {
    6343            2 :     case VEC_COND_EXPR:
    6344            2 :       {
    6345            2 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6346            2 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6347            2 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6348            2 :         {
    6349            2 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    6350            2 :           if (VECTOR_TYPE_P (type)
    6351            2 :  && (TREE_CODE_CLASS (LE_EXPR) != tcc_comparison
    6352            2 :  || types_match (type, TREE_TYPE (captures[3]))
    6353            2 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    6354              :  || (optimize_vectors_before_lowering_p ()
    6355            1 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    6356              : )
    6357              :             {
    6358            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1649;
    6359            2 :               {
    6360            2 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1649;
    6361            0 :                 tree res_op0;
    6362            0 :                 res_op0 = captures[2];
    6363            0 :                 tree res_op1;
    6364            0 :                 {
    6365            0 :                   tree _o1[2], _r1;
    6366            0 :                   _o1[0] = unshare_expr (captures[0]);
    6367            0 :                   _o1[1] = captures[3];
    6368            0 :                   _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    6369            0 :                   if (EXPR_P (_r1))
    6370            0 :                     goto next_after_fail1649;
    6371            0 :                   res_op1 = _r1;
    6372              :                 }
    6373            0 :                 tree res_op2;
    6374            0 :                 {
    6375            0 :                   tree _o1[2], _r1;
    6376            0 :                   _o1[0] = captures[0];
    6377            0 :                   _o1[1] = captures[4];
    6378            0 :                   _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    6379            0 :                   if (EXPR_P (_r1))
    6380            0 :                     goto next_after_fail1649;
    6381            0 :                   res_op2 = _r1;
    6382              :                 }
    6383            0 :                 tree _r;
    6384            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6385            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    6386            0 :                 return _r;
    6387              :               }
    6388            2 : next_after_fail1649:;
    6389              :             }
    6390              :         }
    6391            2 :         break;
    6392              :       }
    6393      9343484 :     default:;
    6394              :     }
    6395      9343484 : if (uniform_integer_cst_p (_p1))
    6396              :   {
    6397      6824456 :     {
    6398      6824456 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6399      6824456 :       tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
    6400      6824456 :       if (res) return res;
    6401              :     }
    6402              :   }
    6403      9246186 :   switch (TREE_CODE (_p0))
    6404              :     {
    6405        61354 :     case MULT_EXPR:
    6406        61354 :       {
    6407        61354 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6408        61354 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6409        61354 :         switch (TREE_CODE (_q21))
    6410              :           {
    6411        53244 :           case INTEGER_CST:
    6412        53244 :             {
    6413        53244 :               if (integer_zerop (_p1))
    6414              :                 {
    6415          808 :                   {
    6416          808 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6417          808 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    6418          808 :                     if (res) return res;
    6419              :                   }
    6420              :                 }
    6421              :               break;
    6422              :             }
    6423              :           default:;
    6424              :           }
    6425              :         break;
    6426              :       }
    6427      9245545 :     default:;
    6428              :     }
    6429      9245545 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6430              :     {
    6431         5282 :       {
    6432         5282 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6433         5282 :         tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, LE_EXPR);
    6434         5282 :         if (res) return res;
    6435              :       }
    6436              :     }
    6437      9240305 :   switch (TREE_CODE (_p0))
    6438              :     {
    6439         2716 :     case BIT_NOT_EXPR:
    6440         2716 :       {
    6441         2716 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6442         2716 :         switch (TREE_CODE (_p1))
    6443              :           {
    6444            0 :           case BIT_NOT_EXPR:
    6445            0 :             {
    6446            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6447            0 :               {
    6448            0 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    6449            0 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, LE_EXPR);
    6450            0 :                 if (res) return res;
    6451              :               }
    6452            0 :               break;
    6453              :             }
    6454         2716 :           default:;
    6455              :           }
    6456         2716 :       {
    6457         2716 :         tree _p1_pops[1];
    6458         2716 :         if (tree_nop_convert (_p1, _p1_pops))
    6459              :           {
    6460            0 :             tree _q40 = _p1_pops[0];
    6461            0 :             switch (TREE_CODE (_q40))
    6462              :               {
    6463            0 :               case BIT_NOT_EXPR:
    6464            0 :                 {
    6465            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6466            0 :                   {
    6467            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    6468            0 :                     tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, LE_EXPR);
    6469            0 :                     if (res) return res;
    6470              :                   }
    6471            0 :                   break;
    6472              :                 }
    6473              :               default:;
    6474              :               }
    6475              :           }
    6476              :       }
    6477         2716 :       if (CONSTANT_CLASS_P (_p1))
    6478              :         {
    6479         2424 :           {
    6480         2424 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6481         2424 :             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    6482         2424 :             if (res) return res;
    6483              :           }
    6484              :         }
    6485              :         break;
    6486              :       }
    6487      9237881 :     default:;
    6488              :     }
    6489      9237881 : {
    6490      9237881 :   tree _p0_pops[1];
    6491      9237881 :   if (tree_nop_convert (_p0, _p0_pops))
    6492              :     {
    6493       847717 :       tree _q20 = _p0_pops[0];
    6494       847717 :       switch (TREE_CODE (_q20))
    6495              :         {
    6496            0 :         case BIT_NOT_EXPR:
    6497            0 :           {
    6498            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6499            0 :             switch (TREE_CODE (_p1))
    6500              :               {
    6501            0 :               case BIT_NOT_EXPR:
    6502            0 :                 {
    6503            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    6504            0 :                   {
    6505            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    6506            0 :                     tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, LE_EXPR);
    6507            0 :                     if (res) return res;
    6508              :                   }
    6509            0 :                   break;
    6510              :                 }
    6511            0 :               default:;
    6512              :               }
    6513            0 :           {
    6514            0 :             tree _p1_pops[1];
    6515            0 :             if (tree_nop_convert (_p1, _p1_pops))
    6516              :               {
    6517            0 :                 tree _q50 = _p1_pops[0];
    6518            0 :                 switch (TREE_CODE (_q50))
    6519              :                   {
    6520            0 :                   case BIT_NOT_EXPR:
    6521            0 :                     {
    6522            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6523            0 :                       {
    6524            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    6525            0 :                         tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, LE_EXPR);
    6526            0 :                         if (res) return res;
    6527              :                       }
    6528            0 :                       break;
    6529              :                     }
    6530              :                   default:;
    6531              :                   }
    6532              :               }
    6533              :           }
    6534            0 :           if (CONSTANT_CLASS_P (_p1))
    6535              :             {
    6536            0 :               {
    6537            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    6538            0 :                 tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    6539            0 :                 if (res) return res;
    6540              :               }
    6541              :             }
    6542              :             break;
    6543              :           }
    6544              :         default:;
    6545              :         }
    6546              :     }
    6547              : }
    6548      9237881 :   switch (TREE_CODE (_p1))
    6549              :     {
    6550       196537 :     case REAL_CST:
    6551       196537 :       {
    6552       196537 :         {
    6553       196537 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6554       196537 :           tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, LE_EXPR);
    6555       196537 :           if (res) return res;
    6556              :         }
    6557       196460 :         break;
    6558              :       }
    6559      9237804 :     default:;
    6560              :     }
    6561      9237804 :   switch (TREE_CODE (_p0))
    6562              :     {
    6563      1591111 :     case PLUS_EXPR:
    6564      1591111 :       {
    6565      1591111 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6566      1591111 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6567      1591111 :         switch (TREE_CODE (_q21))
    6568              :           {
    6569           86 :           case REAL_CST:
    6570           86 :             {
    6571           86 :               switch (TREE_CODE (_p1))
    6572              :                 {
    6573           81 :                 case REAL_CST:
    6574           81 :                   {
    6575           81 :                     {
    6576           81 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6577           81 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR);
    6578           81 :                       if (res) return res;
    6579              :                     }
    6580           81 :                     break;
    6581              :                   }
    6582              :                 default:;
    6583              :                 }
    6584              :               break;
    6585              :             }
    6586      1484597 :           case INTEGER_CST:
    6587      1484597 :             {
    6588      1484597 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6589              :                 {
    6590         1974 :                   {
    6591         1974 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    6592         1974 :                     tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    6593         1974 :                     if (res) return res;
    6594              :                   }
    6595              :                 }
    6596              :               break;
    6597              :             }
    6598              :           default:;
    6599              :           }
    6600              :         break;
    6601              :       }
    6602        60305 :     case MINUS_EXPR:
    6603        60305 :       {
    6604        60305 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6605        60305 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6606        60305 :         switch (TREE_CODE (_q21))
    6607              :           {
    6608         1225 :           case REAL_CST:
    6609         1225 :             {
    6610         1225 :               switch (TREE_CODE (_p1))
    6611              :                 {
    6612         1202 :                 case REAL_CST:
    6613         1202 :                   {
    6614         1202 :                     {
    6615         1202 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6616         1202 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, MINUS_EXPR, LE_EXPR);
    6617         1202 :                       if (res) return res;
    6618              :                     }
    6619         1202 :                     break;
    6620              :                   }
    6621              :                 default:;
    6622              :                 }
    6623              :               break;
    6624              :             }
    6625        60305 :           default:;
    6626              :           }
    6627        60305 :         switch (TREE_CODE (_q20))
    6628              :           {
    6629            2 :           case REAL_CST:
    6630            2 :             {
    6631            2 :               switch (TREE_CODE (_p1))
    6632              :                 {
    6633            0 :                 case REAL_CST:
    6634            0 :                   {
    6635            0 :                     {
    6636            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6637            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, LE_EXPR);
    6638            0 :                       if (res) return res;
    6639              :                     }
    6640            0 :                     break;
    6641              :                   }
    6642              :                 default:;
    6643              :                 }
    6644              :               break;
    6645              :             }
    6646              :           default:;
    6647              :           }
    6648              :         break;
    6649              :       }
    6650        12216 :     case FLOAT_EXPR:
    6651        12216 :       {
    6652        12216 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6653        12216 :         switch (TREE_CODE (_p1))
    6654              :           {
    6655            1 :           case FLOAT_EXPR:
    6656            1 :             {
    6657            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6658            1 :               {
    6659            1 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    6660            1 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
    6661            1 :                 if (res) return res;
    6662              :               }
    6663            1 :               break;
    6664              :             }
    6665          274 :           case REAL_CST:
    6666          274 :             {
    6667          274 :               {
    6668          274 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6669          274 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
    6670          274 :                 if (res) return res;
    6671              :               }
    6672          174 :               break;
    6673              :             }
    6674              :           default:;
    6675              :           }
    6676              :         break;
    6677              :       }
    6678          433 :     case EXACT_DIV_EXPR:
    6679          433 :       {
    6680          433 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6681          433 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6682          433 :         switch (TREE_CODE (_q21))
    6683              :           {
    6684          433 :           case INTEGER_CST:
    6685          433 :             {
    6686          433 :               switch (TREE_CODE (_p1))
    6687              :                 {
    6688          356 :                 case INTEGER_CST:
    6689          356 :                   {
    6690          356 :                     {
    6691          356 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6692          356 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, LE_EXPR);
    6693          356 :                       if (res) return res;
    6694              :                     }
    6695            0 :                     break;
    6696              :                   }
    6697              :                 default:;
    6698              :                 }
    6699              :               break;
    6700              :             }
    6701              :           default:;
    6702              :           }
    6703              :         break;
    6704              :       }
    6705      1672209 :     CASE_CONVERT:
    6706      1672209 :       {
    6707      1672209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6708      1672209 :         switch (TREE_CODE (_q20))
    6709              :           {
    6710            0 :           case EXACT_DIV_EXPR:
    6711            0 :             {
    6712            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6713            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6714            0 :               switch (TREE_CODE (_q31))
    6715              :                 {
    6716            0 :                 case INTEGER_CST:
    6717            0 :                   {
    6718            0 :                     switch (TREE_CODE (_p1))
    6719              :                       {
    6720            0 :                       case INTEGER_CST:
    6721            0 :                         {
    6722            0 :                           {
    6723            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6724            0 :                             tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    6725            0 :                             if (res) return res;
    6726              :                           }
    6727            0 :                           break;
    6728              :                         }
    6729              :                       default:;
    6730              :                       }
    6731              :                     break;
    6732              :                   }
    6733              :                 default:;
    6734              :                 }
    6735              :               break;
    6736              :             }
    6737      1672209 :           default:;
    6738              :           }
    6739      1672209 :         switch (TREE_CODE (_p1))
    6740              :           {
    6741        80502 :           CASE_CONVERT:
    6742        80502 :             {
    6743        80502 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6744        80502 :               {
    6745        80502 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    6746        80502 :                 tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, LE_EXPR);
    6747        80502 :                 if (res) return res;
    6748              :               }
    6749        29934 :               break;
    6750              :             }
    6751      1621641 :           default:;
    6752              :           }
    6753      1621641 :         {
    6754      1621641 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    6755      1621641 :           tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, LE_EXPR);
    6756      1621641 :           if (res) return res;
    6757              :         }
    6758       954795 :         switch (TREE_CODE (_q20))
    6759              :           {
    6760        10313 :           case ADDR_EXPR:
    6761        10313 :             {
    6762        10313 :               switch (TREE_CODE (_p1))
    6763              :                 {
    6764         6188 :                 CASE_CONVERT:
    6765         6188 :                   {
    6766         6188 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    6767         6188 :                     switch (TREE_CODE (_q40))
    6768              :                       {
    6769         6188 :                       case ADDR_EXPR:
    6770         6188 :                         {
    6771         6188 :                           {
    6772         6188 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    6773         6188 :                             tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, LE_EXPR);
    6774         6188 :                             if (res) return res;
    6775              :                           }
    6776          160 :                           break;
    6777              :                         }
    6778              :                       default:;
    6779              :                       }
    6780              :                     break;
    6781              :                   }
    6782            7 :                 case ADDR_EXPR:
    6783            7 :                   {
    6784            7 :                     {
    6785            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6786            7 :                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, LE_EXPR);
    6787            7 :                       if (res) return res;
    6788              :                     }
    6789            0 :                     break;
    6790              :                   }
    6791              :                 default:;
    6792              :                 }
    6793              :               break;
    6794              :             }
    6795       948760 :           default:;
    6796              :           }
    6797       948760 :         if (uniform_integer_cst_p (_p1))
    6798              :           {
    6799       500746 :             {
    6800       500746 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6801       500746 :               tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, LE_EXPR);
    6802       500746 :               if (res) return res;
    6803              :             }
    6804              :           }
    6805              :         break;
    6806              :       }
    6807         5418 :     case BIT_AND_EXPR:
    6808         5418 :       {
    6809         5418 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6810         5418 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6811         5418 :         switch (TREE_CODE (_q21))
    6812              :           {
    6813         4942 :           case INTEGER_CST:
    6814         4942 :             {
    6815         4942 :               switch (TREE_CODE (_p1))
    6816              :                 {
    6817         2792 :                 case INTEGER_CST:
    6818         2792 :                   {
    6819         2792 :                     {
    6820         2792 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6821         2792 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
    6822         2792 :                       if (res) return res;
    6823              :                     }
    6824         2745 :                     break;
    6825              :                   }
    6826              :                 default:;
    6827              :                 }
    6828              :               break;
    6829              :             }
    6830              :           default:;
    6831              :           }
    6832              :         break;
    6833              :       }
    6834         5568 :     case NEGATE_EXPR:
    6835         5568 :       {
    6836         5568 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6837         5568 :         switch (TREE_CODE (_p1))
    6838              :           {
    6839           32 :           case NEGATE_EXPR:
    6840           32 :             {
    6841           32 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6842           32 :               {
    6843           32 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6844           32 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    6845           32 :                 if (res) return res;
    6846              :               }
    6847           32 :               break;
    6848              :             }
    6849         5568 :           default:;
    6850              :           }
    6851         5568 :       if (CONSTANT_CLASS_P (_p1))
    6852              :         {
    6853          457 :           {
    6854          457 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6855          457 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    6856          457 :             if (res) return res;
    6857              :           }
    6858              :         }
    6859              :         break;
    6860              :       }
    6861         1506 :     case ADDR_EXPR:
    6862         1506 :       {
    6863         1506 :         switch (TREE_CODE (_p1))
    6864              :           {
    6865           19 :           CASE_CONVERT:
    6866           19 :             {
    6867           19 :               tree _q30 = TREE_OPERAND (_p1, 0);
    6868           19 :               switch (TREE_CODE (_q30))
    6869              :                 {
    6870           19 :                 case ADDR_EXPR:
    6871           19 :                   {
    6872           19 :                     {
    6873           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    6874           19 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, LE_EXPR);
    6875           19 :                       if (res) return res;
    6876              :                     }
    6877            0 :                     break;
    6878              :                   }
    6879              :                 default:;
    6880              :                 }
    6881              :               break;
    6882              :             }
    6883          674 :           case ADDR_EXPR:
    6884          674 :             {
    6885          674 :               {
    6886          674 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    6887          674 :                 tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, LE_EXPR);
    6888          674 :                 if (res) return res;
    6889              :               }
    6890          302 :               break;
    6891              :             }
    6892              :           default:;
    6893              :           }
    6894              :         break;
    6895              :       }
    6896       134016 :     case CALL_EXPR:
    6897       134016 :       switch (get_call_combined_fn (_p0))
    6898              :         {
    6899            2 :         case CFN_BUILT_IN_SQRTF:
    6900            2 :           if (call_expr_nargs (_p0) == 1)
    6901              :     {
    6902            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6903            2 :               switch (TREE_CODE (_p1))
    6904              :                 {
    6905            2 :                 case REAL_CST:
    6906            2 :                   {
    6907            2 :                     {
    6908            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6909            2 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LE_EXPR);
    6910            2 :                       if (res) return res;
    6911              :                     }
    6912            0 :                     break;
    6913              :                   }
    6914            0 :                 case CALL_EXPR:
    6915            0 :                   switch (get_call_combined_fn (_p1))
    6916              :                     {
    6917            0 :                     case CFN_BUILT_IN_SQRTF:
    6918            0 :                       if (call_expr_nargs (_p1) == 1)
    6919              :     {
    6920            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6921            0 :                           {
    6922            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6923            0 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LE_EXPR);
    6924            0 :                             if (res) return res;
    6925              :                           }
    6926              :                         }
    6927              :                       break;
    6928              :                     default:;
    6929              :                     }
    6930              :                   break;
    6931              :                 default:;
    6932              :                 }
    6933              :             }
    6934              :           break;
    6935            0 :         case CFN_BUILT_IN_SQRTL:
    6936            0 :           if (call_expr_nargs (_p0) == 1)
    6937              :     {
    6938            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6939            0 :               switch (TREE_CODE (_p1))
    6940              :                 {
    6941            0 :                 case REAL_CST:
    6942            0 :                   {
    6943            0 :                     {
    6944            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6945            0 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LE_EXPR);
    6946            0 :                       if (res) return res;
    6947              :                     }
    6948            0 :                     break;
    6949              :                   }
    6950            0 :                 case CALL_EXPR:
    6951            0 :                   switch (get_call_combined_fn (_p1))
    6952              :                     {
    6953            0 :                     case CFN_BUILT_IN_SQRTL:
    6954            0 :                       if (call_expr_nargs (_p1) == 1)
    6955              :     {
    6956            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6957            0 :                           {
    6958            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6959            0 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LE_EXPR);
    6960            0 :                             if (res) return res;
    6961              :                           }
    6962              :                         }
    6963              :                       break;
    6964              :                     default:;
    6965              :                     }
    6966              :                   break;
    6967              :                 default:;
    6968              :                 }
    6969              :             }
    6970              :           break;
    6971            2 :         case CFN_BUILT_IN_SQRT:
    6972            2 :           if (call_expr_nargs (_p0) == 1)
    6973              :     {
    6974            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6975            2 :               switch (TREE_CODE (_p1))
    6976              :                 {
    6977            2 :                 case REAL_CST:
    6978            2 :                   {
    6979            2 :                     {
    6980            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6981            2 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LE_EXPR);
    6982            2 :                       if (res) return res;
    6983              :                     }
    6984            2 :                     break;
    6985              :                   }
    6986            0 :                 case CALL_EXPR:
    6987            0 :                   switch (get_call_combined_fn (_p1))
    6988              :                     {
    6989            0 :                     case CFN_BUILT_IN_SQRT:
    6990            0 :                       if (call_expr_nargs (_p1) == 1)
    6991              :     {
    6992            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6993            0 :                           {
    6994            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6995            0 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LE_EXPR);
    6996            0 :                             if (res) return res;
    6997              :                           }
    6998              :                         }
    6999              :                       break;
    7000              :                     default:;
    7001              :                     }
    7002              :                   break;
    7003              :                 default:;
    7004              :                 }
    7005              :             }
    7006              :           break;
    7007            0 :         case CFN_SQRT:
    7008            0 :           if (call_expr_nargs (_p0) == 1)
    7009              :     {
    7010            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7011            0 :               switch (TREE_CODE (_p1))
    7012              :                 {
    7013            0 :                 case REAL_CST:
    7014            0 :                   {
    7015            0 :                     {
    7016            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7017            0 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_SQRT, LE_EXPR);
    7018            0 :                       if (res) return res;
    7019              :                     }
    7020            0 :                     break;
    7021              :                   }
    7022            0 :                 case CALL_EXPR:
    7023            0 :                   switch (get_call_combined_fn (_p1))
    7024              :                     {
    7025            0 :                     case CFN_SQRT:
    7026            0 :                       if (call_expr_nargs (_p1) == 1)
    7027              :     {
    7028            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7029            0 :                           {
    7030            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7031            0 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_SQRT, LE_EXPR);
    7032            0 :                             if (res) return res;
    7033              :                           }
    7034              :                         }
    7035              :                       break;
    7036              :                     default:;
    7037              :                     }
    7038              :                   break;
    7039              :                 default:;
    7040              :                 }
    7041              :             }
    7042              :           break;
    7043              :         default:;
    7044              :         }
    7045              :       break;
    7046      8489142 :     default:;
    7047              :     }
    7048      8489142 :   if (uniform_integer_cst_p (_p1))
    7049              :     {
    7050      6034607 :       {
    7051      6034607 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    7052      6034607 :         tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, LE_EXPR);
    7053      6034607 :         if (res) return res;
    7054              :       }
    7055              :     }
    7056      8081782 :   switch (TREE_CODE (_p0))
    7057              :     {
    7058       911439 :     CASE_CONVERT:
    7059       911439 :       {
    7060       911439 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7061       911439 :         switch (TREE_CODE (_q20))
    7062              :           {
    7063        94184 :           case PLUS_EXPR:
    7064        94184 :             {
    7065        94184 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7066        94184 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7067        94184 :               switch (TREE_CODE (_q30))
    7068              :                 {
    7069        79490 :                 CASE_CONVERT:
    7070        79490 :                   {
    7071        79490 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7072        79490 :                     switch (TREE_CODE (_q31))
    7073              :                       {
    7074        78917 :                       case INTEGER_CST:
    7075        78917 :                         {
    7076        78917 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7077              :                             {
    7078            4 :                               {
    7079            4 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    7080            4 :                                 tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    7081            4 :                                 if (res) return res;
    7082              :                               }
    7083              :                             }
    7084              :                           break;
    7085              :                         }
    7086              :                       default:;
    7087              :                       }
    7088              :                     break;
    7089              :                   }
    7090              :                 default:;
    7091              :                 }
    7092              :               break;
    7093              :             }
    7094              :           default:;
    7095              :           }
    7096              :         break;
    7097              :       }
    7098      8081778 :     default:;
    7099              :     }
    7100      8081778 :   switch (TREE_CODE (_p1))
    7101              :     {
    7102       198284 :     CASE_CONVERT:
    7103       198284 :       {
    7104       198284 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7105       198284 :         switch (TREE_CODE (_q30))
    7106              :           {
    7107         1766 :           case PLUS_EXPR:
    7108         1766 :             {
    7109         1766 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7110         1766 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7111         1766 :               switch (TREE_CODE (_q40))
    7112              :                 {
    7113          461 :                 CASE_CONVERT:
    7114          461 :                   {
    7115          461 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7116          461 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7117              :                       {
    7118            0 :                         switch (TREE_CODE (_q41))
    7119              :                           {
    7120            0 :                           case INTEGER_CST:
    7121            0 :                             {
    7122            0 :                               {
    7123            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    7124            0 :                                 tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    7125            0 :                                 if (res) return res;
    7126              :                               }
    7127            0 :                               break;
    7128              :                             }
    7129              :                           default:;
    7130              :                           }
    7131              :                       }
    7132              :                     break;
    7133              :                   }
    7134              :                 default:;
    7135              :                 }
    7136              :               break;
    7137              :             }
    7138              :           default:;
    7139              :           }
    7140              :         break;
    7141              :       }
    7142       122989 :     case PLUS_EXPR:
    7143       122989 :       {
    7144       122989 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7145       122989 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7146       122989 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7147              :           {
    7148           30 :             switch (TREE_CODE (_q31))
    7149              :               {
    7150           30 :               case INTEGER_CST:
    7151           30 :                 {
    7152           30 :                   {
    7153           30 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    7154           30 :                     tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    7155           30 :                     if (res) return res;
    7156              :                   }
    7157            0 :                   break;
    7158              :                 }
    7159              :               default:;
    7160              :               }
    7161              :           }
    7162              :         break;
    7163              :       }
    7164      8081748 :     default:;
    7165              :     }
    7166      8081748 :   switch (TREE_CODE (_p0))
    7167              :     {
    7168        58163 :     case MINUS_EXPR:
    7169        58163 :       {
    7170        58163 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7171        58163 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7172        58163 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7173              :           {
    7174         2509 :             {
    7175         2509 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7176         2509 :               tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LE_EXPR);
    7177         2509 :               if (res) return res;
    7178              :             }
    7179              :           }
    7180              :         break;
    7181              :       }
    7182      8081621 :     default:;
    7183              :     }
    7184      8081621 :   switch (TREE_CODE (_p1))
    7185              :     {
    7186       122959 :     case PLUS_EXPR:
    7187       122959 :       {
    7188       122959 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7189       122959 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7190       122959 :         switch (TREE_CODE (_q30))
    7191              :           {
    7192            4 :           case MINUS_EXPR:
    7193            4 :             {
    7194            4 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7195            4 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7196            4 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7197              :                 {
    7198            0 :                   if (integer_minus_onep (_q31))
    7199              :                     {
    7200            0 :                       {
    7201            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    7202            0 :                         tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, GE_EXPR);
    7203            0 :                         if (res) return res;
    7204              :                       }
    7205              :                     }
    7206              :                 }
    7207              :               break;
    7208              :             }
    7209              :           default:;
    7210              :           }
    7211              :         break;
    7212              :       }
    7213      8081621 :     default:;
    7214              :     }
    7215      8081621 :   switch (TREE_CODE (_p0))
    7216              :     {
    7217           12 :     case REALPART_EXPR:
    7218           12 :       {
    7219           12 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7220           12 :         switch (TREE_CODE (_q20))
    7221              :           {
    7222            0 :           case CALL_EXPR:
    7223            0 :             switch (get_call_combined_fn (_q20))
    7224              :               {
    7225            0 :               case CFN_SUB_OVERFLOW:
    7226            0 :                 if (call_expr_nargs (_q20) == 2)
    7227              :     {
    7228            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7229            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    7230            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7231              :                       {
    7232            0 :                         {
    7233            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7234            0 :                           tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
    7235            0 :                           if (res) return res;
    7236              :                         }
    7237              :                       }
    7238              :                   }
    7239              :                 break;
    7240              :               default:;
    7241              :               }
    7242              :             break;
    7243              :           default:;
    7244              :           }
    7245              :         break;
    7246              :       }
    7247      8081621 :     default:;
    7248              :     }
    7249      8081621 :   switch (TREE_CODE (_p1))
    7250              :     {
    7251            0 :     case REALPART_EXPR:
    7252            0 :       {
    7253            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7254            0 :         switch (TREE_CODE (_q30))
    7255              :           {
    7256            0 :           case CALL_EXPR:
    7257            0 :             switch (get_call_combined_fn (_q30))
    7258              :               {
    7259            0 :               case CFN_ADD_OVERFLOW:
    7260            0 :                 if (call_expr_nargs (_q30) == 2)
    7261              :     {
    7262            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    7263            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    7264            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7265              :                       {
    7266            0 :                         {
    7267            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    7268            0 :                           tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    7269            0 :                           if (res) return res;
    7270              :                         }
    7271              :                       }
    7272            0 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    7273              :                       {
    7274            0 :                         {
    7275            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
    7276            0 :                           tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    7277            0 :                           if (res) return res;
    7278              :                         }
    7279              :                       }
    7280              :                   }
    7281              :                 break;
    7282              :               default:;
    7283              :               }
    7284              :             break;
    7285              :           default:;
    7286              :           }
    7287              :         break;
    7288              :       }
    7289          337 :     case TRUNC_DIV_EXPR:
    7290          337 :       {
    7291          337 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7292          337 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7293          337 :         if (integer_all_onesp (_q30))
    7294              :           {
    7295            0 :             {
    7296            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    7297            0 :               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    7298            0 :               if (res) return res;
    7299              :             }
    7300              :           }
    7301              :         break;
    7302              :       }
    7303      8081621 :     default:;
    7304              :     }
    7305      8081621 :   switch (TREE_CODE (_p0))
    7306              :     {
    7307        58392 :     case MULT_EXPR:
    7308        58392 :       {
    7309        58392 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7310        58392 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7311        58392 :         switch (TREE_CODE (_q20))
    7312              :           {
    7313         4538 :           CASE_CONVERT:
    7314         4538 :             {
    7315         4538 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7316         4538 :               switch (TREE_CODE (_q21))
    7317              :                 {
    7318           25 :                 CASE_CONVERT:
    7319           25 :                   {
    7320           25 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    7321           25 :                     switch (TREE_CODE (_p1))
    7322              :                       {
    7323           25 :                       case INTEGER_CST:
    7324           25 :                         {
    7325           25 :                           {
    7326           25 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _p1 };
    7327           25 :                             tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
    7328           25 :                             if (res) return res;
    7329              :                           }
    7330            0 :                           break;
    7331              :                         }
    7332              :                       default:;
    7333              :                       }
    7334              :                     break;
    7335              :                   }
    7336              :                 default:;
    7337              :                 }
    7338              :               break;
    7339              :             }
    7340        58367 :           default:;
    7341              :           }
    7342        58367 :         switch (TREE_CODE (_q21))
    7343              :           {
    7344          821 :           case REAL_CST:
    7345          821 :             {
    7346          821 :               switch (TREE_CODE (_p1))
    7347              :                 {
    7348          553 :                 case REAL_CST:
    7349          553 :                   {
    7350          553 :                     {
    7351          553 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7352          553 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    7353          553 :                       if (res) return res;
    7354              :                     }
    7355          551 :                     break;
    7356              :                   }
    7357              :                 default:;
    7358              :                 }
    7359              :               break;
    7360              :             }
    7361              :           default:;
    7362              :           }
    7363              :         break;
    7364              :       }
    7365           22 :     case REAL_CST:
    7366           22 :       {
    7367           22 :         switch (TREE_CODE (_p1))
    7368              :           {
    7369            0 :           case CALL_EXPR:
    7370            0 :             switch (get_call_combined_fn (_p1))
    7371              :               {
    7372            0 :               case CFN_BUILT_IN_EXP:
    7373            0 :                 if (call_expr_nargs (_p1) == 1)
    7374              :     {
    7375            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7376            0 :                     {
    7377            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7378            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    7379            0 :                       if (res) return res;
    7380              :                     }
    7381              :                   }
    7382              :                 break;
    7383            0 :               case CFN_BUILT_IN_LOG:
    7384            0 :                 if (call_expr_nargs (_p1) == 1)
    7385              :     {
    7386            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7387            0 :                     {
    7388            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7389            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    7390            0 :                       if (res) return res;
    7391              :                     }
    7392              :                   }
    7393              :                 break;
    7394            0 :               case CFN_BUILT_IN_EXP10F:
    7395            0 :                 if (call_expr_nargs (_p1) == 1)
    7396              :     {
    7397            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7398            0 :                     {
    7399            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7400            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    7401            0 :                       if (res) return res;
    7402              :                     }
    7403              :                   }
    7404              :                 break;
    7405            0 :               case CFN_BUILT_IN_EXP10L:
    7406            0 :                 if (call_expr_nargs (_p1) == 1)
    7407              :     {
    7408            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7409            0 :                     {
    7410            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7411            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    7412            0 :                       if (res) return res;
    7413              :                     }
    7414              :                   }
    7415              :                 break;
    7416            0 :               case CFN_BUILT_IN_EXP2:
    7417            0 :                 if (call_expr_nargs (_p1) == 1)
    7418              :     {
    7419            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7420            0 :                     {
    7421            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7422            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    7423            0 :                       if (res) return res;
    7424              :                     }
    7425              :                   }
    7426              :                 break;
    7427            0 :               case CFN_BUILT_IN_EXPF:
    7428            0 :                 if (call_expr_nargs (_p1) == 1)
    7429              :     {
    7430            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7431            0 :                     {
    7432            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7433            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
    7434            0 :                       if (res) return res;
    7435              :                     }
    7436              :                   }
    7437              :                 break;
    7438            0 :               case CFN_BUILT_IN_EXPL:
    7439            0 :                 if (call_expr_nargs (_p1) == 1)
    7440              :     {
    7441            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7442            0 :                     {
    7443            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7444            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
    7445            0 :                       if (res) return res;
    7446              :                     }
    7447              :                   }
    7448              :                 break;
    7449            0 :               case CFN_BUILT_IN_LOG2:
    7450            0 :                 if (call_expr_nargs (_p1) == 1)
    7451              :     {
    7452            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7453            0 :                     {
    7454            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7455            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    7456            0 :                       if (res) return res;
    7457              :                     }
    7458              :                   }
    7459              :                 break;
    7460            0 :               case CFN_BUILT_IN_LOGF:
    7461            0 :                 if (call_expr_nargs (_p1) == 1)
    7462              :     {
    7463            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7464            0 :                     {
    7465            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7466            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
    7467            0 :                       if (res) return res;
    7468              :                     }
    7469              :                   }
    7470              :                 break;
    7471            0 :               case CFN_BUILT_IN_LOGL:
    7472            0 :                 if (call_expr_nargs (_p1) == 1)
    7473              :     {
    7474            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7475            0 :                     {
    7476            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7477            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
    7478            0 :                       if (res) return res;
    7479              :                     }
    7480              :                   }
    7481              :                 break;
    7482            0 :               case CFN_BUILT_IN_LOG10F:
    7483            0 :                 if (call_expr_nargs (_p1) == 1)
    7484              :     {
    7485            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7486            0 :                     {
    7487            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7488            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    7489            0 :                       if (res) return res;
    7490              :                     }
    7491              :                   }
    7492              :                 break;
    7493            0 :               case CFN_BUILT_IN_LOG10L:
    7494            0 :                 if (call_expr_nargs (_p1) == 1)
    7495              :     {
    7496            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7497            0 :                     {
    7498            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7499            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    7500            0 :                       if (res) return res;
    7501              :                     }
    7502              :                   }
    7503              :                 break;
    7504            0 :               case CFN_EXP:
    7505            0 :                 if (call_expr_nargs (_p1) == 1)
    7506              :     {
    7507            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7508            0 :                     {
    7509            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7510            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
    7511            0 :                       if (res) return res;
    7512              :                     }
    7513              :                   }
    7514              :                 break;
    7515            0 :               case CFN_LOG:
    7516            0 :                 if (call_expr_nargs (_p1) == 1)
    7517              :     {
    7518            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7519            0 :                     {
    7520            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7521            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
    7522            0 :                       if (res) return res;
    7523              :                     }
    7524              :                   }
    7525              :                 break;
    7526            0 :               case CFN_EXP2:
    7527            0 :                 if (call_expr_nargs (_p1) == 1)
    7528              :     {
    7529            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7530            0 :                     {
    7531            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7532            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
    7533            0 :                       if (res) return res;
    7534              :                     }
    7535              :                   }
    7536              :                 break;
    7537            0 :               case CFN_LOG2:
    7538            0 :                 if (call_expr_nargs (_p1) == 1)
    7539              :     {
    7540            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7541            0 :                     {
    7542            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7543            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
    7544            0 :                       if (res) return res;
    7545              :                     }
    7546              :                   }
    7547              :                 break;
    7548            0 :               case CFN_EXP10:
    7549            0 :                 if (call_expr_nargs (_p1) == 1)
    7550              :     {
    7551            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7552            0 :                     {
    7553            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7554            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
    7555            0 :                       if (res) return res;
    7556              :                     }
    7557              :                   }
    7558              :                 break;
    7559            0 :               case CFN_LOG10:
    7560            0 :                 if (call_expr_nargs (_p1) == 1)
    7561              :     {
    7562            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7563            0 :                     {
    7564            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7565            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
    7566            0 :                       if (res) return res;
    7567              :                     }
    7568              :                   }
    7569              :                 break;
    7570            0 :               case CFN_BUILT_IN_EXP10:
    7571            0 :                 if (call_expr_nargs (_p1) == 1)
    7572              :     {
    7573            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7574            0 :                     {
    7575            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7576            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
    7577            0 :                       if (res) return res;
    7578              :                     }
    7579              :                   }
    7580              :                 break;
    7581            0 :               case CFN_BUILT_IN_EXP2F:
    7582            0 :                 if (call_expr_nargs (_p1) == 1)
    7583              :     {
    7584            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7585            0 :                     {
    7586            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7587            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
    7588            0 :                       if (res) return res;
    7589              :                     }
    7590              :                   }
    7591              :                 break;
    7592            0 :               case CFN_BUILT_IN_EXP2L:
    7593            0 :                 if (call_expr_nargs (_p1) == 1)
    7594              :     {
    7595            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7596            0 :                     {
    7597            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7598            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
    7599            0 :                       if (res) return res;
    7600              :                     }
    7601              :                   }
    7602              :                 break;
    7603            0 :               case CFN_BUILT_IN_LOG10:
    7604            0 :                 if (call_expr_nargs (_p1) == 1)
    7605              :     {
    7606            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7607            0 :                     {
    7608            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7609            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
    7610            0 :                       if (res) return res;
    7611              :                     }
    7612              :                   }
    7613              :                 break;
    7614            0 :               case CFN_BUILT_IN_LOG2F:
    7615            0 :                 if (call_expr_nargs (_p1) == 1)
    7616              :     {
    7617            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7618            0 :                     {
    7619            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7620            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
    7621            0 :                       if (res) return res;
    7622              :                     }
    7623              :                   }
    7624              :                 break;
    7625            0 :               case CFN_BUILT_IN_LOG2L:
    7626            0 :                 if (call_expr_nargs (_p1) == 1)
    7627              :     {
    7628            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7629            0 :                     {
    7630            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7631            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
    7632            0 :                       if (res) return res;
    7633              :                     }
    7634              :                   }
    7635              :                 break;
    7636              :               default:;
    7637              :               }
    7638              :             break;
    7639              :           default:;
    7640              :           }
    7641              :         break;
    7642              :       }
    7643      1504088 :     case PLUS_EXPR:
    7644      1504088 :       {
    7645      1504088 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7646      1504088 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7647      1504088 :         switch (TREE_CODE (_q21))
    7648              :           {
    7649      1400072 :           case INTEGER_CST:
    7650      1400072 :             {
    7651      1400072 :               switch (TREE_CODE (_p1))
    7652              :                 {
    7653       876196 :                 case INTEGER_CST:
    7654       876196 :                   {
    7655       876196 :                     {
    7656       876196 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7657       876196 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, LE_EXPR, GE_EXPR);
    7658       876196 :                       if (res) return res;
    7659              :                     }
    7660       693030 :                     break;
    7661              :                   }
    7662              :                 default:;
    7663              :                 }
    7664              :               break;
    7665              :             }
    7666              :           default:;
    7667              :           }
    7668              :         break;
    7669              :       }
    7670        58036 :     case MINUS_EXPR:
    7671        58036 :       {
    7672        58036 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7673        58036 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7674        58036 :         switch (TREE_CODE (_q21))
    7675              :           {
    7676         2171 :           case INTEGER_CST:
    7677         2171 :             {
    7678         2171 :               switch (TREE_CODE (_p1))
    7679              :                 {
    7680         2171 :                 case INTEGER_CST:
    7681         2171 :                   {
    7682         2171 :                     {
    7683         2171 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7684         2171 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, LE_EXPR, GE_EXPR);
    7685         2171 :                       if (res) return res;
    7686              :                     }
    7687         2171 :                     break;
    7688              :                   }
    7689              :                 default:;
    7690              :                 }
    7691              :               break;
    7692              :             }
    7693        58036 :           default:;
    7694              :           }
    7695        58036 :         switch (TREE_CODE (_q20))
    7696              :           {
    7697         2055 :           case INTEGER_CST:
    7698         2055 :             {
    7699         2055 :               switch (TREE_CODE (_p1))
    7700              :                 {
    7701         1097 :                 case INTEGER_CST:
    7702         1097 :                   {
    7703         1097 :                     {
    7704         1097 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7705         1097 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
    7706         1097 :                       if (res) return res;
    7707              :                     }
    7708            0 :                     break;
    7709              :                   }
    7710              :                 default:;
    7711              :                 }
    7712              :               break;
    7713              :             }
    7714              :           default:;
    7715              :           }
    7716              :         break;
    7717              :       }
    7718       133208 :     case CALL_EXPR:
    7719       133208 :       switch (get_call_combined_fn (_p0))
    7720              :         {
    7721           18 :         case CFN_BUILT_IN_CTZ:
    7722           18 :           if (call_expr_nargs (_p0) == 1)
    7723              :     {
    7724           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7725           18 :               switch (TREE_CODE (_p1))
    7726              :                 {
    7727           18 :                 case INTEGER_CST:
    7728           18 :                   {
    7729           18 :                     {
    7730           18 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7731           18 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ);
    7732           18 :                       if (res) return res;
    7733              :                     }
    7734           16 :                     break;
    7735              :                   }
    7736              :                 default:;
    7737              :                 }
    7738              :             }
    7739              :           break;
    7740            0 :         case CFN_BUILT_IN_EXP:
    7741            0 :           if (call_expr_nargs (_p0) == 1)
    7742              :     {
    7743            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7744            0 :               switch (TREE_CODE (_p1))
    7745              :                 {
    7746            0 :                 case REAL_CST:
    7747            0 :                   {
    7748            0 :                     {
    7749            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7750            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    7751            0 :                       if (res) return res;
    7752              :                     }
    7753            0 :                     break;
    7754              :                   }
    7755              :                 default:;
    7756              :                 }
    7757              :             }
    7758              :           break;
    7759            8 :         case CFN_BUILT_IN_FFS:
    7760            8 :           if (call_expr_nargs (_p0) == 1)
    7761              :     {
    7762            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7763            8 :               switch (TREE_CODE (_p1))
    7764              :                 {
    7765            8 :                 case INTEGER_CST:
    7766            8 :                   {
    7767            8 :                     {
    7768            8 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7769            8 :                       tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFS);
    7770            8 :                       if (res) return res;
    7771              :                     }
    7772            2 :                     break;
    7773              :                   }
    7774              :                 default:;
    7775              :                 }
    7776              :             }
    7777              :           break;
    7778            0 :         case CFN_BUILT_IN_LOG:
    7779            0 :           if (call_expr_nargs (_p0) == 1)
    7780              :     {
    7781            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7782            0 :               switch (TREE_CODE (_p1))
    7783              :                 {
    7784            0 :                 case REAL_CST:
    7785            0 :                   {
    7786            0 :                     {
    7787            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7788            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    7789            0 :                       if (res) return res;
    7790              :                     }
    7791            0 :                     break;
    7792              :                   }
    7793              :                 default:;
    7794              :                 }
    7795              :             }
    7796              :           break;
    7797            0 :         case CFN_BUILT_IN_FFSIMAX:
    7798            0 :           if (call_expr_nargs (_p0) == 1)
    7799              :     {
    7800            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7801            0 :               switch (TREE_CODE (_p1))
    7802              :                 {
    7803            0 :                 case INTEGER_CST:
    7804            0 :                   {
    7805            0 :                     {
    7806            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7807            0 :                       tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSIMAX);
    7808            0 :                       if (res) return res;
    7809              :                     }
    7810            0 :                     break;
    7811              :                   }
    7812              :                 default:;
    7813              :                 }
    7814              :             }
    7815              :           break;
    7816            0 :         case CFN_BUILT_IN_EXP10F:
    7817            0 :           if (call_expr_nargs (_p0) == 1)
    7818              :     {
    7819            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7820            0 :               switch (TREE_CODE (_p1))
    7821              :                 {
    7822            0 :                 case REAL_CST:
    7823            0 :                   {
    7824            0 :                     {
    7825            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7826            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    7827            0 :                       if (res) return res;
    7828              :                     }
    7829            0 :                     break;
    7830              :                   }
    7831              :                 default:;
    7832              :                 }
    7833              :             }
    7834              :           break;
    7835            0 :         case CFN_BUILT_IN_EXP10L:
    7836            0 :           if (call_expr_nargs (_p0) == 1)
    7837              :     {
    7838            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7839            0 :               switch (TREE_CODE (_p1))
    7840              :                 {
    7841            0 :                 case REAL_CST:
    7842            0 :                   {
    7843            0 :                     {
    7844            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7845            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    7846            0 :                       if (res) return res;
    7847              :                     }
    7848            0 :                     break;
    7849              :                   }
    7850              :                 default:;
    7851              :                 }
    7852              :             }
    7853              :           break;
    7854           37 :         case CFN_BUILT_IN_POPCOUNT:
    7855           37 :           if (call_expr_nargs (_p0) == 1)
    7856              :     {
    7857           37 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7858           37 :               if (integer_zerop (_p1))
    7859              :                 {
    7860            1 :                   {
    7861            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    7862            1 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
    7863            1 :                     if (res) return res;
    7864              :                   }
    7865              :                 }
    7866              :             }
    7867              :           break;
    7868            0 :         case CFN_BUILT_IN_CTZL:
    7869            0 :           if (call_expr_nargs (_p0) == 1)
    7870              :     {
    7871            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7872            0 :               switch (TREE_CODE (_p1))
    7873              :                 {
    7874            0 :                 case INTEGER_CST:
    7875            0 :                   {
    7876            0 :                     {
    7877            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7878            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL);
    7879            0 :                       if (res) return res;
    7880              :                     }
    7881            0 :                     break;
    7882              :                   }
    7883              :                 default:;
    7884              :                 }
    7885              :             }
    7886              :           break;
    7887            0 :         case CFN_BUILT_IN_EXP2:
    7888            0 :           if (call_expr_nargs (_p0) == 1)
    7889              :     {
    7890            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7891            0 :               switch (TREE_CODE (_p1))
    7892              :                 {
    7893            0 :                 case REAL_CST:
    7894            0 :                   {
    7895            0 :                     {
    7896            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7897            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    7898            0 :                       if (res) return res;
    7899              :                     }
    7900            0 :                     break;
    7901              :                   }
    7902              :                 default:;
    7903              :                 }
    7904              :             }
    7905              :           break;
    7906            0 :         case CFN_BUILT_IN_EXPF:
    7907            0 :           if (call_expr_nargs (_p0) == 1)
    7908              :     {
    7909            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7910            0 :               switch (TREE_CODE (_p1))
    7911              :                 {
    7912            0 :                 case REAL_CST:
    7913            0 :                   {
    7914            0 :                     {
    7915            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7916            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    7917            0 :                       if (res) return res;
    7918              :                     }
    7919            0 :                     break;
    7920              :                   }
    7921              :                 default:;
    7922              :                 }
    7923              :             }
    7924              :           break;
    7925            0 :         case CFN_BUILT_IN_EXPL:
    7926            0 :           if (call_expr_nargs (_p0) == 1)
    7927              :     {
    7928            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7929            0 :               switch (TREE_CODE (_p1))
    7930              :                 {
    7931            0 :                 case REAL_CST:
    7932            0 :                   {
    7933            0 :                     {
    7934            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7935            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    7936            0 :                       if (res) return res;
    7937              :                     }
    7938            0 :                     break;
    7939              :                   }
    7940              :                 default:;
    7941              :                 }
    7942              :             }
    7943              :           break;
    7944            3 :         case CFN_BUILT_IN_FFSL:
    7945            3 :           if (call_expr_nargs (_p0) == 1)
    7946              :     {
    7947            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7948            3 :               switch (TREE_CODE (_p1))
    7949              :                 {
    7950            3 :                 case INTEGER_CST:
    7951            3 :                   {
    7952            3 :                     {
    7953            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7954            3 :                       tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSL);
    7955            3 :                       if (res) return res;
    7956              :                     }
    7957            0 :                     break;
    7958              :                   }
    7959              :                 default:;
    7960              :                 }
    7961              :             }
    7962              :           break;
    7963            0 :         case CFN_BUILT_IN_LOG2:
    7964            0 :           if (call_expr_nargs (_p0) == 1)
    7965              :     {
    7966            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7967            0 :               switch (TREE_CODE (_p1))
    7968              :                 {
    7969            0 :                 case REAL_CST:
    7970            0 :                   {
    7971            0 :                     {
    7972            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7973            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    7974            0 :                       if (res) return res;
    7975              :                     }
    7976            0 :                     break;
    7977              :                   }
    7978              :                 default:;
    7979              :                 }
    7980              :             }
    7981              :           break;
    7982            0 :         case CFN_BUILT_IN_LOGF:
    7983            0 :           if (call_expr_nargs (_p0) == 1)
    7984              :     {
    7985            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7986            0 :               switch (TREE_CODE (_p1))
    7987              :                 {
    7988            0 :                 case REAL_CST:
    7989            0 :                   {
    7990            0 :                     {
    7991            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7992            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    7993            0 :                       if (res) return res;
    7994              :                     }
    7995            0 :                     break;
    7996              :                   }
    7997              :                 default:;
    7998              :                 }
    7999              :             }
    8000              :           break;
    8001            0 :         case CFN_BUILT_IN_LOGL:
    8002            0 :           if (call_expr_nargs (_p0) == 1)
    8003              :     {
    8004            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8005            0 :               switch (TREE_CODE (_p1))
    8006              :                 {
    8007            0 :                 case REAL_CST:
    8008            0 :                   {
    8009            0 :                     {
    8010            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8011            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    8012            0 :                       if (res) return res;
    8013              :                     }
    8014            0 :                     break;
    8015              :                   }
    8016              :                 default:;
    8017              :                 }
    8018              :             }
    8019              :           break;
    8020            1 :         case CFN_BUILT_IN_POPCOUNTLL:
    8021            1 :           if (call_expr_nargs (_p0) == 1)
    8022              :     {
    8023            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8024            1 :               if (integer_zerop (_p1))
    8025              :                 {
    8026            1 :                   {
    8027            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    8028            1 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8029            1 :                     if (res) return res;
    8030              :                   }
    8031              :                 }
    8032              :             }
    8033              :           break;
    8034            0 :         case CFN_BUILT_IN_LOG10F:
    8035            0 :           if (call_expr_nargs (_p0) == 1)
    8036              :     {
    8037            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8038            0 :               switch (TREE_CODE (_p1))
    8039              :                 {
    8040            0 :                 case REAL_CST:
    8041            0 :                   {
    8042            0 :                     {
    8043            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8044            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    8045            0 :                       if (res) return res;
    8046              :                     }
    8047            0 :                     break;
    8048              :                   }
    8049              :                 default:;
    8050              :                 }
    8051              :             }
    8052              :           break;
    8053            0 :         case CFN_BUILT_IN_LOG10L:
    8054            0 :           if (call_expr_nargs (_p0) == 1)
    8055              :     {
    8056            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8057            0 :               switch (TREE_CODE (_p1))
    8058              :                 {
    8059            0 :                 case REAL_CST:
    8060            0 :                   {
    8061            0 :                     {
    8062            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8063            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    8064            0 :                       if (res) return res;
    8065              :                     }
    8066            0 :                     break;
    8067              :                   }
    8068              :                 default:;
    8069              :                 }
    8070              :             }
    8071              :           break;
    8072            0 :         case CFN_BUILT_IN_CTZIMAX:
    8073            0 :           if (call_expr_nargs (_p0) == 1)
    8074              :     {
    8075            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8076            0 :               switch (TREE_CODE (_p1))
    8077              :                 {
    8078            0 :                 case INTEGER_CST:
    8079            0 :                   {
    8080            0 :                     {
    8081            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8082            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
    8083            0 :                       if (res) return res;
    8084              :                     }
    8085            0 :                     break;
    8086              :                   }
    8087              :                 default:;
    8088              :                 }
    8089              :             }
    8090              :           break;
    8091            0 :         case CFN_POPCOUNT:
    8092            0 :           if (call_expr_nargs (_p0) == 1)
    8093              :     {
    8094            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8095            0 :               if (integer_zerop (_p1))
    8096              :                 {
    8097            0 :                   {
    8098            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    8099            0 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_POPCOUNT);
    8100            0 :                     if (res) return res;
    8101              :                   }
    8102              :                 }
    8103              :             }
    8104              :           break;
    8105            0 :         case CFN_CTZ:
    8106            0 :           if (call_expr_nargs (_p0) == 2)
    8107              :     {
    8108            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8109            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    8110            0 :               switch (TREE_CODE (_p1))
    8111              :                 {
    8112            0 :                 case INTEGER_CST:
    8113            0 :                   {
    8114            0 :                     {
    8115            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8116            0 :                       tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
    8117            0 :                       if (res) return res;
    8118              :                     }
    8119            0 :                     break;
    8120              :                   }
    8121              :                 default:;
    8122              :                 }
    8123              :             }
    8124            0 :           if (call_expr_nargs (_p0) == 1)
    8125              :     {
    8126            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8127            0 :               switch (TREE_CODE (_p1))
    8128              :                 {
    8129            0 :                 case INTEGER_CST:
    8130            0 :                   {
    8131            0 :                     {
    8132            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8133            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_CTZ);
    8134            0 :                       if (res) return res;
    8135              :                     }
    8136            0 :                     break;
    8137              :                   }
    8138              :                 default:;
    8139              :                 }
    8140              :             }
    8141              :           break;
    8142            0 :         case CFN_EXP:
    8143            0 :           if (call_expr_nargs (_p0) == 1)
    8144              :     {
    8145            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8146            0 :               switch (TREE_CODE (_p1))
    8147              :                 {
    8148            0 :                 case REAL_CST:
    8149            0 :                   {
    8150            0 :                     {
    8151            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8152            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    8153            0 :                       if (res) return res;
    8154              :                     }
    8155            0 :                     break;
    8156              :                   }
    8157              :                 default:;
    8158              :                 }
    8159              :             }
    8160              :           break;
    8161            0 :         case CFN_FFS:
    8162            0 :           if (call_expr_nargs (_p0) == 1)
    8163              :     {
    8164            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8165            0 :               switch (TREE_CODE (_p1))
    8166              :                 {
    8167            0 :                 case INTEGER_CST:
    8168            0 :                   {
    8169            0 :                     {
    8170            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8171            0 :                       tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_FFS);
    8172            0 :                       if (res) return res;
    8173              :                     }
    8174            0 :                     break;
    8175              :                   }
    8176              :                 default:;
    8177              :                 }
    8178              :             }
    8179              :           break;
    8180            0 :         case CFN_LOG:
    8181            0 :           if (call_expr_nargs (_p0) == 1)
    8182              :     {
    8183            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8184            0 :               switch (TREE_CODE (_p1))
    8185              :                 {
    8186            0 :                 case REAL_CST:
    8187            0 :                   {
    8188            0 :                     {
    8189            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8190            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    8191            0 :                       if (res) return res;
    8192              :                     }
    8193            0 :                     break;
    8194              :                   }
    8195              :                 default:;
    8196              :                 }
    8197              :             }
    8198              :           break;
    8199            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
    8200            0 :           if (call_expr_nargs (_p0) == 1)
    8201              :     {
    8202            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8203            0 :               if (integer_zerop (_p1))
    8204              :                 {
    8205            0 :                   {
    8206            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    8207            0 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8208            0 :                     if (res) return res;
    8209              :                   }
    8210              :                 }
    8211              :             }
    8212              :           break;
    8213            0 :         case CFN_EXP2:
    8214            0 :           if (call_expr_nargs (_p0) == 1)
    8215              :     {
    8216            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8217            0 :               switch (TREE_CODE (_p1))
    8218              :                 {
    8219            0 :                 case REAL_CST:
    8220            0 :                   {
    8221            0 :                     {
    8222            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8223            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    8224            0 :                       if (res) return res;
    8225              :                     }
    8226            0 :                     break;
    8227              :                   }
    8228              :                 default:;
    8229              :                 }
    8230              :             }
    8231              :           break;
    8232            0 :         case CFN_LOG2:
    8233            0 :           if (call_expr_nargs (_p0) == 1)
    8234              :     {
    8235            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8236            0 :               switch (TREE_CODE (_p1))
    8237              :                 {
    8238            0 :                 case REAL_CST:
    8239            0 :                   {
    8240            0 :                     {
    8241            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8242            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    8243            0 :                       if (res) return res;
    8244              :                     }
    8245            0 :                     break;
    8246              :                   }
    8247              :                 default:;
    8248              :                 }
    8249              :             }
    8250              :           break;
    8251            0 :         case CFN_EXP10:
    8252            0 :           if (call_expr_nargs (_p0) == 1)
    8253              :     {
    8254            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8255            0 :               switch (TREE_CODE (_p1))
    8256              :                 {
    8257            0 :                 case REAL_CST:
    8258            0 :                   {
    8259            0 :                     {
    8260            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8261            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    8262            0 :                       if (res) return res;
    8263              :                     }
    8264            0 :                     break;
    8265              :                   }
    8266              :                 default:;
    8267              :                 }
    8268              :             }
    8269              :           break;
    8270            1 :         case CFN_BUILT_IN_POPCOUNTL:
    8271            1 :           if (call_expr_nargs (_p0) == 1)
    8272              :     {
    8273            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8274            1 :               if (integer_zerop (_p1))
    8275              :                 {
    8276            1 :                   {
    8277            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    8278            1 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8279            1 :                     if (res) return res;
    8280              :                   }
    8281              :                 }
    8282              :             }
    8283              :           break;
    8284            0 :         case CFN_BUILT_IN_CTZLL:
    8285            0 :           if (call_expr_nargs (_p0) == 1)
    8286              :     {
    8287            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8288            0 :               switch (TREE_CODE (_p1))
    8289              :                 {
    8290            0 :                 case INTEGER_CST:
    8291            0 :                   {
    8292            0 :                     {
    8293            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8294            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL);
    8295            0 :                       if (res) return res;
    8296              :                     }
    8297            0 :                     break;
    8298              :                   }
    8299              :                 default:;
    8300              :                 }
    8301              :             }
    8302              :           break;
    8303            0 :         case CFN_LOG10:
    8304            0 :           if (call_expr_nargs (_p0) == 1)
    8305              :     {
    8306            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8307            0 :               switch (TREE_CODE (_p1))
    8308              :                 {
    8309            0 :                 case REAL_CST:
    8310            0 :                   {
    8311            0 :                     {
    8312            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8313            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    8314            0 :                       if (res) return res;
    8315              :                     }
    8316            0 :                     break;
    8317              :                   }
    8318              :                 default:;
    8319              :                 }
    8320              :             }
    8321              :           break;
    8322            0 :         case CFN_BUILT_IN_EXP10:
    8323            0 :           if (call_expr_nargs (_p0) == 1)
    8324              :     {
    8325            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8326            0 :               switch (TREE_CODE (_p1))
    8327              :                 {
    8328            0 :                 case REAL_CST:
    8329            0 :                   {
    8330            0 :                     {
    8331            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8332            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    8333            0 :                       if (res) return res;
    8334              :                     }
    8335            0 :                     break;
    8336              :                   }
    8337              :                 default:;
    8338              :                 }
    8339              :             }
    8340              :           break;
    8341            0 :         case CFN_BUILT_IN_EXP2F:
    8342            0 :           if (call_expr_nargs (_p0) == 1)
    8343              :     {
    8344            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8345            0 :               switch (TREE_CODE (_p1))
    8346              :                 {
    8347            0 :                 case REAL_CST:
    8348            0 :                   {
    8349            0 :                     {
    8350            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8351            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    8352            0 :                       if (res) return res;
    8353              :                     }
    8354            0 :                     break;
    8355              :                   }
    8356              :                 default:;
    8357              :                 }
    8358              :             }
    8359              :           break;
    8360            0 :         case CFN_BUILT_IN_EXP2L:
    8361            0 :           if (call_expr_nargs (_p0) == 1)
    8362              :     {
    8363            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8364            0 :               switch (TREE_CODE (_p1))
    8365              :                 {
    8366            0 :                 case REAL_CST:
    8367            0 :                   {
    8368            0 :                     {
    8369            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8370            0 :                       tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    8371            0 :                       if (res) return res;
    8372              :                     }
    8373            0 :                     break;
    8374              :                   }
    8375              :                 default:;
    8376              :                 }
    8377              :             }
    8378              :           break;
    8379            3 :         case CFN_BUILT_IN_FFSLL:
    8380            3 :           if (call_expr_nargs (_p0) == 1)
    8381              :     {
    8382            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8383            3 :               switch (TREE_CODE (_p1))
    8384              :                 {
    8385            3 :                 case INTEGER_CST:
    8386            3 :                   {
    8387            3 :                     {
    8388            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8389            3 :                       tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSLL);
    8390            3 :                       if (res) return res;
    8391              :                     }
    8392            0 :                     break;
    8393              :                   }
    8394              :                 default:;
    8395              :                 }
    8396              :             }
    8397              :           break;
    8398            0 :         case CFN_BUILT_IN_LOG10:
    8399            0 :           if (call_expr_nargs (_p0) == 1)
    8400              :     {
    8401            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8402            0 :               switch (TREE_CODE (_p1))
    8403              :                 {
    8404            0 :                 case REAL_CST:
    8405            0 :                   {
    8406            0 :                     {
    8407            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8408            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    8409            0 :                       if (res) return res;
    8410              :                     }
    8411            0 :                     break;
    8412              :                   }
    8413              :                 default:;
    8414              :                 }
    8415              :             }
    8416              :           break;
    8417            0 :         case CFN_BUILT_IN_LOG2F:
    8418            0 :           if (call_expr_nargs (_p0) == 1)
    8419              :     {
    8420            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8421            0 :               switch (TREE_CODE (_p1))
    8422              :                 {
    8423            0 :                 case REAL_CST:
    8424            0 :                   {
    8425            0 :                     {
    8426            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8427            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    8428            0 :                       if (res) return res;
    8429              :                     }
    8430            0 :                     break;
    8431              :                   }
    8432              :                 default:;
    8433              :                 }
    8434              :             }
    8435              :           break;
    8436            0 :         case CFN_BUILT_IN_LOG2L:
    8437            0 :           if (call_expr_nargs (_p0) == 1)
    8438              :     {
    8439            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8440            0 :               switch (TREE_CODE (_p1))
    8441              :                 {
    8442            0 :                 case REAL_CST:
    8443            0 :                   {
    8444            0 :                     {
    8445            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8446            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    8447            0 :                       if (res) return res;
    8448              :                     }
    8449            0 :                     break;
    8450              :                   }
    8451              :                 default:;
    8452              :                 }
    8453              :             }
    8454              :           break;
    8455              :         default:;
    8456              :         }
    8457              :       break;
    8458              :     default:;
    8459              :     }
    8460              :   return NULL_TREE;
    8461              : }
    8462              : 
    8463              : tree
    8464         4284 : generic_simplify_CEIL_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    8465              : {
    8466         4284 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    8467         4284 :   if (integer_zerop (_p0))
    8468              :     {
    8469            0 :       {
    8470            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8471            0 :         tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
    8472            0 :         if (res) return res;
    8473              :       }
    8474              :     }
    8475         4284 :   if (integer_onep (_p1))
    8476              :     {
    8477            0 :       {
    8478            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8479            0 :         tree res = generic_simplify_328 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
    8480            0 :         if (res) return res;
    8481              :       }
    8482              :     }
    8483         4284 :   if (integer_minus_onep (_p1))
    8484              :     {
    8485            0 :       {
    8486            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8487            0 :         tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
    8488            0 :         if (res) return res;
    8489              :       }
    8490              :     }
    8491         4284 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8492              :     {
    8493            0 :       {
    8494            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8495            0 :         tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
    8496            0 :         if (res) return res;
    8497              :       }
    8498              :     }
    8499         4284 :   switch (TREE_CODE (_p0))
    8500              :     {
    8501            0 :     case CEIL_MOD_EXPR:
    8502            0 :       {
    8503            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8504            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8505            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8506              :           {
    8507            0 :             {
    8508            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8509            0 :               tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
    8510            0 :               if (res) return res;
    8511              :             }
    8512              :           }
    8513              :         break;
    8514              :       }
    8515            0 :     case MULT_EXPR:
    8516            0 :       {
    8517            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8518            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8519            0 :         switch (TREE_CODE (_q21))
    8520              :           {
    8521            0 :           case INTEGER_CST:
    8522            0 :             {
    8523            0 :               switch (TREE_CODE (_p1))
    8524              :                 {
    8525            0 :                 case INTEGER_CST:
    8526            0 :                   {
    8527            0 :                     {
    8528            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8529            0 :                       tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
    8530            0 :                       if (res) return res;
    8531              :                     }
    8532            0 :                     break;
    8533              :                   }
    8534              :                 default:;
    8535              :                 }
    8536              :               break;
    8537              :             }
    8538              :           default:;
    8539              :           }
    8540              :         break;
    8541              :       }
    8542            0 :     case VEC_COND_EXPR:
    8543            0 :       {
    8544            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8545            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8546            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8547            0 :         switch (TREE_CODE (_p1))
    8548              :           {
    8549            0 :           case VEC_COND_EXPR:
    8550            0 :             {
    8551            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8552            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8553            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8554            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8555              :                 {
    8556            0 :                   {
    8557            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8558            0 :                     if (VECTOR_TYPE_P (type)
    8559            0 :  && (TREE_CODE_CLASS (CEIL_MOD_EXPR) != tcc_comparison
    8560              :  || types_match (type, TREE_TYPE (captures[2]))
    8561              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8562              :  || (optimize_vectors_before_lowering_p ()
    8563              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8564              : )
    8565              :                       {
    8566            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1657;
    8567            0 :                         {
    8568            0 :                           tree res_op0;
    8569            0 :                           res_op0 = captures[1];
    8570            0 :                           tree res_op1;
    8571            0 :                           {
    8572            0 :                             tree _o1[2], _r1;
    8573            0 :                             _o1[0] = captures[2];
    8574            0 :                             _o1[1] = captures[5];
    8575            0 :                             _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, type, _o1[0], _o1[1]);
    8576            0 :                             if (EXPR_P (_r1))
    8577            0 :                               goto next_after_fail1657;
    8578            0 :                             res_op1 = _r1;
    8579              :                           }
    8580            0 :                           tree res_op2;
    8581            0 :                           {
    8582            0 :                             tree _o1[2], _r1;
    8583            0 :                             _o1[0] = captures[3];
    8584            0 :                             _o1[1] = captures[6];
    8585            0 :                             _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, type, _o1[0], _o1[1]);
    8586            0 :                             if (EXPR_P (_r1))
    8587            0 :                               goto next_after_fail1657;
    8588            0 :                             res_op2 = _r1;
    8589              :                           }
    8590            0 :                           tree _r;
    8591            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8592            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    8593            0 :                           return _r;
    8594              :                         }
    8595            0 : next_after_fail1657:;
    8596              :                       }
    8597              :                   }
    8598              :                 }
    8599              :               break;
    8600              :             }
    8601            0 :           default:;
    8602              :           }
    8603            0 :         {
    8604            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8605            0 :           if (VECTOR_TYPE_P (type)
    8606            0 :  && (TREE_CODE_CLASS (CEIL_MOD_EXPR) != tcc_comparison
    8607              :  || types_match (type, TREE_TYPE (captures[2]))
    8608              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8609              :  || (optimize_vectors_before_lowering_p ()
    8610              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8611              : )
    8612              :             {
    8613            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1658;
    8614            0 :               {
    8615            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1658;
    8616            0 :                 tree res_op0;
    8617            0 :                 res_op0 = captures[1];
    8618            0 :                 tree res_op1;
    8619            0 :                 {
    8620            0 :                   tree _o1[2], _r1;
    8621            0 :                   _o1[0] = captures[2];
    8622            0 :                   _o1[1] = unshare_expr (captures[4]);
    8623            0 :                   _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, type, _o1[0], _o1[1]);
    8624            0 :                   if (EXPR_P (_r1))
    8625            0 :                     goto next_after_fail1658;
    8626            0 :                   res_op1 = _r1;
    8627              :                 }
    8628            0 :                 tree res_op2;
    8629            0 :                 {
    8630            0 :                   tree _o1[2], _r1;
    8631            0 :                   _o1[0] = captures[3];
    8632            0 :                   _o1[1] = captures[4];
    8633            0 :                   _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, type, _o1[0], _o1[1]);
    8634            0 :                   if (EXPR_P (_r1))
    8635            0 :                     goto next_after_fail1658;
    8636            0 :                   res_op2 = _r1;
    8637              :                 }
    8638            0 :                 tree _r;
    8639            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8640            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    8641            0 :                 return _r;
    8642              :               }
    8643            0 : next_after_fail1658:;
    8644              :             }
    8645              :         }
    8646            0 :         break;
    8647              :       }
    8648         4284 :     default:;
    8649              :     }
    8650         4284 :   switch (TREE_CODE (_p1))
    8651              :     {
    8652            0 :     case VEC_COND_EXPR:
    8653            0 :       {
    8654            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8655            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8656            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8657            0 :         {
    8658            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8659            0 :           if (VECTOR_TYPE_P (type)
    8660            0 :  && (TREE_CODE_CLASS (CEIL_MOD_EXPR) != tcc_comparison
    8661              :  || types_match (type, TREE_TYPE (captures[3]))
    8662              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8663              :  || (optimize_vectors_before_lowering_p ()
    8664              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8665              : )
    8666              :             {
    8667            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1659;
    8668            0 :               {
    8669            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1659;
    8670            0 :                 tree res_op0;
    8671            0 :                 res_op0 = captures[2];
    8672            0 :                 tree res_op1;
    8673            0 :                 {
    8674            0 :                   tree _o1[2], _r1;
    8675            0 :                   _o1[0] = unshare_expr (captures[0]);
    8676            0 :                   _o1[1] = captures[3];
    8677            0 :                   _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, type, _o1[0], _o1[1]);
    8678            0 :                   if (EXPR_P (_r1))
    8679            0 :                     goto next_after_fail1659;
    8680            0 :                   res_op1 = _r1;
    8681              :                 }
    8682            0 :                 tree res_op2;
    8683            0 :                 {
    8684            0 :                   tree _o1[2], _r1;
    8685            0 :                   _o1[0] = captures[0];
    8686            0 :                   _o1[1] = captures[4];
    8687            0 :                   _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, type, _o1[0], _o1[1]);
    8688            0 :                   if (EXPR_P (_r1))
    8689            0 :                     goto next_after_fail1659;
    8690            0 :                   res_op2 = _r1;
    8691              :                 }
    8692            0 :                 tree _r;
    8693            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8694            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    8695            0 :                 return _r;
    8696              :               }
    8697            0 : next_after_fail1659:;
    8698              :             }
    8699              :         }
    8700            0 :         break;
    8701              :       }
    8702              :     default:;
    8703              :     }
    8704              :   return NULL_TREE;
    8705              : }
    8706              : 
    8707              : tree
    8708            0 : generic_simplify_ROUND_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    8709              : {
    8710            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    8711            0 :   if (integer_zerop (_p0))
    8712              :     {
    8713            0 :       {
    8714            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8715            0 :         tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
    8716            0 :         if (res) return res;
    8717              :       }
    8718              :     }
    8719            0 :   if (integer_onep (_p1))
    8720              :     {
    8721            0 :       {
    8722            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8723            0 :         tree res = generic_simplify_328 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
    8724            0 :         if (res) return res;
    8725              :       }
    8726              :     }
    8727            0 :   if (integer_minus_onep (_p1))
    8728              :     {
    8729            0 :       {
    8730            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8731            0 :         tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
    8732            0 :         if (res) return res;
    8733              :       }
    8734              :     }
    8735            0 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8736              :     {
    8737            0 :       {
    8738            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8739            0 :         tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
    8740            0 :         if (res) return res;
    8741              :       }
    8742              :     }
    8743            0 :   switch (TREE_CODE (_p0))
    8744              :     {
    8745            0 :     case ROUND_MOD_EXPR:
    8746            0 :       {
    8747            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8748            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8749            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8750              :           {
    8751            0 :             {
    8752            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8753            0 :               tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
    8754            0 :               if (res) return res;
    8755              :             }
    8756              :           }
    8757              :         break;
    8758              :       }
    8759            0 :     case MULT_EXPR:
    8760            0 :       {
    8761            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8762            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8763            0 :         switch (TREE_CODE (_q21))
    8764              :           {
    8765            0 :           case INTEGER_CST:
    8766            0 :             {
    8767            0 :               switch (TREE_CODE (_p1))
    8768              :                 {
    8769            0 :                 case INTEGER_CST:
    8770            0 :                   {
    8771            0 :                     {
    8772            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8773            0 :                       tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
    8774            0 :                       if (res) return res;
    8775              :                     }
    8776            0 :                     break;
    8777              :                   }
    8778              :                 default:;
    8779              :                 }
    8780              :               break;
    8781              :             }
    8782              :           default:;
    8783              :           }
    8784              :         break;
    8785              :       }
    8786            0 :     case VEC_COND_EXPR:
    8787            0 :       {
    8788            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8789            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8790            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8791            0 :         switch (TREE_CODE (_p1))
    8792              :           {
    8793            0 :           case VEC_COND_EXPR:
    8794            0 :             {
    8795            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8796            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8797            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8798            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8799              :                 {
    8800            0 :                   {
    8801            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8802            0 :                     if (VECTOR_TYPE_P (type)
    8803            0 :  && (TREE_CODE_CLASS (ROUND_MOD_EXPR) != tcc_comparison
    8804              :  || types_match (type, TREE_TYPE (captures[2]))
    8805              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8806              :  || (optimize_vectors_before_lowering_p ()
    8807              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8808              : )
    8809              :                       {
    8810            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1660;
    8811            0 :                         {
    8812            0 :                           tree res_op0;
    8813            0 :                           res_op0 = captures[1];
    8814            0 :                           tree res_op1;
    8815            0 :                           {
    8816            0 :                             tree _o1[2], _r1;
    8817            0 :                             _o1[0] = captures[2];
    8818            0 :                             _o1[1] = captures[5];
    8819            0 :                             _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, type, _o1[0], _o1[1]);
    8820            0 :                             if (EXPR_P (_r1))
    8821            0 :                               goto next_after_fail1660;
    8822            0 :                             res_op1 = _r1;
    8823              :                           }
    8824            0 :                           tree res_op2;
    8825            0 :                           {
    8826            0 :                             tree _o1[2], _r1;
    8827            0 :                             _o1[0] = captures[3];
    8828            0 :                             _o1[1] = captures[6];
    8829            0 :                             _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, type, _o1[0], _o1[1]);
    8830            0 :                             if (EXPR_P (_r1))
    8831            0 :                               goto next_after_fail1660;
    8832            0 :                             res_op2 = _r1;
    8833              :                           }
    8834            0 :                           tree _r;
    8835            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8836            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    8837            0 :                           return _r;
    8838              :                         }
    8839            0 : next_after_fail1660:;
    8840              :                       }
    8841              :                   }
    8842              :                 }
    8843              :               break;
    8844              :             }
    8845            0 :           default:;
    8846              :           }
    8847            0 :         {
    8848            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8849            0 :           if (VECTOR_TYPE_P (type)
    8850            0 :  && (TREE_CODE_CLASS (ROUND_MOD_EXPR) != tcc_comparison
    8851              :  || types_match (type, TREE_TYPE (captures[2]))
    8852              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8853              :  || (optimize_vectors_before_lowering_p ()
    8854              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8855              : )
    8856              :             {
    8857            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1661;
    8858            0 :               {
    8859            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1661;
    8860            0 :                 tree res_op0;
    8861            0 :                 res_op0 = captures[1];
    8862            0 :                 tree res_op1;
    8863            0 :                 {
    8864            0 :                   tree _o1[2], _r1;
    8865            0 :                   _o1[0] = captures[2];
    8866            0 :                   _o1[1] = unshare_expr (captures[4]);
    8867            0 :                   _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, type, _o1[0], _o1[1]);
    8868            0 :                   if (EXPR_P (_r1))
    8869            0 :                     goto next_after_fail1661;
    8870            0 :                   res_op1 = _r1;
    8871              :                 }
    8872            0 :                 tree res_op2;
    8873            0 :                 {
    8874            0 :                   tree _o1[2], _r1;
    8875            0 :                   _o1[0] = captures[3];
    8876            0 :                   _o1[1] = captures[4];
    8877            0 :                   _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, type, _o1[0], _o1[1]);
    8878            0 :                   if (EXPR_P (_r1))
    8879            0 :                     goto next_after_fail1661;
    8880            0 :                   res_op2 = _r1;
    8881              :                 }
    8882            0 :                 tree _r;
    8883            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8884            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    8885            0 :                 return _r;
    8886              :               }
    8887            0 : next_after_fail1661:;
    8888              :             }
    8889              :         }
    8890            0 :         break;
    8891              :       }
    8892            0 :     default:;
    8893              :     }
    8894            0 :   switch (TREE_CODE (_p1))
    8895              :     {
    8896            0 :     case VEC_COND_EXPR:
    8897            0 :       {
    8898            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8899            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8900            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8901            0 :         {
    8902            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8903            0 :           if (VECTOR_TYPE_P (type)
    8904            0 :  && (TREE_CODE_CLASS (ROUND_MOD_EXPR) != tcc_comparison
    8905              :  || types_match (type, TREE_TYPE (captures[3]))
    8906              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8907              :  || (optimize_vectors_before_lowering_p ()
    8908              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8909              : )
    8910              :             {
    8911            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1662;
    8912            0 :               {
    8913            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1662;
    8914            0 :                 tree res_op0;
    8915            0 :                 res_op0 = captures[2];
    8916            0 :                 tree res_op1;
    8917            0 :                 {
    8918            0 :                   tree _o1[2], _r1;
    8919            0 :                   _o1[0] = unshare_expr (captures[0]);
    8920            0 :                   _o1[1] = captures[3];
    8921            0 :                   _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, type, _o1[0], _o1[1]);
    8922            0 :                   if (EXPR_P (_r1))
    8923            0 :                     goto next_after_fail1662;
    8924            0 :                   res_op1 = _r1;
    8925              :                 }
    8926            0 :                 tree res_op2;
    8927            0 :                 {
    8928            0 :                   tree _o1[2], _r1;
    8929            0 :                   _o1[0] = captures[0];
    8930            0 :                   _o1[1] = captures[4];
    8931            0 :                   _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, type, _o1[0], _o1[1]);
    8932            0 :                   if (EXPR_P (_r1))
    8933            0 :                     goto next_after_fail1662;
    8934            0 :                   res_op2 = _r1;
    8935              :                 }
    8936            0 :                 tree _r;
    8937            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8938            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    8939            0 :                 return _r;
    8940              :               }
    8941            0 : next_after_fail1662:;
    8942              :             }
    8943              :         }
    8944            0 :         break;
    8945              :       }
    8946              :     default:;
    8947              :     }
    8948              :   return NULL_TREE;
    8949              : }
    8950              : 
    8951              : tree
    8952      2123192 : generic_simplify_TRUNC_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    8953              : {
    8954      2123192 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    8955      2123192 :   if (integer_zerop (_p0))
    8956              :     {
    8957          922 :       {
    8958          922 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8959          922 :         tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    8960          922 :         if (res) return res;
    8961              :       }
    8962              :     }
    8963      2122407 :   if (integer_onep (_p1))
    8964              :     {
    8965       217621 :       {
    8966       217621 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8967       217621 :         tree res = generic_simplify_328 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    8968       217621 :         if (res) return res;
    8969              :       }
    8970              :     }
    8971      1904786 :   if (integer_minus_onep (_p1))
    8972              :     {
    8973          529 :       {
    8974          529 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8975          529 :         tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    8976          529 :         if (res) return res;
    8977              :       }
    8978              :     }
    8979      1904766 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8980              :     {
    8981          230 :       {
    8982          230 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8983          230 :         tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    8984          230 :         if (res) return res;
    8985              :       }
    8986              :     }
    8987      1904673 :   switch (TREE_CODE (_p0))
    8988              :     {
    8989          107 :     case TRUNC_MOD_EXPR:
    8990          107 :       {
    8991          107 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8992          107 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8993          107 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8994              :           {
    8995           52 :             {
    8996           52 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8997           52 :               tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    8998           52 :               if (res) return res;
    8999              :             }
    9000              :           }
    9001              :         break;
    9002              :       }
    9003         7356 :     case MULT_EXPR:
    9004         7356 :       {
    9005         7356 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9006         7356 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9007         7356 :         switch (TREE_CODE (_q21))
    9008              :           {
    9009         7263 :           case INTEGER_CST:
    9010         7263 :             {
    9011         7263 :               switch (TREE_CODE (_p1))
    9012              :                 {
    9013         7241 :                 case INTEGER_CST:
    9014         7241 :                   {
    9015         7241 :                     {
    9016         7241 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9017         7241 :                       tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    9018         7241 :                       if (res) return res;
    9019              :                     }
    9020         7241 :                     break;
    9021              :                   }
    9022              :                 default:;
    9023              :                 }
    9024              :               break;
    9025              :             }
    9026              :           default:;
    9027              :           }
    9028              :         break;
    9029              :       }
    9030      1904621 :     default:;
    9031              :     }
    9032      1904621 :   switch (TREE_CODE (_p1))
    9033              :     {
    9034      1623596 :     case INTEGER_CST:
    9035      1623596 :       {
    9036      1623596 :         {
    9037      1623596 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9038      1623596 :           if (TYPE_SIGN (type) == SIGNED
    9039       287244 :  && !TREE_OVERFLOW (captures[1])
    9040      1623600 :  && wi::neg_p (wi::to_wide (captures[1]))
    9041          313 :  && !TYPE_OVERFLOW_TRAPS (type)
    9042      1623909 :  && !sign_bit_p (captures[1], captures[1])
    9043              : )
    9044              :             {
    9045          309 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1663;
    9046          309 :               {
    9047          309 :                 tree res_op0;
    9048          309 :                 res_op0 = captures[0];
    9049          309 :                 tree res_op1;
    9050          309 :                 {
    9051          309 :                   tree _o1[1], _r1;
    9052          309 :                   _o1[0] = captures[1];
    9053          309 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    9054          309 :                   res_op1 = _r1;
    9055              :                 }
    9056          309 :                 tree _r;
    9057          309 :                 _r = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, res_op0, res_op1);
    9058          309 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
    9059          309 :                 return _r;
    9060              :               }
    9061            0 : next_after_fail1663:;
    9062              :             }
    9063              :         }
    9064      1623287 :         break;
    9065              :       }
    9066        58721 :     CASE_CONVERT:
    9067        58721 :       {
    9068        58721 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9069        58721 :         switch (TREE_CODE (_q30))
    9070              :           {
    9071            0 :           case NEGATE_EXPR:
    9072            0 :             {
    9073            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9074            0 :               {
    9075            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
    9076            0 :                 tree res = generic_simplify_419 (loc, type, _p0, _p1, captures);
    9077            0 :                 if (res) return res;
    9078              :               }
    9079            0 :               break;
    9080              :             }
    9081        58721 :           default:;
    9082              :           }
    9083        58721 :       {
    9084        58721 :         tree _q30_pops[1];
    9085        58721 :         if (tree_power_of_two_cand (_q30, _q30_pops))
    9086              :           {
    9087            7 :             tree _q40 = _q30_pops[0];
    9088            7 :             {
    9089            7 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
    9090            7 :               tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    9091            7 :               if (res) return res;
    9092              :             }
    9093              :           }
    9094              :       }
    9095        58714 :         break;
    9096              :       }
    9097           94 :     case NEGATE_EXPR:
    9098           94 :       {
    9099           94 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9100           94 :         {
    9101           94 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    9102           94 :           tree res = generic_simplify_419 (loc, type, _p0, _p1, captures);
    9103           94 :           if (res) return res;
    9104              :         }
    9105           94 :         break;
    9106              :       }
    9107      1904305 :     default:;
    9108              :     }
    9109      1904305 : {
    9110      1904305 :   tree _p1_pops[1];
    9111      1904305 :   if (tree_power_of_two_cand (_p1, _p1_pops))
    9112              :     {
    9113      1623296 :       tree _q30 = _p1_pops[0];
    9114      1623296 :       {
    9115      1623296 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    9116      1623296 :         tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
    9117      1623296 :         if (res) return res;
    9118              :       }
    9119              :     }
    9120              : }
    9121       922883 :   switch (TREE_CODE (_p0))
    9122              :     {
    9123            0 :     case VEC_COND_EXPR:
    9124            0 :       {
    9125            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9126            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9127            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9128            0 :         switch (TREE_CODE (_p1))
    9129              :           {
    9130            0 :           case VEC_COND_EXPR:
    9131            0 :             {
    9132            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    9133            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    9134            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    9135            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9136              :                 {
    9137            0 :                   {
    9138            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    9139            0 :                     if (VECTOR_TYPE_P (type)
    9140            0 :  && (TREE_CODE_CLASS (TRUNC_MOD_EXPR) != tcc_comparison
    9141              :  || types_match (type, TREE_TYPE (captures[2]))
    9142              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    9143              :  || (optimize_vectors_before_lowering_p ()
    9144              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    9145              : )
    9146              :                       {
    9147            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1664;
    9148            0 :                         {
    9149            0 :                           tree res_op0;
    9150            0 :                           res_op0 = captures[1];
    9151            0 :                           tree res_op1;
    9152            0 :                           {
    9153            0 :                             tree _o1[2], _r1;
    9154            0 :                             _o1[0] = captures[2];
    9155            0 :                             _o1[1] = captures[5];
    9156            0 :                             _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, _o1[0], _o1[1]);
    9157            0 :                             if (EXPR_P (_r1))
    9158            0 :                               goto next_after_fail1664;
    9159            0 :                             res_op1 = _r1;
    9160              :                           }
    9161            0 :                           tree res_op2;
    9162            0 :                           {
    9163            0 :                             tree _o1[2], _r1;
    9164            0 :                             _o1[0] = captures[3];
    9165            0 :                             _o1[1] = captures[6];
    9166            0 :                             _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, _o1[0], _o1[1]);
    9167            0 :                             if (EXPR_P (_r1))
    9168            0 :                               goto next_after_fail1664;
    9169            0 :                             res_op2 = _r1;
    9170              :                           }
    9171            0 :                           tree _r;
    9172            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9173            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    9174            0 :                           return _r;
    9175              :                         }
    9176            0 : next_after_fail1664:;
    9177              :                       }
    9178              :                   }
    9179              :                 }
    9180              :               break;
    9181              :             }
    9182            0 :           default:;
    9183              :           }
    9184            0 :         {
    9185            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    9186            0 :           if (VECTOR_TYPE_P (type)
    9187            0 :  && (TREE_CODE_CLASS (TRUNC_MOD_EXPR) != tcc_comparison
    9188              :  || types_match (type, TREE_TYPE (captures[2]))
    9189              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    9190              :  || (optimize_vectors_before_lowering_p ()
    9191              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    9192              : )
    9193              :             {
    9194            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1665;
    9195            0 :               {
    9196            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1665;
    9197            0 :                 tree res_op0;
    9198            0 :                 res_op0 = captures[1];
    9199            0 :                 tree res_op1;
    9200            0 :                 {
    9201            0 :                   tree _o1[2], _r1;
    9202            0 :                   _o1[0] = captures[2];
    9203            0 :                   _o1[1] = unshare_expr (captures[4]);
    9204            0 :                   _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, _o1[0], _o1[1]);
    9205            0 :                   if (EXPR_P (_r1))
    9206            0 :                     goto next_after_fail1665;
    9207            0 :                   res_op1 = _r1;
    9208              :                 }
    9209            0 :                 tree res_op2;
    9210            0 :                 {
    9211            0 :                   tree _o1[2], _r1;
    9212            0 :                   _o1[0] = captures[3];
    9213            0 :                   _o1[1] = captures[4];
    9214            0 :                   _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, _o1[0], _o1[1]);
    9215            0 :                   if (EXPR_P (_r1))
    9216            0 :                     goto next_after_fail1665;
    9217            0 :                   res_op2 = _r1;
    9218              :                 }
    9219            0 :                 tree _r;
    9220            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9221            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    9222            0 :                 return _r;
    9223              :               }
    9224            0 : next_after_fail1665:;
    9225              :             }
    9226              :         }
    9227            0 :         break;
    9228              :       }
    9229       922883 :     default:;
    9230              :     }
    9231       922883 :   switch (TREE_CODE (_p1))
    9232              :     {
    9233            7 :     case VEC_COND_EXPR:
    9234            7 :       {
    9235            7 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9236            7 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9237            7 :         tree _q32 = TREE_OPERAND (_p1, 2);
    9238            7 :         {
    9239            7 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    9240            7 :           if (VECTOR_TYPE_P (type)
    9241            7 :  && (TREE_CODE_CLASS (TRUNC_MOD_EXPR) != tcc_comparison
    9242              :  || types_match (type, TREE_TYPE (captures[3]))
    9243              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    9244              :  || (optimize_vectors_before_lowering_p ()
    9245              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    9246              : )
    9247              :             {
    9248            7 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1666;
    9249            7 :               {
    9250            7 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1666;
    9251            0 :                 tree res_op0;
    9252            0 :                 res_op0 = captures[2];
    9253            0 :                 tree res_op1;
    9254            0 :                 {
    9255            0 :                   tree _o1[2], _r1;
    9256            0 :                   _o1[0] = unshare_expr (captures[0]);
    9257            0 :                   _o1[1] = captures[3];
    9258            0 :                   _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, _o1[0], _o1[1]);
    9259            0 :                   if (EXPR_P (_r1))
    9260            0 :                     goto next_after_fail1666;
    9261            0 :                   res_op1 = _r1;
    9262              :                 }
    9263            0 :                 tree res_op2;
    9264            0 :                 {
    9265            0 :                   tree _o1[2], _r1;
    9266            0 :                   _o1[0] = captures[0];
    9267            0 :                   _o1[1] = captures[4];
    9268            0 :                   _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, _o1[0], _o1[1]);
    9269            0 :                   if (EXPR_P (_r1))
    9270            0 :                     goto next_after_fail1666;
    9271            0 :                   res_op2 = _r1;
    9272              :                 }
    9273            0 :                 tree _r;
    9274            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9275            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    9276            0 :                 return _r;
    9277              :               }
    9278            7 : next_after_fail1666:;
    9279              :             }
    9280              :         }
    9281            7 :         break;
    9282              :       }
    9283              :     default:;
    9284              :     }
    9285              :   return NULL_TREE;
    9286              : }
    9287              : 
    9288              : tree
    9289      1028800 : generic_simplify_RSHIFT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    9290              : {
    9291      1028800 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    9292      1028800 :   switch (TREE_CODE (_p1))
    9293              :     {
    9294          135 :     case TRUNC_MOD_EXPR:
    9295          135 :       {
    9296          135 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9297          135 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9298          135 :         {
    9299          135 :           tree _q31_pops[1];
    9300          135 :           if (tree_power_of_two_cand (_q31, _q31_pops))
    9301              :             {
    9302          127 :               tree _q50 = _q31_pops[0];
    9303          127 :               {
    9304          127 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
    9305          127 :                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, RSHIFT_EXPR, TRUNC_MOD_EXPR);
    9306          127 :                 if (res) return res;
    9307              :               }
    9308              :             }
    9309              :         }
    9310           14 :         break;
    9311              :       }
    9312            0 :     case FLOOR_MOD_EXPR:
    9313            0 :       {
    9314            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9315            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9316            0 :         {
    9317            0 :           tree _q31_pops[1];
    9318            0 :           if (tree_power_of_two_cand (_q31, _q31_pops))
    9319              :             {
    9320            0 :               tree _q50 = _q31_pops[0];
    9321            0 :               {
    9322            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
    9323            0 :                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, RSHIFT_EXPR, FLOOR_MOD_EXPR);
    9324            0 :                 if (res) return res;
    9325              :               }
    9326              :             }
    9327              :         }
    9328            0 :         break;
    9329              :       }
    9330      1028679 :     default:;
    9331              :     }
    9332      1028679 : if (uniform_integer_cst_p (_p1))
    9333              :   {
    9334       823984 :     {
    9335       823984 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9336       823984 :       tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
    9337       823984 :       if (res) return res;
    9338              :     }
    9339              :   }
    9340      1027922 :   switch (TREE_CODE (_p0))
    9341              :     {
    9342           58 :     case NEGATE_EXPR:
    9343           58 :       {
    9344           58 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9345           58 :         switch (TREE_CODE (_p1))
    9346              :           {
    9347           57 :           case INTEGER_CST:
    9348           57 :             {
    9349           57 :               {
    9350           57 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9351           57 :                 if (!TYPE_UNSIGNED (type)
    9352           57 :  && TYPE_OVERFLOW_UNDEFINED (type)
    9353              : )
    9354              :                   {
    9355           32 :                     {
    9356           32 :  tree stype = TREE_TYPE (captures[2]);
    9357           32 :  tree bt = truth_type_for (type);
    9358           32 :  tree zeros = build_zero_cst (type);
    9359           32 :  tree INTEGER_CST = NULL_TREE;
    9360           32 :                         if (INTEGRAL_TYPE_P (type)
    9361              :  && canonicalize_math_after_vectorization_p ()
    9362              :  && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (type) - 1)
    9363              : )
    9364              :                           {
    9365              :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1675;
    9366              :                             {
    9367              :                               tree res_op0;
    9368              :                               {
    9369              :                                 tree _o1[1], _r1;
    9370              :                                 {
    9371              :                                   tree _o2[2], _r2;
    9372              :                                   _o2[0] = captures[1];
    9373              :                                   _o2[1] =  zeros;
    9374              :                                   _r2 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o2[0], _o2[1]);
    9375              :                                   _o1[0] = _r2;
    9376              :                                 }
    9377              :                                 if (TREE_TYPE (_o1[0]) != type)
    9378              :                                   {
    9379              :                                     _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    9380              :                                   }
    9381              :                                 else
    9382              :                                   _r1 = _o1[0];
    9383              :                                 res_op0 = _r1;
    9384              :                               }
    9385              :                               tree _r;
    9386              :                               _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    9387              :                               if (TREE_SIDE_EFFECTS (captures[2]))
    9388              :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9389              :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1015, __FILE__, __LINE__, true);
    9390              :                               return _r;
    9391              :                             }
    9392              : next_after_fail1675:;
    9393              :                           }
    9394              :                         else
    9395              :                           {
    9396            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    9397            0 :  && TYPE_MODE (bt) == TYPE_MODE (type)
    9398            0 :  && expand_vec_cmp_expr_p (type, bt, GT_EXPR)
    9399            0 :  && (INTEGER_CST = uniform_integer_cst_p (captures[2])) != NULL
    9400           32 :  && wi::eq_p (wi::to_wide (INTEGER_CST), element_precision (type) - 1)
    9401              : )
    9402              :                               {
    9403            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1676;
    9404            0 :                                 {
    9405            0 :                                   tree res_op0;
    9406            0 :                                   {
    9407            0 :                                     tree _o1[2], _r1;
    9408            0 :                                     _o1[0] = captures[1];
    9409            0 :                                     _o1[1] =  zeros;
    9410            0 :                                     _r1 = fold_build2_loc (loc, GT_EXPR, bt, _o1[0], _o1[1]);
    9411            0 :                                     res_op0 = _r1;
    9412              :                                   }
    9413            0 :                                   tree _r;
    9414            0 :                                   _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    9415            0 :                                   if (TREE_SIDE_EFFECTS (captures[2]))
    9416            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9417            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1016, __FILE__, __LINE__, true);
    9418            0 :                                   return _r;
    9419              :                                 }
    9420            0 : next_after_fail1676:;
    9421              :                               }
    9422              :                           }
    9423              :                     }
    9424              :                   }
    9425              :               }
    9426           57 :               break;
    9427              :             }
    9428            0 :           case VECTOR_CST:
    9429            0 :             {
    9430            0 :               {
    9431            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9432            0 :                 if (!TYPE_UNSIGNED (type)
    9433            0 :  && TYPE_OVERFLOW_UNDEFINED (type)
    9434              : )
    9435              :                   {
    9436            0 :                     {
    9437            0 :  tree stype = TREE_TYPE (captures[2]);
    9438            0 :  tree bt = truth_type_for (type);
    9439            0 :  tree zeros = build_zero_cst (type);
    9440            0 :  tree VECTOR_CST = NULL_TREE;
    9441            0 :                         if (INTEGRAL_TYPE_P (type)
    9442              :  && canonicalize_math_after_vectorization_p ()
    9443              :  && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (type) - 1)
    9444              : )
    9445              :                           {
    9446              :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1677;
    9447              :                             {
    9448              :                               tree res_op0;
    9449              :                               {
    9450              :                                 tree _o1[1], _r1;
    9451              :                                 {
    9452              :                                   tree _o2[2], _r2;
    9453              :                                   _o2[0] = captures[1];
    9454              :                                   _o2[1] =  zeros;
    9455              :                                   _r2 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o2[0], _o2[1]);
    9456              :                                   _o1[0] = _r2;
    9457              :                                 }
    9458              :                                 if (TREE_TYPE (_o1[0]) != type)
    9459              :                                   {
    9460              :                                     _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    9461              :                                   }
    9462              :                                 else
    9463              :                                   _r1 = _o1[0];
    9464              :                                 res_op0 = _r1;
    9465              :                               }
    9466              :                               tree _r;
    9467              :                               _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    9468              :                               if (TREE_SIDE_EFFECTS (captures[2]))
    9469              :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9470              :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1015, __FILE__, __LINE__, true);
    9471              :                               return _r;
    9472              :                             }
    9473              : next_after_fail1677:;
    9474              :                           }
    9475              :                         else
    9476              :                           {
    9477            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    9478            0 :  && TYPE_MODE (bt) == TYPE_MODE (type)
    9479            0 :  && expand_vec_cmp_expr_p (type, bt, GT_EXPR)
    9480            0 :  && (VECTOR_CST = uniform_integer_cst_p (captures[2])) != NULL
    9481            0 :  && wi::eq_p (wi::to_wide (VECTOR_CST), element_precision (type) - 1)
    9482              : )
    9483              :                               {
    9484            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1678;
    9485            0 :                                 {
    9486            0 :                                   tree res_op0;
    9487            0 :                                   {
    9488            0 :                                     tree _o1[2], _r1;
    9489            0 :                                     _o1[0] = captures[1];
    9490            0 :                                     _o1[1] =  zeros;
    9491            0 :                                     _r1 = fold_build2_loc (loc, GT_EXPR, bt, _o1[0], _o1[1]);
    9492            0 :                                     res_op0 = _r1;
    9493              :                                   }
    9494            0 :                                   tree _r;
    9495            0 :                                   _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    9496            0 :                                   if (TREE_SIDE_EFFECTS (captures[2]))
    9497            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9498            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1016, __FILE__, __LINE__, true);
    9499            0 :                                   return _r;
    9500              :                                 }
    9501            0 : next_after_fail1678:;
    9502              :                               }
    9503              :                           }
    9504              :                     }
    9505              :                   }
    9506              :               }
    9507            0 :               break;
    9508              :             }
    9509              :           default:;
    9510              :           }
    9511              :         break;
    9512              :       }
    9513          441 :     case LSHIFT_EXPR:
    9514          441 :       {
    9515          441 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9516          441 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9517          441 :         switch (TREE_CODE (_q21))
    9518              :           {
    9519          362 :           case INTEGER_CST:
    9520          362 :             {
    9521          362 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    9522              :                 {
    9523           67 :                   {
    9524           67 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q21 };
    9525           67 :                     tree res = generic_simplify_430 (loc, type, _p0, _p1, captures);
    9526           67 :                     if (res) return res;
    9527              :                   }
    9528              :                 }
    9529              :               break;
    9530              :             }
    9531              :           default:;
    9532              :           }
    9533              :         break;
    9534              :       }
    9535      1027895 :     default:;
    9536              :     }
    9537      1027895 : {
    9538      1027895 :   tree _p0_pops[1];
    9539      1027895 :   if (tree_nop_convert (_p0, _p0_pops))
    9540              :     {
    9541       171851 :       tree _q20 = _p0_pops[0];
    9542       171851 :       switch (TREE_CODE (_q20))
    9543              :         {
    9544           20 :         case LSHIFT_EXPR:
    9545           20 :           {
    9546           20 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9547           20 :             tree _q31 = TREE_OPERAND (_q20, 1);
    9548           20 :             switch (TREE_CODE (_q31))
    9549              :               {
    9550            0 :               case INTEGER_CST:
    9551            0 :                 {
    9552            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    9553              :                     {
    9554            0 :                       {
    9555            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p1, _q31 };
    9556            0 :                         tree res = generic_simplify_430 (loc, type, _p0, _p1, captures);
    9557            0 :                         if (res) return res;
    9558              :                       }
    9559              :                     }
    9560              :                   break;
    9561              :                 }
    9562              :               default:;
    9563              :               }
    9564              :             break;
    9565              :           }
    9566              :         default:;
    9567              :         }
    9568              :     }
    9569              : }
    9570      1027895 : if (integer_all_onesp (_p0))
    9571              :   {
    9572        11738 :     {
    9573        11738 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9574        11738 :       if (!TYPE_UNSIGNED (type)
    9575              : )
    9576              :         {
    9577          119 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1679;
    9578          119 :           {
    9579          119 :             tree _r;
    9580          119 :             _r = captures[0];
    9581          119 :             if (TREE_SIDE_EFFECTS (captures[1]))
    9582            1 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9583          119 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1017, __FILE__, __LINE__, true);
    9584          119 :             return _r;
    9585              :           }
    9586            0 : next_after_fail1679:;
    9587              :         }
    9588              :     }
    9589              :   }
    9590      1027776 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    9591              :     {
    9592           25 :       {
    9593           25 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9594           25 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1680;
    9595           25 :         {
    9596           25 :           tree _r;
    9597           25 :           _r =  build_zero_cst (type);
    9598           25 :           if (TREE_SIDE_EFFECTS (captures[0]))
    9599            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    9600           25 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1018, __FILE__, __LINE__, true);
    9601           25 :           return _r;
    9602              :         }
    9603            0 : next_after_fail1680:;
    9604              :       }
    9605              :     }
    9606      1027751 :   if (integer_zerop (_p1))
    9607              :     {
    9608         1301 :       {
    9609         1301 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9610         1301 :         tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
    9611         1301 :         if (res) return res;
    9612              :       }
    9613              :     }
    9614      1026450 :   if (integer_zerop (_p0))
    9615              :     {
    9616          152 :       {
    9617          152 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9618          152 :         tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
    9619          152 :         if (res) return res;
    9620              :       }
    9621              :     }
    9622      1026298 :   switch (TREE_CODE (_p1))
    9623              :     {
    9624            0 :     case VECTOR_CST:
    9625            0 :       {
    9626            0 :         {
    9627            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9628            0 :           tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
    9629            0 :           if (res) return res;
    9630              :         }
    9631            0 :         break;
    9632              :       }
    9633            0 :     case CONSTRUCTOR:
    9634            0 :       {
    9635            0 :         {
    9636            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9637            0 :           tree res = generic_simplify_426 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
    9638            0 :           if (res) return res;
    9639              :         }
    9640            0 :         break;
    9641              :       }
    9642      1026298 :     default:;
    9643              :     }
    9644      1026298 :   switch (TREE_CODE (_p0))
    9645              :     {
    9646          118 :     case RSHIFT_EXPR:
    9647          118 :       {
    9648          118 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9649          118 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9650          118 :         switch (TREE_CODE (_q21))
    9651              :           {
    9652           73 :           case INTEGER_CST:
    9653           73 :             {
    9654           73 :               switch (TREE_CODE (_p1))
    9655              :                 {
    9656           47 :                 case INTEGER_CST:
    9657           47 :                   {
    9658           47 :                     {
    9659           47 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9660           47 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
    9661           47 :                       if (res) return res;
    9662              :                     }
    9663            0 :                     break;
    9664              :                   }
    9665              :                 default:;
    9666              :                 }
    9667              :               break;
    9668              :             }
    9669              :           default:;
    9670              :           }
    9671              :         break;
    9672              :       }
    9673       196283 :     CASE_CONVERT:
    9674       196283 :       {
    9675       196283 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9676       196283 :         switch (TREE_CODE (_q20))
    9677              :           {
    9678            6 :           case BIT_AND_EXPR:
    9679            6 :             {
    9680            6 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9681            6 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9682            6 :               switch (TREE_CODE (_q31))
    9683              :                 {
    9684            0 :                 case INTEGER_CST:
    9685            0 :                   {
    9686            0 :                     switch (TREE_CODE (_p1))
    9687              :                       {
    9688            0 :                       case INTEGER_CST:
    9689            0 :                         {
    9690            0 :                           {
    9691            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    9692            0 :                             tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, RSHIFT_EXPR);
    9693            0 :                             if (res) return res;
    9694              :                           }
    9695            0 :                           break;
    9696              :                         }
    9697              :                       default:;
    9698              :                       }
    9699              :                     break;
    9700              :                   }
    9701              :                 default:;
    9702              :                 }
    9703              :               break;
    9704              :             }
    9705           14 :           case BIT_XOR_EXPR:
    9706           14 :             {
    9707           14 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9708           14 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9709           14 :               switch (TREE_CODE (_q31))
    9710              :                 {
    9711            0 :                 case INTEGER_CST:
    9712            0 :                   {
    9713            0 :                     switch (TREE_CODE (_p1))
    9714              :                       {
    9715            0 :                       case INTEGER_CST:
    9716            0 :                         {
    9717            0 :                           {
    9718            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    9719            0 :                             tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, RSHIFT_EXPR);
    9720            0 :                             if (res) return res;
    9721              :                           }
    9722            0 :                           break;
    9723              :                         }
    9724              :                       default:;
    9725              :                       }
    9726              :                     break;
    9727              :                   }
    9728              :                 default:;
    9729              :                 }
    9730              :               break;
    9731              :             }
    9732           43 :           case BIT_IOR_EXPR:
    9733           43 :             {
    9734           43 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9735           43 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9736           43 :               switch (TREE_CODE (_q31))
    9737              :                 {
    9738           24 :                 case INTEGER_CST:
    9739           24 :                   {
    9740           24 :                     switch (TREE_CODE (_p1))
    9741              :                       {
    9742            7 :                       case INTEGER_CST:
    9743            7 :                         {
    9744            7 :                           {
    9745            7 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    9746            7 :                             tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, RSHIFT_EXPR);
    9747            7 :                             if (res) return res;
    9748              :                           }
    9749            0 :                           break;
    9750              :                         }
    9751              :                       default:;
    9752              :                       }
    9753              :                     break;
    9754              :                   }
    9755              :                 default:;
    9756              :                 }
    9757              :               break;
    9758              :             }
    9759          203 :           case CALL_EXPR:
    9760          203 :             switch (get_call_combined_fn (_q20))
    9761              :               {
    9762            0 :               case CFN_BSWAP:
    9763            0 :                 if (call_expr_nargs (_q20) == 1)
    9764              :     {
    9765            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9766            0 :                     switch (TREE_CODE (_p1))
    9767              :                       {
    9768            0 :                       case INTEGER_CST:
    9769            0 :                         {
    9770            0 :                           {
    9771            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9772            0 :                             tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BSWAP);
    9773            0 :                             if (res) return res;
    9774              :                           }
    9775            0 :                           break;
    9776              :                         }
    9777              :                       default:;
    9778              :                       }
    9779              :                   }
    9780              :                 break;
    9781            0 :               case CFN_BUILT_IN_BSWAP128:
    9782            0 :                 if (call_expr_nargs (_q20) == 1)
    9783              :     {
    9784            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9785            0 :                     switch (TREE_CODE (_p1))
    9786              :                       {
    9787            0 :                       case INTEGER_CST:
    9788            0 :                         {
    9789            0 :                           {
    9790            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9791            0 :                             tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
    9792            0 :                             if (res) return res;
    9793              :                           }
    9794            0 :                           break;
    9795              :                         }
    9796              :                       default:;
    9797              :                       }
    9798              :                   }
    9799              :                 break;
    9800            8 :               case CFN_BUILT_IN_BSWAP16:
    9801            8 :                 if (call_expr_nargs (_q20) == 1)
    9802              :     {
    9803            8 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9804            8 :                     switch (TREE_CODE (_p1))
    9805              :                       {
    9806            7 :                       case INTEGER_CST:
    9807            7 :                         {
    9808            7 :                           {
    9809            7 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9810            7 :                             tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
    9811            7 :                             if (res) return res;
    9812              :                           }
    9813            2 :                           break;
    9814              :                         }
    9815              :                       default:;
    9816              :                       }
    9817              :                   }
    9818              :                 break;
    9819           13 :               case CFN_BUILT_IN_BSWAP32:
    9820           13 :                 if (call_expr_nargs (_q20) == 1)
    9821              :     {
    9822           13 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9823           13 :                     switch (TREE_CODE (_p1))
    9824              :                       {
    9825           13 :                       case INTEGER_CST:
    9826           13 :                         {
    9827           13 :                           {
    9828           13 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9829           13 :                             tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
    9830           13 :                             if (res) return res;
    9831              :                           }
    9832            9 :                           break;
    9833              :                         }
    9834              :                       default:;
    9835              :                       }
    9836              :                   }
    9837              :                 break;
    9838           18 :               case CFN_BUILT_IN_BSWAP64:
    9839           18 :                 if (call_expr_nargs (_q20) == 1)
    9840              :     {
    9841           18 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9842           18 :                     switch (TREE_CODE (_p1))
    9843              :                       {
    9844           18 :                       case INTEGER_CST:
    9845           18 :                         {
    9846           18 :                           {
    9847           18 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9848           18 :                             tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
    9849           18 :                             if (res) return res;
    9850              :                           }
    9851           12 :                           break;
    9852              :                         }
    9853              :                       default:;
    9854              :                       }
    9855              :                   }
    9856              :                 break;
    9857              :               default:;
    9858              :               }
    9859              :             break;
    9860              :           default:;
    9861              :           }
    9862              :         break;
    9863              :       }
    9864        13912 :     case BIT_AND_EXPR:
    9865        13912 :       {
    9866        13912 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9867        13912 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9868        13912 :         switch (TREE_CODE (_q21))
    9869              :           {
    9870        13862 :           case INTEGER_CST:
    9871        13862 :             {
    9872        13862 :               switch (TREE_CODE (_p1))
    9873              :                 {
    9874        13839 :                 case INTEGER_CST:
    9875        13839 :                   {
    9876        13839 :                     {
    9877        13839 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
    9878        13839 :                       tree res = generic_simplify_429 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, RSHIFT_EXPR);
    9879        13839 :                       if (res) return res;
    9880              :                     }
    9881            0 :                     break;
    9882              :                   }
    9883              :                 default:;
    9884              :                 }
    9885              :               break;
    9886              :             }
    9887              :           default:;
    9888              :           }
    9889              :         break;
    9890              :       }
    9891          240 :     case BIT_XOR_EXPR:
    9892          240 :       {
    9893          240 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9894          240 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9895          240 :         switch (TREE_CODE (_q21))
    9896              :           {
    9897           97 :           case INTEGER_CST:
    9898           97 :             {
    9899           97 :               switch (TREE_CODE (_p1))
    9900              :                 {
    9901           97 :                 case INTEGER_CST:
    9902           97 :                   {
    9903           97 :                     {
    9904           97 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
    9905           97 :                       tree res = generic_simplify_429 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, RSHIFT_EXPR);
    9906           97 :                       if (res) return res;
    9907              :                     }
    9908            0 :                     break;
    9909              :                   }
    9910              :                 default:;
    9911              :                 }
    9912              :               break;
    9913              :             }
    9914              :           default:;
    9915              :           }
    9916              :         break;
    9917              :       }
    9918           55 :     case BIT_IOR_EXPR:
    9919           55 :       {
    9920           55 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9921           55 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9922           55 :         switch (TREE_CODE (_q21))
    9923              :           {
    9924           10 :           case INTEGER_CST:
    9925           10 :             {
    9926           10 :               switch (TREE_CODE (_p1))
    9927              :                 {
    9928            8 :                 case INTEGER_CST:
    9929            8 :                   {
    9930            8 :                     {
    9931            8 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
    9932            8 :                       tree res = generic_simplify_429 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, RSHIFT_EXPR);
    9933            8 :                       if (res) return res;
    9934              :                     }
    9935            0 :                     break;
    9936              :                   }
    9937              :                 default:;
    9938              :                 }
    9939              :               break;
    9940              :             }
    9941              :           default:;
    9942              :           }
    9943              :         break;
    9944              :       }
    9945            0 :     case VEC_COND_EXPR:
    9946            0 :       {
    9947            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9948            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9949            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9950            0 :         switch (TREE_CODE (_p1))
    9951              :           {
    9952            0 :           case VEC_COND_EXPR:
    9953            0 :             {
    9954            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    9955            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    9956            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    9957            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9958              :                 {
    9959            0 :                   {
    9960            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    9961            0 :                     if (VECTOR_TYPE_P (type)
    9962            0 :  && (TREE_CODE_CLASS (RSHIFT_EXPR) != tcc_comparison
    9963              :  || types_match (type, TREE_TYPE (captures[2]))
    9964              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    9965              :  || (optimize_vectors_before_lowering_p ()
    9966              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    9967              : )
    9968              :                       {
    9969            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1681;
    9970            0 :                         {
    9971            0 :                           tree res_op0;
    9972            0 :                           res_op0 = captures[1];
    9973            0 :                           tree res_op1;
    9974            0 :                           {
    9975            0 :                             tree _o1[2], _r1;
    9976            0 :                             _o1[0] = captures[2];
    9977            0 :                             _o1[1] = captures[5];
    9978            0 :                             _r1 = fold_build2_loc (loc, RSHIFT_EXPR, type, _o1[0], _o1[1]);
    9979            0 :                             if (EXPR_P (_r1))
    9980            0 :                               goto next_after_fail1681;
    9981            0 :                             res_op1 = _r1;
    9982              :                           }
    9983            0 :                           tree res_op2;
    9984            0 :                           {
    9985            0 :                             tree _o1[2], _r1;
    9986            0 :                             _o1[0] = captures[3];
    9987            0 :                             _o1[1] = captures[6];
    9988            0 :                             _r1 = fold_build2_loc (loc, RSHIFT_EXPR, type, _o1[0], _o1[1]);
    9989            0 :                             if (EXPR_P (_r1))
    9990            0 :                               goto next_after_fail1681;
    9991            0 :                             res_op2 = _r1;
    9992              :                           }
    9993            0 :                           tree _r;
    9994            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9995            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    9996            0 :                           return _r;
    9997              :                         }
    9998            0 : next_after_fail1681:;
    9999              :                       }
   10000              :                   }
   10001              :                 }
   10002              :               break;
   10003              :             }
   10004            0 :           default:;
   10005              :           }
   10006            0 :         {
   10007            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10008            0 :           if (VECTOR_TYPE_P (type)
   10009            0 :  && (TREE_CODE_CLASS (RSHIFT_EXPR) != tcc_comparison
   10010              :  || types_match (type, TREE_TYPE (captures[2]))
   10011              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10012              :  || (optimize_vectors_before_lowering_p ()
   10013              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10014              : )
   10015              :             {
   10016            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1682;
   10017            0 :               {
   10018            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1682;
   10019            0 :                 tree res_op0;
   10020            0 :                 res_op0 = captures[1];
   10021            0 :                 tree res_op1;
   10022            0 :                 {
   10023            0 :                   tree _o1[2], _r1;
   10024            0 :                   _o1[0] = captures[2];
   10025            0 :                   _o1[1] = unshare_expr (captures[4]);
   10026            0 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, type, _o1[0], _o1[1]);
   10027            0 :                   if (EXPR_P (_r1))
   10028            0 :                     goto next_after_fail1682;
   10029            0 :                   res_op1 = _r1;
   10030              :                 }
   10031            0 :                 tree res_op2;
   10032            0 :                 {
   10033            0 :                   tree _o1[2], _r1;
   10034            0 :                   _o1[0] = captures[3];
   10035            0 :                   _o1[1] = captures[4];
   10036            0 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, type, _o1[0], _o1[1]);
   10037            0 :                   if (EXPR_P (_r1))
   10038            0 :                     goto next_after_fail1682;
   10039            0 :                   res_op2 = _r1;
   10040              :                 }
   10041            0 :                 tree _r;
   10042            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10043            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   10044            0 :                 return _r;
   10045              :               }
   10046            0 : next_after_fail1682:;
   10047              :             }
   10048              :         }
   10049            0 :         break;
   10050              :       }
   10051          704 :     case CALL_EXPR:
   10052          704 :       switch (get_call_combined_fn (_p0))
   10053              :         {
   10054            0 :         case CFN_BSWAP:
   10055            0 :           if (call_expr_nargs (_p0) == 1)
   10056              :     {
   10057            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10058            0 :               switch (TREE_CODE (_p1))
   10059              :                 {
   10060            0 :                 case INTEGER_CST:
   10061            0 :                   {
   10062            0 :                     {
   10063            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10064            0 :                       tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BSWAP);
   10065            0 :                       if (res) return res;
   10066              :                     }
   10067            0 :                     break;
   10068              :                   }
   10069              :                 default:;
   10070              :                 }
   10071              :             }
   10072              :           break;
   10073            0 :         case CFN_BUILT_IN_BSWAP128:
   10074            0 :           if (call_expr_nargs (_p0) == 1)
   10075              :     {
   10076            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10077            0 :               switch (TREE_CODE (_p1))
   10078              :                 {
   10079            0 :                 case INTEGER_CST:
   10080            0 :                   {
   10081            0 :                     {
   10082            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10083            0 :                       tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   10084            0 :                       if (res) return res;
   10085              :                     }
   10086            0 :                     break;
   10087              :                   }
   10088              :                 default:;
   10089              :                 }
   10090              :             }
   10091              :           break;
   10092           32 :         case CFN_BUILT_IN_BSWAP16:
   10093           32 :           if (call_expr_nargs (_p0) == 1)
   10094              :     {
   10095           32 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10096           32 :               switch (TREE_CODE (_p1))
   10097              :                 {
   10098           32 :                 case INTEGER_CST:
   10099           32 :                   {
   10100           32 :                     {
   10101           32 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10102           32 :                       tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   10103           32 :                       if (res) return res;
   10104              :                     }
   10105            9 :                     break;
   10106              :                   }
   10107              :                 default:;
   10108              :                 }
   10109              :             }
   10110              :           break;
   10111          101 :         case CFN_BUILT_IN_BSWAP32:
   10112          101 :           if (call_expr_nargs (_p0) == 1)
   10113              :     {
   10114          101 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10115          101 :               switch (TREE_CODE (_p1))
   10116              :                 {
   10117          100 :                 case INTEGER_CST:
   10118          100 :                   {
   10119          100 :                     {
   10120          100 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10121          100 :                       tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   10122          100 :                       if (res) return res;
   10123              :                     }
   10124           61 :                     break;
   10125              :                   }
   10126              :                 default:;
   10127              :                 }
   10128              :             }
   10129              :           break;
   10130          102 :         case CFN_BUILT_IN_BSWAP64:
   10131          102 :           if (call_expr_nargs (_p0) == 1)
   10132              :     {
   10133          102 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10134          102 :               switch (TREE_CODE (_p1))
   10135              :                 {
   10136          101 :                 case INTEGER_CST:
   10137          101 :                   {
   10138          101 :                     {
   10139          101 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10140          101 :                       tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   10141          101 :                       if (res) return res;
   10142              :                     }
   10143           75 :                     break;
   10144              :                   }
   10145              :                 default:;
   10146              :                 }
   10147              :             }
   10148              :           break;
   10149              :         default:;
   10150              :         }
   10151              :       break;
   10152      1012197 :     default:;
   10153              :     }
   10154      1012197 : if (integer_onep (_p0))
   10155              :   {
   10156          524 :     {
   10157          524 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
   10158          524 :       if (INTEGRAL_TYPE_P (type)
   10159              : )
   10160              :         {
   10161          524 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1683;
   10162          524 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1683;
   10163          524 :           {
   10164          524 :             tree res_op0;
   10165          524 :             {
   10166          524 :               tree _o1[2], _r1;
   10167          524 :               _o1[0] = captures[0];
   10168          524 :               _o1[1] =  build_zero_cst (TREE_TYPE (captures[0]));
   10169          524 :               _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
   10170          524 :               res_op0 = _r1;
   10171              :             }
   10172          524 :             tree _r;
   10173          524 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   10174          524 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1019, __FILE__, __LINE__, true);
   10175          524 :             return _r;
   10176              :           }
   10177              : next_after_fail1683:;
   10178              :         }
   10179              :     }
   10180              :   }
   10181      1011673 :   switch (TREE_CODE (_p1))
   10182              :     {
   10183           11 :     case VEC_COND_EXPR:
   10184           11 :       {
   10185           11 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10186           11 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10187           11 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10188           11 :         {
   10189           11 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10190           11 :           if (VECTOR_TYPE_P (type)
   10191           11 :  && (TREE_CODE_CLASS (RSHIFT_EXPR) != tcc_comparison
   10192              :  || types_match (type, TREE_TYPE (captures[3]))
   10193              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10194              :  || (optimize_vectors_before_lowering_p ()
   10195              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10196              : )
   10197              :             {
   10198           11 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1684;
   10199           11 :               {
   10200           11 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1684;
   10201            0 :                 tree res_op0;
   10202            0 :                 res_op0 = captures[2];
   10203            0 :                 tree res_op1;
   10204            0 :                 {
   10205            0 :                   tree _o1[2], _r1;
   10206            0 :                   _o1[0] = unshare_expr (captures[0]);
   10207            0 :                   _o1[1] = captures[3];
   10208            0 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, type, _o1[0], _o1[1]);
   10209            0 :                   if (EXPR_P (_r1))
   10210            0 :                     goto next_after_fail1684;
   10211            0 :                   res_op1 = _r1;
   10212              :                 }
   10213            0 :                 tree res_op2;
   10214            0 :                 {
   10215            0 :                   tree _o1[2], _r1;
   10216            0 :                   _o1[0] = captures[0];
   10217            0 :                   _o1[1] = captures[4];
   10218            0 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, type, _o1[0], _o1[1]);
   10219            0 :                   if (EXPR_P (_r1))
   10220            0 :                     goto next_after_fail1684;
   10221            0 :                   res_op2 = _r1;
   10222              :                 }
   10223            0 :                 tree _r;
   10224            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10225            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   10226            0 :                 return _r;
   10227              :               }
   10228           11 : next_after_fail1684:;
   10229              :             }
   10230              :         }
   10231           11 :         break;
   10232              :       }
   10233      1011673 :     default:;
   10234              :     }
   10235      1011673 :   switch (TREE_CODE (_p0))
   10236              :     {
   10237            0 :     case VEC_PERM_EXPR:
   10238            0 :       {
   10239            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10240            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10241            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10242            0 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   10243              :           {
   10244            0 :             switch (TREE_CODE (_p1))
   10245              :               {
   10246            0 :               case VEC_PERM_EXPR:
   10247            0 :                 {
   10248            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   10249            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   10250            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   10251            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   10252              :                     {
   10253            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   10254              :                         {
   10255            0 :                           {
   10256            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   10257            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   10258              : )
   10259              :                               {
   10260            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1685;
   10261            0 :                                 {
   10262            0 :                                   tree res_op0;
   10263            0 :                                   {
   10264            0 :                                     tree _o1[2], _r1;
   10265            0 :                                     _o1[0] = captures[0];
   10266            0 :                                     _o1[1] = captures[2];
   10267            0 :                                     _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10268            0 :                                     captures[3] = _r1;
   10269              :                                   }
   10270            0 :                                   res_op0 = unshare_expr (captures[3]);
   10271            0 :                                   tree res_op1;
   10272            0 :                                   res_op1 = captures[3];
   10273            0 :                                   tree res_op2;
   10274            0 :                                   res_op2 = captures[1];
   10275            0 :                                   tree _r;
   10276            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   10277            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 902, __FILE__, __LINE__, true);
   10278            0 :                                   return _r;
   10279              :                                 }
   10280            0 : next_after_fail1685:;
   10281              :                               }
   10282              :                           }
   10283              :                         }
   10284              :                     }
   10285              :                   break;
   10286              :                 }
   10287              :               default:;
   10288              :               }
   10289              :           }
   10290              :         break;
   10291              :       }
   10292              :     default:;
   10293              :     }
   10294              :   return NULL_TREE;
   10295              : }
   10296              : 
   10297              : tree
   10298        82452 : generic_simplify_MIN_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10299              : {
   10300        82452 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10301        82452 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10302              :     {
   10303            0 :       {
   10304            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10305            0 :         tree res = generic_simplify_524 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10306            0 :         if (res) return res;
   10307              :       }
   10308              :     }
   10309        82452 :   switch (TREE_CODE (_p0))
   10310              :     {
   10311           46 :     case MIN_EXPR:
   10312           46 :       {
   10313           46 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10314           46 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10315           46 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10316              :           {
   10317            0 :             {
   10318            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10319            0 :               tree res = generic_simplify_525 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10320            0 :               if (res) return res;
   10321              :             }
   10322              :           }
   10323           46 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10324              :           {
   10325            0 :             {
   10326            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10327            0 :               tree res = generic_simplify_525 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10328            0 :               if (res) return res;
   10329              :             }
   10330              :           }
   10331              :         break;
   10332              :       }
   10333        82452 :     default:;
   10334              :     }
   10335        82452 :   switch (TREE_CODE (_p1))
   10336              :     {
   10337            0 :     case MIN_EXPR:
   10338            0 :       {
   10339            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10340            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10341            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10342              :           {
   10343            0 :             {
   10344            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
   10345            0 :               tree res = generic_simplify_526 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10346            0 :               if (res) return res;
   10347              :             }
   10348              :           }
   10349            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10350              :           {
   10351            0 :             {
   10352            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
   10353            0 :               tree res = generic_simplify_526 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10354            0 :               if (res) return res;
   10355              :             }
   10356              :           }
   10357              :         break;
   10358              :       }
   10359        82452 :     default:;
   10360              :     }
   10361        82452 :   switch (TREE_CODE (_p0))
   10362              :     {
   10363            4 :     case MAX_EXPR:
   10364            4 :       {
   10365            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10366            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10367            4 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10368              :           {
   10369            3 :             {
   10370            3 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10371            3 :               tree res = generic_simplify_527 (loc, type, _p0, _p1, captures);
   10372            3 :               if (res) return res;
   10373              :             }
   10374              :           }
   10375            1 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10376              :           {
   10377            1 :             {
   10378            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   10379            1 :               tree res = generic_simplify_527 (loc, type, _p0, _p1, captures);
   10380            1 :               if (res) return res;
   10381              :             }
   10382              :           }
   10383              :         break;
   10384              :       }
   10385        82448 :     default:;
   10386              :     }
   10387        82448 :   switch (TREE_CODE (_p1))
   10388              :     {
   10389            0 :     case MAX_EXPR:
   10390            0 :       {
   10391            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10392            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10393            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10394              :           {
   10395            0 :             {
   10396            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
   10397            0 :               tree res = generic_simplify_527 (loc, type, _p0, _p1, captures);
   10398            0 :               if (res) return res;
   10399              :             }
   10400              :           }
   10401            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10402              :           {
   10403            0 :             {
   10404            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
   10405            0 :               tree res = generic_simplify_527 (loc, type, _p0, _p1, captures);
   10406            0 :               if (res) return res;
   10407              :             }
   10408              :           }
   10409              :         break;
   10410              :       }
   10411            0 :     case NEGATE_EXPR:
   10412            0 :       {
   10413            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10414            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10415              :           {
   10416            0 :             {
   10417            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10418            0 :               tree res = generic_simplify_528 (loc, type, _p0, _p1, captures);
   10419            0 :               if (res) return res;
   10420              :             }
   10421              :           }
   10422              :         break;
   10423              :       }
   10424        82448 :     default:;
   10425              :     }
   10426        82448 :   switch (TREE_CODE (_p0))
   10427              :     {
   10428            2 :     case NEGATE_EXPR:
   10429            2 :       {
   10430            2 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10431            2 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10432              :           {
   10433            2 :             {
   10434            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10435            2 :               tree res = generic_simplify_528 (loc, type, _p0, _p1, captures);
   10436            2 :               if (res) return res;
   10437              :             }
   10438              :           }
   10439              :         break;
   10440              :       }
   10441        82446 :     default:;
   10442              :     }
   10443        82446 :   {
   10444        82446 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10445        82446 :     if (INTEGRAL_TYPE_P (type)
   10446        80599 :  && TYPE_MIN_VALUE (type)
   10447       163045 :  && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST)
   10448              : )
   10449              :       {
   10450          556 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1766;
   10451          556 :         {
   10452          556 :           tree _r;
   10453          556 :           _r = captures[1];
   10454          556 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10455            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10456          556 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
   10457          556 :           return _r;
   10458              :         }
   10459            0 : next_after_fail1766:;
   10460              :       }
   10461              :     else
   10462              :       {
   10463        81890 :         if (INTEGRAL_TYPE_P (type)
   10464        80043 :  && TYPE_MAX_VALUE (type)
   10465       161933 :  && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST)
   10466              : )
   10467              :           {
   10468            1 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1767;
   10469            1 :             {
   10470            1 :               tree _r;
   10471            1 :               _r = captures[0];
   10472            1 :               if (TREE_SIDE_EFFECTS (captures[1]))
   10473            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10474            1 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1030, __FILE__, __LINE__, true);
   10475            1 :               return _r;
   10476              :             }
   10477            0 : next_after_fail1767:;
   10478              :           }
   10479              :       }
   10480              :   }
   10481        81889 :   switch (TREE_CODE (_p0))
   10482              :     {
   10483         5597 :     case PLUS_EXPR:
   10484         5597 :       {
   10485         5597 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10486         5597 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10487         5597 :         switch (TREE_CODE (_p1))
   10488              :           {
   10489           15 :           case PLUS_EXPR:
   10490           15 :             {
   10491           15 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10492           15 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10493           15 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10494              :                 {
   10495            0 :                   {
   10496            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10497            0 :                     tree res = generic_simplify_529 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10498            0 :                     if (res) return res;
   10499              :                   }
   10500            0 :                   {
   10501            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
   10502            0 :                     tree res = generic_simplify_529 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10503            0 :                     if (res) return res;
   10504              :                   }
   10505              :                 }
   10506           15 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10507              :                 {
   10508            0 :                   {
   10509            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   10510            0 :                     tree res = generic_simplify_529 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10511            0 :                     if (res) return res;
   10512              :                   }
   10513              :                 }
   10514           15 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10515              :                 {
   10516            1 :                   {
   10517            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
   10518            1 :                     tree res = generic_simplify_529 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10519            1 :                     if (res) return res;
   10520              :                   }
   10521              :                 }
   10522              :               break;
   10523              :             }
   10524         5596 :           default:;
   10525              :           }
   10526         5596 :         switch (TREE_CODE (_q21))
   10527              :           {
   10528         5468 :           case INTEGER_CST:
   10529         5468 :             {
   10530         5468 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10531              :                 {
   10532            0 :                   {
   10533            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10534            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
   10535              : )
   10536              :                       {
   10537            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
   10538              : )
   10539              :                           {
   10540            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1768;
   10541            0 :                             {
   10542            0 :                               tree _r;
   10543            0 :                               _r = captures[0];
   10544            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   10545            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10546            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1031, __FILE__, __LINE__, true);
   10547            0 :                               return _r;
   10548              :                             }
   10549            0 : next_after_fail1768:;
   10550              :                           }
   10551              :                         else
   10552              :                           {
   10553            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1769;
   10554            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1769;
   10555            0 :                             {
   10556            0 :                               tree _r;
   10557            0 :                               _r = captures[1];
   10558            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
   10559            0 :                               return _r;
   10560              :                             }
   10561            0 : next_after_fail1769:;
   10562              :                           }
   10563              :                       }
   10564              :                   }
   10565              :                 }
   10566              :               break;
   10567              :             }
   10568              :           default:;
   10569              :           }
   10570              :         break;
   10571              :       }
   10572         1006 :     case MINUS_EXPR:
   10573         1006 :       {
   10574         1006 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10575         1006 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10576         1006 :         switch (TREE_CODE (_p1))
   10577              :           {
   10578          988 :           case MINUS_EXPR:
   10579          988 :             {
   10580          988 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10581          988 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10582          988 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10583              :                 {
   10584            0 :                   {
   10585            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10586            0 :                     tree res = generic_simplify_530 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10587            0 :                     if (res) return res;
   10588              :                   }
   10589            0 :                   {
   10590            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
   10591            0 :                     tree res = generic_simplify_530 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10592            0 :                     if (res) return res;
   10593              :                   }
   10594              :                 }
   10595              :               break;
   10596              :             }
   10597              :           default:;
   10598              :           }
   10599              :         break;
   10600              :       }
   10601        81888 :     default:;
   10602              :     }
   10603        81888 :   switch (TREE_CODE (_p1))
   10604              :     {
   10605           21 :     case PLUS_EXPR:
   10606           21 :       {
   10607           21 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10608           21 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10609           21 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10610              :           {
   10611            0 :             switch (TREE_CODE (_q31))
   10612              :               {
   10613            0 :               case INTEGER_CST:
   10614            0 :                 {
   10615            0 :                   {
   10616            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   10617            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
   10618              : )
   10619              :                       {
   10620            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
   10621              : )
   10622              :                           {
   10623            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1770;
   10624            0 :                             {
   10625            0 :                               tree _r;
   10626            0 :                               _r = captures[0];
   10627            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   10628            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10629            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1031, __FILE__, __LINE__, true);
   10630            0 :                               return _r;
   10631              :                             }
   10632            0 : next_after_fail1770:;
   10633              :                           }
   10634              :                         else
   10635              :                           {
   10636            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1771;
   10637            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1771;
   10638            0 :                             {
   10639            0 :                               tree _r;
   10640            0 :                               _r = captures[1];
   10641            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
   10642            0 :                               return _r;
   10643              :                             }
   10644            0 : next_after_fail1771:;
   10645              :                           }
   10646              :                       }
   10647              :                   }
   10648            0 :                   break;
   10649              :                 }
   10650              :               default:;
   10651              :               }
   10652              :           }
   10653              :         break;
   10654              :       }
   10655        81888 :     default:;
   10656              :     }
   10657        81888 :   switch (TREE_CODE (_p0))
   10658              :     {
   10659           46 :     case MIN_EXPR:
   10660           46 :       {
   10661           46 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10662           46 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10663           46 :         switch (TREE_CODE (_p1))
   10664              :           {
   10665            0 :           case MAX_EXPR:
   10666            0 :             {
   10667            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10668            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10669            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10670              :                 {
   10671            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10672              :                     {
   10673            0 :                       {
   10674            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10675            0 :                         if (!HONOR_NANS (captures[0])
   10676              : )
   10677              :                           {
   10678            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1772;
   10679            0 :                             {
   10680            0 :                               tree res_op0;
   10681            0 :                               res_op0 = captures[0];
   10682            0 :                               tree res_op1;
   10683            0 :                               res_op1 = captures[1];
   10684            0 :                               tree _r;
   10685            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
   10686            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   10687            0 :                               return _r;
   10688              :                             }
   10689            0 : next_after_fail1772:;
   10690              :                           }
   10691              :                       }
   10692              :                     }
   10693              :                 }
   10694            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10695              :                 {
   10696            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10697              :                     {
   10698            0 :                       {
   10699            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   10700            0 :                         if (!HONOR_NANS (captures[0])
   10701              : )
   10702              :                           {
   10703            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1773;
   10704            0 :                             {
   10705            0 :                               tree res_op0;
   10706            0 :                               res_op0 = captures[0];
   10707            0 :                               tree res_op1;
   10708            0 :                               res_op1 = captures[1];
   10709            0 :                               tree _r;
   10710            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
   10711            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   10712            0 :                               return _r;
   10713              :                             }
   10714            0 : next_after_fail1773:;
   10715              :                           }
   10716              :                       }
   10717              :                     }
   10718              :                 }
   10719              :               break;
   10720              :             }
   10721              :           default:;
   10722              :           }
   10723              :         break;
   10724              :       }
   10725            0 :     case MAX_EXPR:
   10726            0 :       {
   10727            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10728            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10729            0 :         switch (TREE_CODE (_p1))
   10730              :           {
   10731            0 :           case MIN_EXPR:
   10732            0 :             {
   10733            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10734            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10735            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10736              :                 {
   10737            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10738              :                     {
   10739            0 :                       {
   10740            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10741            0 :                         if (!HONOR_NANS (captures[0])
   10742              : )
   10743              :                           {
   10744            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1774;
   10745            0 :                             {
   10746            0 :                               tree res_op0;
   10747            0 :                               res_op0 = captures[0];
   10748            0 :                               tree res_op1;
   10749            0 :                               res_op1 = captures[1];
   10750            0 :                               tree _r;
   10751            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
   10752            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   10753            0 :                               return _r;
   10754              :                             }
   10755            0 : next_after_fail1774:;
   10756              :                           }
   10757              :                       }
   10758              :                     }
   10759              :                 }
   10760            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10761              :                 {
   10762            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10763              :                     {
   10764            0 :                       {
   10765            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10766            0 :                         if (!HONOR_NANS (captures[0])
   10767              : )
   10768              :                           {
   10769            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1775;
   10770            0 :                             {
   10771            0 :                               tree res_op0;
   10772            0 :                               res_op0 = captures[0];
   10773            0 :                               tree res_op1;
   10774            0 :                               res_op1 = captures[1];
   10775            0 :                               tree _r;
   10776            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
   10777            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   10778            0 :                               return _r;
   10779              :                             }
   10780            0 : next_after_fail1775:;
   10781              :                           }
   10782              :                       }
   10783              :                     }
   10784              :                 }
   10785              :               break;
   10786              :             }
   10787              :           default:;
   10788              :           }
   10789              :         break;
   10790              :       }
   10791            1 :     case BIT_AND_EXPR:
   10792            1 :       {
   10793            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10794            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10795            1 :         switch (TREE_CODE (_q21))
   10796              :           {
   10797            1 :           case INTEGER_CST:
   10798            1 :             {
   10799            1 :               switch (TREE_CODE (_p1))
   10800              :                 {
   10801            0 :                 case BIT_AND_EXPR:
   10802            0 :                   {
   10803            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   10804            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   10805            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10806              :                       {
   10807            0 :                         switch (TREE_CODE (_q51))
   10808              :                           {
   10809            0 :                           case INTEGER_CST:
   10810            0 :                             {
   10811            0 :                               {
   10812            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   10813            0 :                                 tree res = generic_simplify_531 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10814            0 :                                 if (res) return res;
   10815              :                               }
   10816            0 :                               break;
   10817              :                             }
   10818              :                           default:;
   10819              :                           }
   10820              :                       }
   10821              :                     break;
   10822              :                   }
   10823              :                 default:;
   10824              :                 }
   10825              :               break;
   10826              :             }
   10827              :           default:;
   10828              :           }
   10829              :         break;
   10830              :       }
   10831        81888 :     default:;
   10832              :     }
   10833        81888 :   switch (TREE_CODE (_p1))
   10834              :     {
   10835            0 :     case BIT_AND_EXPR:
   10836            0 :       {
   10837            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10838            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10839            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10840              :           {
   10841            0 :             switch (TREE_CODE (_q31))
   10842              :               {
   10843            0 :               case INTEGER_CST:
   10844            0 :                 {
   10845            0 :                   {
   10846            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   10847            0 :                     tree res = generic_simplify_532 (loc, type, _p0, _p1, captures, MIN_EXPR);
   10848            0 :                     if (res) return res;
   10849              :                   }
   10850            0 :                   break;
   10851              :                 }
   10852              :               default:;
   10853              :               }
   10854              :           }
   10855              :         break;
   10856              :       }
   10857        81888 :     default:;
   10858              :     }
   10859        81888 :   switch (TREE_CODE (_p0))
   10860              :     {
   10861          672 :     CASE_CONVERT:
   10862          672 :       {
   10863          672 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10864          672 :         switch (TREE_CODE (_q20))
   10865              :           {
   10866           47 :           case ADDR_EXPR:
   10867           47 :             {
   10868           47 :               switch (TREE_CODE (_p1))
   10869              :                 {
   10870           47 :                 CASE_CONVERT:
   10871           47 :                   {
   10872           47 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10873           47 :                     switch (TREE_CODE (_q40))
   10874              :                       {
   10875           47 :                       case ADDR_EXPR:
   10876           47 :                         {
   10877           47 :                           {
   10878           47 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10879           47 :                             tree res = generic_simplify_533 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
   10880           47 :                             if (res) return res;
   10881              :                           }
   10882           47 :                           break;
   10883              :                         }
   10884              :                       default:;
   10885              :                       }
   10886              :                     break;
   10887              :                   }
   10888            0 :                 case ADDR_EXPR:
   10889            0 :                   {
   10890            0 :                     {
   10891            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
   10892            0 :                       tree res = generic_simplify_534 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
   10893            0 :                       if (res) return res;
   10894              :                     }
   10895            0 :                     break;
   10896              :                   }
   10897              :                 default:;
   10898              :                 }
   10899              :               break;
   10900              :             }
   10901              :           default:;
   10902              :           }
   10903              :         break;
   10904              :       }
   10905           10 :     case ADDR_EXPR:
   10906           10 :       {
   10907           10 :         switch (TREE_CODE (_p1))
   10908              :           {
   10909            0 :           CASE_CONVERT:
   10910            0 :             {
   10911            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
   10912            0 :               switch (TREE_CODE (_q30))
   10913              :                 {
   10914            0 :                 case ADDR_EXPR:
   10915            0 :                   {
   10916            0 :                     {
   10917            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
   10918            0 :                       tree res = generic_simplify_535 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
   10919            0 :                       if (res) return res;
   10920              :                     }
   10921            0 :                     break;
   10922              :                   }
   10923              :                 default:;
   10924              :                 }
   10925              :               break;
   10926              :             }
   10927           10 :           case ADDR_EXPR:
   10928           10 :             {
   10929           10 :               {
   10930           10 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
   10931           10 :                 tree res = generic_simplify_536 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
   10932           10 :                 if (res) return res;
   10933              :               }
   10934           10 :               break;
   10935              :             }
   10936              :           default:;
   10937              :           }
   10938              :         break;
   10939              :       }
   10940            0 :     case NEGATE_EXPR:
   10941            0 :       {
   10942            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10943            0 :         switch (TREE_CODE (_p1))
   10944              :           {
   10945            0 :           case NEGATE_EXPR:
   10946            0 :             {
   10947            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10948            0 :               {
   10949            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10950            0 :                 if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
   10951            0 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10952            0 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
   10953              : )
   10954              :                   {
   10955            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1776;
   10956            0 :                     {
   10957            0 :                       tree res_op0;
   10958            0 :                       {
   10959            0 :                         tree _o1[2], _r1;
   10960            0 :                         _o1[0] = captures[1];
   10961            0 :                         _o1[1] = captures[3];
   10962            0 :                         _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10963            0 :                         res_op0 = _r1;
   10964              :                       }
   10965            0 :                       tree _r;
   10966            0 :                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   10967            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
   10968            0 :                       return _r;
   10969              :                     }
   10970            0 : next_after_fail1776:;
   10971              :                   }
   10972              :               }
   10973            0 :               break;
   10974              :             }
   10975              :           default:;
   10976              :           }
   10977              :         break;
   10978              :       }
   10979            0 :     case BIT_NOT_EXPR:
   10980            0 :       {
   10981            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10982            0 :         switch (TREE_CODE (_p1))
   10983              :           {
   10984            0 :           case BIT_NOT_EXPR:
   10985            0 :             {
   10986            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10987            0 :               {
   10988            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10989            0 :                 tree res = generic_simplify_537 (loc, type, _p0, _p1, captures, MIN_EXPR, MAX_EXPR);
   10990            0 :                 if (res) return res;
   10991              :               }
   10992            0 :               break;
   10993              :             }
   10994              :           default:;
   10995              :           }
   10996              :         break;
   10997              :       }
   10998            0 :     case VEC_COND_EXPR:
   10999            0 :       {
   11000            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11001            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11002            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11003            0 :         switch (TREE_CODE (_p1))
   11004              :           {
   11005            0 :           case VEC_COND_EXPR:
   11006            0 :             {
   11007            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11008            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11009            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11010            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11011              :                 {
   11012            0 :                   {
   11013            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11014            0 :                     if (VECTOR_TYPE_P (type)
   11015            0 :  && (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
   11016              :  || types_match (type, TREE_TYPE (captures[2]))
   11017              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11018              :  || (optimize_vectors_before_lowering_p ()
   11019              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11020              : )
   11021              :                       {
   11022            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1777;
   11023            0 :                         {
   11024            0 :                           tree res_op0;
   11025            0 :                           res_op0 = captures[1];
   11026            0 :                           tree res_op1;
   11027            0 :                           {
   11028            0 :                             tree _o1[2], _r1;
   11029            0 :                             _o1[0] = captures[2];
   11030            0 :                             _o1[1] = captures[5];
   11031            0 :                             _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   11032            0 :                             if (EXPR_P (_r1))
   11033            0 :                               goto next_after_fail1777;
   11034            0 :                             res_op1 = _r1;
   11035              :                           }
   11036            0 :                           tree res_op2;
   11037            0 :                           {
   11038            0 :                             tree _o1[2], _r1;
   11039            0 :                             _o1[0] = captures[3];
   11040            0 :                             _o1[1] = captures[6];
   11041            0 :                             _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   11042            0 :                             if (EXPR_P (_r1))
   11043            0 :                               goto next_after_fail1777;
   11044            0 :                             res_op2 = _r1;
   11045              :                           }
   11046            0 :                           tree _r;
   11047            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11048            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11049            0 :                           return _r;
   11050              :                         }
   11051            0 : next_after_fail1777:;
   11052              :                       }
   11053              :                   }
   11054              :                 }
   11055              :               break;
   11056              :             }
   11057            0 :           default:;
   11058              :           }
   11059            0 :         {
   11060            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11061            0 :           if (VECTOR_TYPE_P (type)
   11062            0 :  && (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
   11063              :  || types_match (type, TREE_TYPE (captures[2]))
   11064              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11065              :  || (optimize_vectors_before_lowering_p ()
   11066              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11067              : )
   11068              :             {
   11069            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1778;
   11070            0 :               {
   11071            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1778;
   11072            0 :                 tree res_op0;
   11073            0 :                 res_op0 = captures[1];
   11074            0 :                 tree res_op1;
   11075            0 :                 {
   11076            0 :                   tree _o1[2], _r1;
   11077            0 :                   _o1[0] = captures[2];
   11078            0 :                   _o1[1] = unshare_expr (captures[4]);
   11079            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   11080            0 :                   if (EXPR_P (_r1))
   11081            0 :                     goto next_after_fail1778;
   11082            0 :                   res_op1 = _r1;
   11083              :                 }
   11084            0 :                 tree res_op2;
   11085            0 :                 {
   11086            0 :                   tree _o1[2], _r1;
   11087            0 :                   _o1[0] = captures[3];
   11088            0 :                   _o1[1] = captures[4];
   11089            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   11090            0 :                   if (EXPR_P (_r1))
   11091            0 :                     goto next_after_fail1778;
   11092            0 :                   res_op2 = _r1;
   11093              :                 }
   11094            0 :                 tree _r;
   11095            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11096            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   11097            0 :                 return _r;
   11098              :               }
   11099            0 : next_after_fail1778:;
   11100              :             }
   11101              :         }
   11102            0 :         break;
   11103              :       }
   11104        81888 :     default:;
   11105              :     }
   11106        81888 :   switch (TREE_CODE (_p1))
   11107              :     {
   11108            0 :     case VEC_COND_EXPR:
   11109            0 :       {
   11110            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11111            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11112            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11113            0 :         {
   11114            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11115            0 :           if (VECTOR_TYPE_P (type)
   11116            0 :  && (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
   11117              :  || types_match (type, TREE_TYPE (captures[3]))
   11118              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11119              :  || (optimize_vectors_before_lowering_p ()
   11120              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11121              : )
   11122              :             {
   11123            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1779;
   11124            0 :               {
   11125            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1779;
   11126            0 :                 tree res_op0;
   11127            0 :                 res_op0 = captures[2];
   11128            0 :                 tree res_op1;
   11129            0 :                 {
   11130            0 :                   tree _o1[2], _r1;
   11131            0 :                   _o1[0] = unshare_expr (captures[0]);
   11132            0 :                   _o1[1] = captures[3];
   11133            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   11134            0 :                   if (EXPR_P (_r1))
   11135            0 :                     goto next_after_fail1779;
   11136            0 :                   res_op1 = _r1;
   11137              :                 }
   11138            0 :                 tree res_op2;
   11139            0 :                 {
   11140            0 :                   tree _o1[2], _r1;
   11141            0 :                   _o1[0] = captures[0];
   11142            0 :                   _o1[1] = captures[4];
   11143            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   11144            0 :                   if (EXPR_P (_r1))
   11145            0 :                     goto next_after_fail1779;
   11146            0 :                   res_op2 = _r1;
   11147              :                 }
   11148            0 :                 tree _r;
   11149            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11150            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   11151            0 :                 return _r;
   11152              :               }
   11153            0 : next_after_fail1779:;
   11154              :             }
   11155              :         }
   11156            0 :         break;
   11157              :       }
   11158        81888 :     default:;
   11159              :     }
   11160        81888 :   if (tree_zero_one_valued_p (_p0))
   11161              :     {
   11162            3 :       if (tree_zero_one_valued_p (_p1))
   11163              :         {
   11164            2 :           {
   11165            2 :             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11166            2 :             tree res = generic_simplify_538 (loc, type, _p0, _p1, captures, MIN_EXPR, BIT_AND_EXPR);
   11167            2 :             if (res) return res;
   11168              :           }
   11169              :         }
   11170              :     }
   11171              :   return NULL_TREE;
   11172              : }
   11173              : 
   11174              : tree
   11175       663576 : generic_simplify_COMPLEX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11176              : {
   11177       663576 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11178       663576 :   switch (TREE_CODE (_p0))
   11179              :     {
   11180           40 :     case REALPART_EXPR:
   11181           40 :       {
   11182           40 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11183           40 :         switch (TREE_CODE (_p1))
   11184              :           {
   11185           30 :           case IMAGPART_EXPR:
   11186           30 :             {
   11187           30 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11188           30 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   11189              :                 {
   11190           30 :                   {
   11191           30 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11192           30 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1795;
   11193           30 :                     {
   11194           30 :                       tree _r;
   11195           30 :                       _r = captures[0];
   11196           30 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   11197           30 :                       return _r;
   11198              :                     }
   11199            0 : next_after_fail1795:;
   11200              :                   }
   11201              :                 }
   11202              :               break;
   11203              :             }
   11204              :           default:;
   11205              :           }
   11206              :         break;
   11207              :       }
   11208              :     default:;
   11209              :     }
   11210              :   return NULL_TREE;
   11211              : }
   11212              : 
   11213              : tree
   11214       789605 : generic_simplify_UNORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11215              : {
   11216       789605 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11217       789605 :   switch (TREE_CODE (_p0))
   11218              :     {
   11219            0 :     case VEC_COND_EXPR:
   11220            0 :       {
   11221            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11222            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11223            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11224            0 :         switch (TREE_CODE (_p1))
   11225              :           {
   11226            0 :           case VEC_COND_EXPR:
   11227            0 :             {
   11228            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11229            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11230            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11231            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11232              :                 {
   11233            0 :                   {
   11234            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11235            0 :                     if (VECTOR_TYPE_P (type)
   11236            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   11237            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11238            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11239              :  || (optimize_vectors_before_lowering_p ()
   11240            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11241              : )
   11242              :                       {
   11243            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1796;
   11244            0 :                         {
   11245            0 :                           tree res_op0;
   11246            0 :                           res_op0 = captures[1];
   11247            0 :                           tree res_op1;
   11248            0 :                           {
   11249            0 :                             tree _o1[2], _r1;
   11250            0 :                             _o1[0] = captures[2];
   11251            0 :                             _o1[1] = captures[5];
   11252            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11253            0 :                             if (EXPR_P (_r1))
   11254            0 :                               goto next_after_fail1796;
   11255            0 :                             res_op1 = _r1;
   11256              :                           }
   11257            0 :                           tree res_op2;
   11258            0 :                           {
   11259            0 :                             tree _o1[2], _r1;
   11260            0 :                             _o1[0] = captures[3];
   11261            0 :                             _o1[1] = captures[6];
   11262            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11263            0 :                             if (EXPR_P (_r1))
   11264            0 :                               goto next_after_fail1796;
   11265            0 :                             res_op2 = _r1;
   11266              :                           }
   11267            0 :                           tree _r;
   11268            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11269            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11270            0 :                           return _r;
   11271              :                         }
   11272            0 : next_after_fail1796:;
   11273              :                       }
   11274              :                   }
   11275              :                 }
   11276              :               break;
   11277              :             }
   11278            0 :           default:;
   11279              :           }
   11280            0 :         {
   11281            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11282            0 :           if (VECTOR_TYPE_P (type)
   11283            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   11284            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11285            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11286              :  || (optimize_vectors_before_lowering_p ()
   11287            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11288              : )
   11289              :             {
   11290            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1797;
   11291            0 :               {
   11292            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1797;
   11293            0 :                 tree res_op0;
   11294            0 :                 res_op0 = captures[1];
   11295            0 :                 tree res_op1;
   11296            0 :                 {
   11297            0 :                   tree _o1[2], _r1;
   11298            0 :                   _o1[0] = captures[2];
   11299            0 :                   _o1[1] = unshare_expr (captures[4]);
   11300            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11301            0 :                   if (EXPR_P (_r1))
   11302            0 :                     goto next_after_fail1797;
   11303            0 :                   res_op1 = _r1;
   11304              :                 }
   11305            0 :                 tree res_op2;
   11306            0 :                 {
   11307            0 :                   tree _o1[2], _r1;
   11308            0 :                   _o1[0] = captures[3];
   11309            0 :                   _o1[1] = captures[4];
   11310            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11311            0 :                   if (EXPR_P (_r1))
   11312            0 :                     goto next_after_fail1797;
   11313            0 :                   res_op2 = _r1;
   11314              :                 }
   11315            0 :                 tree _r;
   11316            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11317            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   11318            0 :                 return _r;
   11319              :               }
   11320            0 : next_after_fail1797:;
   11321              :             }
   11322              :         }
   11323            0 :         break;
   11324              :       }
   11325       789605 :     default:;
   11326              :     }
   11327       789605 :   switch (TREE_CODE (_p1))
   11328              :     {
   11329            0 :     case VEC_COND_EXPR:
   11330            0 :       {
   11331            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11332            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11333            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11334            0 :         {
   11335            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11336            0 :           if (VECTOR_TYPE_P (type)
   11337            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   11338            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11339            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11340              :  || (optimize_vectors_before_lowering_p ()
   11341            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11342              : )
   11343              :             {
   11344            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1798;
   11345            0 :               {
   11346            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1798;
   11347            0 :                 tree res_op0;
   11348            0 :                 res_op0 = captures[2];
   11349            0 :                 tree res_op1;
   11350            0 :                 {
   11351            0 :                   tree _o1[2], _r1;
   11352            0 :                   _o1[0] = unshare_expr (captures[0]);
   11353            0 :                   _o1[1] = captures[3];
   11354            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11355            0 :                   if (EXPR_P (_r1))
   11356            0 :                     goto next_after_fail1798;
   11357            0 :                   res_op1 = _r1;
   11358              :                 }
   11359            0 :                 tree res_op2;
   11360            0 :                 {
   11361            0 :                   tree _o1[2], _r1;
   11362            0 :                   _o1[0] = captures[0];
   11363            0 :                   _o1[1] = captures[4];
   11364            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11365            0 :                   if (EXPR_P (_r1))
   11366            0 :                     goto next_after_fail1798;
   11367            0 :                   res_op2 = _r1;
   11368              :                 }
   11369            0 :                 tree _r;
   11370            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11371            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   11372            0 :                 return _r;
   11373              :               }
   11374            0 : next_after_fail1798:;
   11375              :             }
   11376              :         }
   11377            0 :         break;
   11378              :       }
   11379       789605 :     default:;
   11380              :     }
   11381       789605 :   switch (TREE_CODE (_p0))
   11382              :     {
   11383            0 :     case FLOAT_EXPR:
   11384            0 :       {
   11385            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11386            0 :         switch (TREE_CODE (_p1))
   11387              :           {
   11388            0 :           case FLOAT_EXPR:
   11389            0 :             {
   11390            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11391            0 :               {
   11392            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11393            0 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   11394            0 :                 if (res) return res;
   11395              :               }
   11396            0 :               break;
   11397              :             }
   11398              :           default:;
   11399              :           }
   11400              :         break;
   11401              :       }
   11402           18 :     case NEGATE_EXPR:
   11403           18 :       {
   11404           18 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11405           18 :         switch (TREE_CODE (_p1))
   11406              :           {
   11407           18 :           case NEGATE_EXPR:
   11408           18 :             {
   11409           18 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11410           18 :               {
   11411           18 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11412           18 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   11413           18 :                 if (res) return res;
   11414              :               }
   11415            0 :               break;
   11416              :             }
   11417            0 :           default:;
   11418              :           }
   11419            0 :       if (CONSTANT_CLASS_P (_p1))
   11420              :         {
   11421            0 :           {
   11422            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11423            0 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   11424            0 :             if (res) return res;
   11425              :           }
   11426              :         }
   11427              :         break;
   11428              :       }
   11429       789587 :     default:;
   11430              :     }
   11431       789587 :   switch (TREE_CODE (_p1))
   11432              :     {
   11433          519 :     case REAL_CST:
   11434          519 :       {
   11435          519 :         {
   11436          519 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11437          519 :           tree res = generic_simplify_567 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   11438          519 :           if (res) return res;
   11439              :         }
   11440          519 :         break;
   11441              :       }
   11442       789587 :     default:;
   11443              :     }
   11444       789587 :   {
   11445       789587 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11446       789587 :     if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
   11447              : )
   11448              :       {
   11449            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1799;
   11450            0 :         {
   11451            0 :           tree _r;
   11452            0 :           _r =  constant_boolean_node (true, type);
   11453            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   11454            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11455            0 :           if (TREE_SIDE_EFFECTS (captures[1]))
   11456            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11457            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   11458            0 :           return _r;
   11459              :         }
   11460            0 : next_after_fail1799:;
   11461              :       }
   11462              :     else
   11463              :       {
   11464       789587 :         if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
   11465              : )
   11466              :           {
   11467           35 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1800;
   11468           35 :             {
   11469           35 :               tree _r;
   11470           35 :               _r =  constant_boolean_node (false, type);
   11471           35 :               if (TREE_SIDE_EFFECTS (captures[0]))
   11472            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11473           35 :               if (TREE_SIDE_EFFECTS (captures[1]))
   11474            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11475           35 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   11476           35 :               return _r;
   11477              :             }
   11478            0 : next_after_fail1800:;
   11479              :           }
   11480              :       }
   11481              :   }
   11482       789552 :   return NULL_TREE;
   11483              : }
   11484              : 
   11485              : tree
   11486       432746 : generic_simplify_UNGE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11487              : {
   11488       432746 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11489       432746 :   switch (TREE_CODE (_p0))
   11490              :     {
   11491            0 :     case VEC_COND_EXPR:
   11492            0 :       {
   11493            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11494            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11495            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11496            0 :         switch (TREE_CODE (_p1))
   11497              :           {
   11498            0 :           case VEC_COND_EXPR:
   11499            0 :             {
   11500            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11501            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11502            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11503            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11504              :                 {
   11505            0 :                   {
   11506            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11507            0 :                     if (VECTOR_TYPE_P (type)
   11508            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   11509            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11510            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11511              :  || (optimize_vectors_before_lowering_p ()
   11512            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11513              : )
   11514              :                       {
   11515            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1815;
   11516            0 :                         {
   11517            0 :                           tree res_op0;
   11518            0 :                           res_op0 = captures[1];
   11519            0 :                           tree res_op1;
   11520            0 :                           {
   11521            0 :                             tree _o1[2], _r1;
   11522            0 :                             _o1[0] = captures[2];
   11523            0 :                             _o1[1] = captures[5];
   11524            0 :                             _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11525            0 :                             if (EXPR_P (_r1))
   11526            0 :                               goto next_after_fail1815;
   11527            0 :                             res_op1 = _r1;
   11528              :                           }
   11529            0 :                           tree res_op2;
   11530            0 :                           {
   11531            0 :                             tree _o1[2], _r1;
   11532            0 :                             _o1[0] = captures[3];
   11533            0 :                             _o1[1] = captures[6];
   11534            0 :                             _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11535            0 :                             if (EXPR_P (_r1))
   11536            0 :                               goto next_after_fail1815;
   11537            0 :                             res_op2 = _r1;
   11538              :                           }
   11539            0 :                           tree _r;
   11540            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11541            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11542            0 :                           return _r;
   11543              :                         }
   11544            0 : next_after_fail1815:;
   11545              :                       }
   11546              :                   }
   11547              :                 }
   11548              :               break;
   11549              :             }
   11550            0 :           default:;
   11551              :           }
   11552            0 :         {
   11553            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11554            0 :           if (VECTOR_TYPE_P (type)
   11555            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   11556            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11557            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11558              :  || (optimize_vectors_before_lowering_p ()
   11559            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11560              : )
   11561              :             {
   11562            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1816;
   11563            0 :               {
   11564            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1816;
   11565            0 :                 tree res_op0;
   11566            0 :                 res_op0 = captures[1];
   11567            0 :                 tree res_op1;
   11568            0 :                 {
   11569            0 :                   tree _o1[2], _r1;
   11570            0 :                   _o1[0] = captures[2];
   11571            0 :                   _o1[1] = unshare_expr (captures[4]);
   11572            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11573            0 :                   if (EXPR_P (_r1))
   11574            0 :                     goto next_after_fail1816;
   11575            0 :                   res_op1 = _r1;
   11576              :                 }
   11577            0 :                 tree res_op2;
   11578            0 :                 {
   11579            0 :                   tree _o1[2], _r1;
   11580            0 :                   _o1[0] = captures[3];
   11581            0 :                   _o1[1] = captures[4];
   11582            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11583            0 :                   if (EXPR_P (_r1))
   11584            0 :                     goto next_after_fail1816;
   11585            0 :                   res_op2 = _r1;
   11586              :                 }
   11587            0 :                 tree _r;
   11588            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11589            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   11590            0 :                 return _r;
   11591              :               }
   11592            0 : next_after_fail1816:;
   11593              :             }
   11594              :         }
   11595            0 :         break;
   11596              :       }
   11597       432746 :     default:;
   11598              :     }
   11599       432746 :   switch (TREE_CODE (_p1))
   11600              :     {
   11601            0 :     case VEC_COND_EXPR:
   11602            0 :       {
   11603            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11604            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11605            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11606            0 :         {
   11607            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11608            0 :           if (VECTOR_TYPE_P (type)
   11609            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   11610            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11611            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11612              :  || (optimize_vectors_before_lowering_p ()
   11613            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11614              : )
   11615              :             {
   11616            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1817;
   11617            0 :               {
   11618            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1817;
   11619            0 :                 tree res_op0;
   11620            0 :                 res_op0 = captures[2];
   11621            0 :                 tree res_op1;
   11622            0 :                 {
   11623            0 :                   tree _o1[2], _r1;
   11624            0 :                   _o1[0] = unshare_expr (captures[0]);
   11625            0 :                   _o1[1] = captures[3];
   11626            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11627            0 :                   if (EXPR_P (_r1))
   11628            0 :                     goto next_after_fail1817;
   11629            0 :                   res_op1 = _r1;
   11630              :                 }
   11631            0 :                 tree res_op2;
   11632            0 :                 {
   11633            0 :                   tree _o1[2], _r1;
   11634            0 :                   _o1[0] = captures[0];
   11635            0 :                   _o1[1] = captures[4];
   11636            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11637            0 :                   if (EXPR_P (_r1))
   11638            0 :                     goto next_after_fail1817;
   11639            0 :                   res_op2 = _r1;
   11640              :                 }
   11641            0 :                 tree _r;
   11642            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11643            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   11644            0 :                 return _r;
   11645              :               }
   11646            0 : next_after_fail1817:;
   11647              :             }
   11648              :         }
   11649            0 :         break;
   11650              :       }
   11651       432746 :     default:;
   11652              :     }
   11653       432746 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11654              :     {
   11655           30 :       {
   11656           30 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11657           30 :         tree res = generic_simplify_569 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   11658           30 :         if (res) return res;
   11659              :       }
   11660              :     }
   11661       432716 :   switch (TREE_CODE (_p0))
   11662              :     {
   11663          299 :     case FLOAT_EXPR:
   11664          299 :       {
   11665          299 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11666          299 :         switch (TREE_CODE (_p1))
   11667              :           {
   11668            0 :           case FLOAT_EXPR:
   11669            0 :             {
   11670            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11671            0 :               {
   11672            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11673            0 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNGE_EXPR, GE_EXPR);
   11674            0 :                 if (res) return res;
   11675              :               }
   11676            0 :               break;
   11677              :             }
   11678              :           default:;
   11679              :           }
   11680              :         break;
   11681              :       }
   11682          112 :     case NEGATE_EXPR:
   11683          112 :       {
   11684          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11685          112 :         switch (TREE_CODE (_p1))
   11686              :           {
   11687            0 :           case NEGATE_EXPR:
   11688            0 :             {
   11689            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11690            0 :               {
   11691            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11692            0 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
   11693            0 :                 if (res) return res;
   11694              :               }
   11695            0 :               break;
   11696              :             }
   11697          112 :           default:;
   11698              :           }
   11699          112 :       if (CONSTANT_CLASS_P (_p1))
   11700              :         {
   11701          112 :           {
   11702          112 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11703          112 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
   11704          112 :             if (res) return res;
   11705              :           }
   11706              :         }
   11707              :         break;
   11708              :       }
   11709       432604 :     default:;
   11710              :     }
   11711       432604 :   switch (TREE_CODE (_p1))
   11712              :     {
   11713        54109 :     case REAL_CST:
   11714        54109 :       {
   11715        54109 :         {
   11716        54109 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11717        54109 :           tree res = generic_simplify_567 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   11718        54109 :           if (res) return res;
   11719              :         }
   11720        54107 :         break;
   11721              :       }
   11722              :     default:;
   11723              :     }
   11724              :   return NULL_TREE;
   11725              : }
   11726              : 
   11727              : tree
   11728     13061620 : generic_simplify_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   11729              : {
   11730     13061620 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11731     13061620 :   switch (TREE_CODE (_p0))
   11732              :     {
   11733      1821379 :     case LT_EXPR:
   11734      1821379 :       {
   11735      1821379 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11736      1821379 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11737      1821379 :         switch (TREE_CODE (_q20))
   11738              :           {
   11739        11321 :           case MINUS_EXPR:
   11740        11321 :             {
   11741        11321 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11742        11321 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11743        11321 :               switch (TREE_CODE (_q30))
   11744              :                 {
   11745          594 :                 case SSA_NAME:
   11746          594 :                   {
   11747          594 :                     switch (TREE_CODE (_q31))
   11748              :                       {
   11749            0 :                       case CALL_EXPR:
   11750            0 :                         switch (get_call_combined_fn (_q31))
   11751              :                           {
   11752            0 :                           case CFN_BUILT_IN_FLOORF:
   11753            0 :                             if (call_expr_nargs (_q31) == 1)
   11754              :     {
   11755            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11756            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11757              :                                   {
   11758            0 :                                     switch (TREE_CODE (_q50))
   11759              :                                       {
   11760            0 :                                       case SSA_NAME:
   11761            0 :                                         {
   11762            0 :                                           switch (TREE_CODE (_q21))
   11763              :                                             {
   11764            0 :                                             case MINUS_EXPR:
   11765            0 :                                               {
   11766            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11767            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11768            0 :                                                 switch (TREE_CODE (_q80))
   11769              :                                                   {
   11770            0 :                                                   case CALL_EXPR:
   11771            0 :                                                     switch (get_call_combined_fn (_q80))
   11772              :                                                       {
   11773            0 :                                                       case CFN_BUILT_IN_CEILF:
   11774            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11775              :     {
   11776            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11777            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11778              :                                                               {
   11779            0 :                                                                 switch (TREE_CODE (_q90))
   11780              :                                                                   {
   11781            0 :                                                                   case SSA_NAME:
   11782            0 :                                                                     {
   11783            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11784              :                                                                         {
   11785            0 :                                                                           switch (TREE_CODE (_q81))
   11786              :                                                                             {
   11787            0 :                                                                             case SSA_NAME:
   11788            0 :                                                                               {
   11789            0 :                                                                                 switch (TREE_CODE (_p1))
   11790              :                                                                                   {
   11791            0 :                                                                                   case CALL_EXPR:
   11792            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11793              :                                                                                       {
   11794            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   11795            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11796              :     {
   11797            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11798            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11799              :                                                                                               {
   11800            0 :                                                                                                 switch (TREE_CODE (_q140))
   11801              :                                                                                                   {
   11802            0 :                                                                                                   case SSA_NAME:
   11803            0 :                                                                                                     {
   11804            0 :                                                                                                       switch (TREE_CODE (_p2))
   11805              :                                                                                                         {
   11806            0 :                                                                                                         case CALL_EXPR:
   11807            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11808              :                                                                                                             {
   11809            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   11810            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11811              :     {
   11812            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11813            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11814              :                                                                                                                     {
   11815            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11816              :                                                                                                                         {
   11817            0 :                                                                                                                         case SSA_NAME:
   11818            0 :                                                                                                                           {
   11819            0 :                                                                                                                             {
   11820            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11821            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   11822            0 :                                                                                                                               if (res) return res;
   11823              :                                                                                                                             }
   11824            0 :                                                                                                                             break;
   11825              :                                                                                                                           }
   11826              :                                                                                                                         default:;
   11827              :                                                                                                                         }
   11828              :                                                                                                                     }
   11829              :                                                                                                                 }
   11830              :                                                                                                               break;
   11831              :                                                                                                             default:;
   11832              :                                                                                                             }
   11833              :                                                                                                           break;
   11834              :                                                                                                         default:;
   11835              :                                                                                                         }
   11836              :                                                                                                       break;
   11837              :                                                                                                     }
   11838              :                                                                                                   default:;
   11839              :                                                                                                   }
   11840              :                                                                                               }
   11841              :                                                                                           }
   11842              :                                                                                         break;
   11843              :                                                                                       default:;
   11844              :                                                                                       }
   11845              :                                                                                     break;
   11846              :                                                                                   default:;
   11847              :                                                                                   }
   11848              :                                                                                 break;
   11849              :                                                                               }
   11850              :                                                                             default:;
   11851              :                                                                             }
   11852              :                                                                         }
   11853              :                                                                       break;
   11854              :                                                                     }
   11855              :                                                                   default:;
   11856              :                                                                   }
   11857              :                                                               }
   11858              :                                                           }
   11859              :                                                         break;
   11860              :                                                       default:;
   11861              :                                                       }
   11862              :                                                     break;
   11863              :                                                   default:;
   11864              :                                                   }
   11865              :                                                 break;
   11866              :                                               }
   11867              :                                             default:;
   11868              :                                             }
   11869              :                                           break;
   11870              :                                         }
   11871              :                                       default:;
   11872              :                                       }
   11873              :                                   }
   11874              :                               }
   11875              :                             break;
   11876            0 :                           case CFN_BUILT_IN_FLOORL:
   11877            0 :                             if (call_expr_nargs (_q31) == 1)
   11878              :     {
   11879            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11880            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11881              :                                   {
   11882            0 :                                     switch (TREE_CODE (_q50))
   11883              :                                       {
   11884            0 :                                       case SSA_NAME:
   11885            0 :                                         {
   11886            0 :                                           switch (TREE_CODE (_q21))
   11887              :                                             {
   11888            0 :                                             case MINUS_EXPR:
   11889            0 :                                               {
   11890            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11891            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11892            0 :                                                 switch (TREE_CODE (_q80))
   11893              :                                                   {
   11894            0 :                                                   case CALL_EXPR:
   11895            0 :                                                     switch (get_call_combined_fn (_q80))
   11896              :                                                       {
   11897            0 :                                                       case CFN_BUILT_IN_CEILL:
   11898            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11899              :     {
   11900            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11901            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11902              :                                                               {
   11903            0 :                                                                 switch (TREE_CODE (_q90))
   11904              :                                                                   {
   11905            0 :                                                                   case SSA_NAME:
   11906            0 :                                                                     {
   11907            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11908              :                                                                         {
   11909            0 :                                                                           switch (TREE_CODE (_q81))
   11910              :                                                                             {
   11911            0 :                                                                             case SSA_NAME:
   11912            0 :                                                                               {
   11913            0 :                                                                                 switch (TREE_CODE (_p1))
   11914              :                                                                                   {
   11915            0 :                                                                                   case CALL_EXPR:
   11916            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11917              :                                                                                       {
   11918            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   11919            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11920              :     {
   11921            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11922            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11923              :                                                                                               {
   11924            0 :                                                                                                 switch (TREE_CODE (_q140))
   11925              :                                                                                                   {
   11926            0 :                                                                                                   case SSA_NAME:
   11927            0 :                                                                                                     {
   11928            0 :                                                                                                       switch (TREE_CODE (_p2))
   11929              :                                                                                                         {
   11930            0 :                                                                                                         case CALL_EXPR:
   11931            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11932              :                                                                                                             {
   11933            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   11934            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11935              :     {
   11936            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11937            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11938              :                                                                                                                     {
   11939            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11940              :                                                                                                                         {
   11941            0 :                                                                                                                         case SSA_NAME:
   11942            0 :                                                                                                                           {
   11943            0 :                                                                                                                             {
   11944            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11945            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   11946            0 :                                                                                                                               if (res) return res;
   11947              :                                                                                                                             }
   11948            0 :                                                                                                                             break;
   11949              :                                                                                                                           }
   11950              :                                                                                                                         default:;
   11951              :                                                                                                                         }
   11952              :                                                                                                                     }
   11953              :                                                                                                                 }
   11954              :                                                                                                               break;
   11955              :                                                                                                             default:;
   11956              :                                                                                                             }
   11957              :                                                                                                           break;
   11958              :                                                                                                         default:;
   11959              :                                                                                                         }
   11960              :                                                                                                       break;
   11961              :                                                                                                     }
   11962              :                                                                                                   default:;
   11963              :                                                                                                   }
   11964              :                                                                                               }
   11965              :                                                                                           }
   11966              :                                                                                         break;
   11967              :                                                                                       default:;
   11968              :                                                                                       }
   11969              :                                                                                     break;
   11970              :                                                                                   default:;
   11971              :                                                                                   }
   11972              :                                                                                 break;
   11973              :                                                                               }
   11974              :                                                                             default:;
   11975              :                                                                             }
   11976              :                                                                         }
   11977              :                                                                       break;
   11978              :                                                                     }
   11979              :                                                                   default:;
   11980              :                                                                   }
   11981              :                                                               }
   11982              :                                                           }
   11983              :                                                         break;
   11984              :                                                       default:;
   11985              :                                                       }
   11986              :                                                     break;
   11987              :                                                   default:;
   11988              :                                                   }
   11989              :                                                 break;
   11990              :                                               }
   11991              :                                             default:;
   11992              :                                             }
   11993              :                                           break;
   11994              :                                         }
   11995              :                                       default:;
   11996              :                                       }
   11997              :                                   }
   11998              :                               }
   11999              :                             break;
   12000            0 :                           case CFN_FLOOR:
   12001            0 :                             if (call_expr_nargs (_q31) == 1)
   12002              :     {
   12003            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12004            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12005              :                                   {
   12006            0 :                                     switch (TREE_CODE (_q50))
   12007              :                                       {
   12008            0 :                                       case SSA_NAME:
   12009            0 :                                         {
   12010            0 :                                           switch (TREE_CODE (_q21))
   12011              :                                             {
   12012            0 :                                             case MINUS_EXPR:
   12013            0 :                                               {
   12014            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12015            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12016            0 :                                                 switch (TREE_CODE (_q80))
   12017              :                                                   {
   12018            0 :                                                   case CALL_EXPR:
   12019            0 :                                                     switch (get_call_combined_fn (_q80))
   12020              :                                                       {
   12021            0 :                                                       case CFN_CEIL:
   12022            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12023              :     {
   12024            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12025            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12026              :                                                               {
   12027            0 :                                                                 switch (TREE_CODE (_q90))
   12028              :                                                                   {
   12029            0 :                                                                   case SSA_NAME:
   12030            0 :                                                                     {
   12031            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12032              :                                                                         {
   12033            0 :                                                                           switch (TREE_CODE (_q81))
   12034              :                                                                             {
   12035            0 :                                                                             case SSA_NAME:
   12036            0 :                                                                               {
   12037            0 :                                                                                 switch (TREE_CODE (_p1))
   12038              :                                                                                   {
   12039            0 :                                                                                   case CALL_EXPR:
   12040            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12041              :                                                                                       {
   12042            0 :                                                                                       case CFN_FLOOR:
   12043            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12044              :     {
   12045            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12046            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12047              :                                                                                               {
   12048            0 :                                                                                                 switch (TREE_CODE (_q140))
   12049              :                                                                                                   {
   12050            0 :                                                                                                   case SSA_NAME:
   12051            0 :                                                                                                     {
   12052            0 :                                                                                                       switch (TREE_CODE (_p2))
   12053              :                                                                                                         {
   12054            0 :                                                                                                         case CALL_EXPR:
   12055            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12056              :                                                                                                             {
   12057            0 :                                                                                                             case CFN_CEIL:
   12058            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12059              :     {
   12060            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12061            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12062              :                                                                                                                     {
   12063            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12064              :                                                                                                                         {
   12065            0 :                                                                                                                         case SSA_NAME:
   12066            0 :                                                                                                                           {
   12067            0 :                                                                                                                             {
   12068            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12069            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   12070            0 :                                                                                                                               if (res) return res;
   12071              :                                                                                                                             }
   12072            0 :                                                                                                                             break;
   12073              :                                                                                                                           }
   12074              :                                                                                                                         default:;
   12075              :                                                                                                                         }
   12076              :                                                                                                                     }
   12077              :                                                                                                                 }
   12078              :                                                                                                               break;
   12079              :                                                                                                             default:;
   12080              :                                                                                                             }
   12081              :                                                                                                           break;
   12082              :                                                                                                         default:;
   12083              :                                                                                                         }
   12084              :                                                                                                       break;
   12085              :                                                                                                     }
   12086              :                                                                                                   default:;
   12087              :                                                                                                   }
   12088              :                                                                                               }
   12089              :                                                                                           }
   12090              :                                                                                         break;
   12091              :                                                                                       default:;
   12092              :                                                                                       }
   12093              :                                                                                     break;
   12094              :                                                                                   default:;
   12095              :                                                                                   }
   12096              :                                                                                 break;
   12097              :                                                                               }
   12098              :                                                                             default:;
   12099              :                                                                             }
   12100              :                                                                         }
   12101              :                                                                       break;
   12102              :                                                                     }
   12103              :                                                                   default:;
   12104              :                                                                   }
   12105              :                                                               }
   12106              :                                                           }
   12107              :                                                         break;
   12108              :                                                       default:;
   12109              :                                                       }
   12110              :                                                     break;
   12111              :                                                   default:;
   12112              :                                                   }
   12113              :                                                 break;
   12114              :                                               }
   12115              :                                             default:;
   12116              :                                             }
   12117              :                                           break;
   12118              :                                         }
   12119              :                                       default:;
   12120              :                                       }
   12121              :                                   }
   12122              :                               }
   12123              :                             break;
   12124            0 :                           case CFN_BUILT_IN_FLOOR:
   12125            0 :                             if (call_expr_nargs (_q31) == 1)
   12126              :     {
   12127            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12128            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12129              :                                   {
   12130            0 :                                     switch (TREE_CODE (_q50))
   12131              :                                       {
   12132            0 :                                       case SSA_NAME:
   12133            0 :                                         {
   12134            0 :                                           switch (TREE_CODE (_q21))
   12135              :                                             {
   12136            0 :                                             case MINUS_EXPR:
   12137            0 :                                               {
   12138            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12139            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12140            0 :                                                 switch (TREE_CODE (_q80))
   12141              :                                                   {
   12142            0 :                                                   case CALL_EXPR:
   12143            0 :                                                     switch (get_call_combined_fn (_q80))
   12144              :                                                       {
   12145            0 :                                                       case CFN_BUILT_IN_CEIL:
   12146            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12147              :     {
   12148            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12149            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12150              :                                                               {
   12151            0 :                                                                 switch (TREE_CODE (_q90))
   12152              :                                                                   {
   12153            0 :                                                                   case SSA_NAME:
   12154            0 :                                                                     {
   12155            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12156              :                                                                         {
   12157            0 :                                                                           switch (TREE_CODE (_q81))
   12158              :                                                                             {
   12159            0 :                                                                             case SSA_NAME:
   12160            0 :                                                                               {
   12161            0 :                                                                                 switch (TREE_CODE (_p1))
   12162              :                                                                                   {
   12163            0 :                                                                                   case CALL_EXPR:
   12164            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12165              :                                                                                       {
   12166            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   12167            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12168              :     {
   12169            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12170            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12171              :                                                                                               {
   12172            0 :                                                                                                 switch (TREE_CODE (_q140))
   12173              :                                                                                                   {
   12174            0 :                                                                                                   case SSA_NAME:
   12175            0 :                                                                                                     {
   12176            0 :                                                                                                       switch (TREE_CODE (_p2))
   12177              :                                                                                                         {
   12178            0 :                                                                                                         case CALL_EXPR:
   12179            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12180              :                                                                                                             {
   12181            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   12182            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12183              :     {
   12184            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12185            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12186              :                                                                                                                     {
   12187            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12188              :                                                                                                                         {
   12189            0 :                                                                                                                         case SSA_NAME:
   12190            0 :                                                                                                                           {
   12191            0 :                                                                                                                             {
   12192            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12193            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   12194            0 :                                                                                                                               if (res) return res;
   12195              :                                                                                                                             }
   12196            0 :                                                                                                                             break;
   12197              :                                                                                                                           }
   12198              :                                                                                                                         default:;
   12199              :                                                                                                                         }
   12200              :                                                                                                                     }
   12201              :                                                                                                                 }
   12202              :                                                                                                               break;
   12203              :                                                                                                             default:;
   12204              :                                                                                                             }
   12205              :                                                                                                           break;
   12206              :                                                                                                         default:;
   12207              :                                                                                                         }
   12208              :                                                                                                       break;
   12209              :                                                                                                     }
   12210              :                                                                                                   default:;
   12211              :                                                                                                   }
   12212              :                                                                                               }
   12213              :                                                                                           }
   12214              :                                                                                         break;
   12215              :                                                                                       default:;
   12216              :                                                                                       }
   12217              :                                                                                     break;
   12218              :                                                                                   default:;
   12219              :                                                                                   }
   12220              :                                                                                 break;
   12221              :                                                                               }
   12222              :                                                                             default:;
   12223              :                                                                             }
   12224              :                                                                         }
   12225              :                                                                       break;
   12226              :                                                                     }
   12227              :                                                                   default:;
   12228              :                                                                   }
   12229              :                                                               }
   12230              :                                                           }
   12231              :                                                         break;
   12232              :                                                       default:;
   12233              :                                                       }
   12234              :                                                     break;
   12235              :                                                   default:;
   12236              :                                                   }
   12237              :                                                 break;
   12238              :                                               }
   12239              :                                             default:;
   12240              :                                             }
   12241              :                                           break;
   12242              :                                         }
   12243              :                                       default:;
   12244              :                                       }
   12245              :                                   }
   12246              :                               }
   12247              :                             break;
   12248              :                           default:;
   12249              :                           }
   12250              :                         break;
   12251              :                       default:;
   12252              :                       }
   12253              :                     break;
   12254              :                   }
   12255              :                 default:;
   12256              :                 }
   12257              :               break;
   12258              :             }
   12259       101312 :           CASE_CONVERT:
   12260       101312 :             {
   12261       101312 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12262       101312 :               switch (TREE_CODE (_q21))
   12263              :                 {
   12264        20522 :                 case INTEGER_CST:
   12265        20522 :                   {
   12266        20522 :                     switch (TREE_CODE (_p1))
   12267              :                       {
   12268           15 :                       CASE_CONVERT:
   12269           15 :                         {
   12270           15 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12271           15 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12272              :                             {
   12273            0 :                               switch (TREE_CODE (_p2))
   12274              :                                 {
   12275            0 :                                 case INTEGER_CST:
   12276            0 :                                   {
   12277            0 :                                     {
   12278            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12279            0 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12280            0 :                                       if (res) return res;
   12281              :                                     }
   12282            0 :                                     break;
   12283              :                                   }
   12284              :                                 default:;
   12285              :                                 }
   12286              :                             }
   12287              :                           break;
   12288              :                         }
   12289        20522 :                       default:;
   12290              :                       }
   12291        20522 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12292              :                       {
   12293            6 :                         switch (TREE_CODE (_p2))
   12294              :                           {
   12295            6 :                           case INTEGER_CST:
   12296            6 :                             {
   12297            6 :                               {
   12298            6 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12299            6 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12300            6 :                                 if (res) return res;
   12301              :                               }
   12302            6 :                               break;
   12303              :                             }
   12304              :                           default:;
   12305              :                           }
   12306              :                       }
   12307        20522 :                     switch (TREE_CODE (_p1))
   12308              :                       {
   12309           25 :                       case PLUS_EXPR:
   12310           25 :                         {
   12311           25 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12312           25 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12313           25 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12314              :                             {
   12315            7 :                               switch (TREE_CODE (_q61))
   12316              :                                 {
   12317            7 :                                 case INTEGER_CST:
   12318            7 :                                   {
   12319            7 :                                     switch (TREE_CODE (_p2))
   12320              :                                       {
   12321            7 :                                       case INTEGER_CST:
   12322            7 :                                         {
   12323            7 :                                           {
   12324            7 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12325            7 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12326            7 :                                             if (res) return res;
   12327              :                                           }
   12328            0 :                                           break;
   12329              :                                         }
   12330              :                                       default:;
   12331              :                                       }
   12332              :                                     break;
   12333              :                                   }
   12334              :                                 default:;
   12335              :                                 }
   12336              :                             }
   12337              :                           break;
   12338              :                         }
   12339            0 :                       case MINUS_EXPR:
   12340            0 :                         {
   12341            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12342            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12343            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12344              :                             {
   12345            0 :                               switch (TREE_CODE (_q61))
   12346              :                                 {
   12347            0 :                                 case INTEGER_CST:
   12348            0 :                                   {
   12349            0 :                                     switch (TREE_CODE (_p2))
   12350              :                                       {
   12351            0 :                                       case INTEGER_CST:
   12352            0 :                                         {
   12353            0 :                                           {
   12354            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12355            0 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12356            0 :                                             if (res) return res;
   12357              :                                           }
   12358            0 :                                           break;
   12359              :                                         }
   12360              :                                       default:;
   12361              :                                       }
   12362              :                                     break;
   12363              :                                   }
   12364              :                                 default:;
   12365              :                                 }
   12366              :                             }
   12367              :                           break;
   12368              :                         }
   12369              :                       default:;
   12370              :                       }
   12371              :                     break;
   12372              :                   }
   12373              :                 default:;
   12374              :                 }
   12375              :               break;
   12376              :             }
   12377      1821372 :           default:;
   12378              :           }
   12379      1821372 :         switch (TREE_CODE (_q21))
   12380              :           {
   12381       373614 :           case INTEGER_CST:
   12382       373614 :             {
   12383       373614 :               switch (TREE_CODE (_p1))
   12384              :                 {
   12385         1117 :                 CASE_CONVERT:
   12386         1117 :                   {
   12387         1117 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12388         1117 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12389              :                       {
   12390           36 :                         switch (TREE_CODE (_p2))
   12391              :                           {
   12392            5 :                           case INTEGER_CST:
   12393            5 :                             {
   12394            5 :                               {
   12395            5 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12396            5 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12397            5 :                                 if (res) return res;
   12398              :                               }
   12399            5 :                               break;
   12400              :                             }
   12401              :                           default:;
   12402              :                           }
   12403              :                       }
   12404              :                     break;
   12405              :                   }
   12406       373614 :                 default:;
   12407              :                 }
   12408       373614 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12409              :                 {
   12410           81 :                   switch (TREE_CODE (_p2))
   12411              :                     {
   12412            8 :                     case INTEGER_CST:
   12413            8 :                       {
   12414            8 :                         {
   12415            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12416            8 :                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12417            8 :                           if (res) return res;
   12418              :                         }
   12419            0 :                         break;
   12420              :                       }
   12421              :                     default:;
   12422              :                     }
   12423              :                 }
   12424       373606 :               switch (TREE_CODE (_p1))
   12425              :                 {
   12426         9411 :                 case PLUS_EXPR:
   12427         9411 :                   {
   12428         9411 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12429         9411 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12430         9411 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12431              :                       {
   12432         9376 :                         switch (TREE_CODE (_q51))
   12433              :                           {
   12434         9376 :                           case INTEGER_CST:
   12435         9376 :                             {
   12436         9376 :                               switch (TREE_CODE (_p2))
   12437              :                                 {
   12438           24 :                                 case INTEGER_CST:
   12439           24 :                                   {
   12440           24 :                                     {
   12441           24 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12442           24 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12443           24 :                                       if (res) return res;
   12444              :                                     }
   12445           24 :                                     break;
   12446              :                                   }
   12447              :                                 default:;
   12448              :                                 }
   12449              :                               break;
   12450              :                             }
   12451              :                           default:;
   12452              :                           }
   12453              :                       }
   12454              :                     break;
   12455              :                   }
   12456           62 :                 case MINUS_EXPR:
   12457           62 :                   {
   12458           62 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12459           62 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12460           62 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12461              :                       {
   12462            0 :                         switch (TREE_CODE (_q51))
   12463              :                           {
   12464            0 :                           case INTEGER_CST:
   12465            0 :                             {
   12466            0 :                               switch (TREE_CODE (_p2))
   12467              :                                 {
   12468            0 :                                 case INTEGER_CST:
   12469            0 :                                   {
   12470            0 :                                     {
   12471            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12472            0 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12473            0 :                                       if (res) return res;
   12474              :                                     }
   12475            0 :                                     break;
   12476              :                                   }
   12477              :                                 default:;
   12478              :                                 }
   12479              :                               break;
   12480              :                             }
   12481              :                           default:;
   12482              :                           }
   12483              :                       }
   12484              :                     break;
   12485              :                   }
   12486              :                 default:;
   12487              :                 }
   12488              :               break;
   12489              :             }
   12490      1821364 :           default:;
   12491              :           }
   12492      1821364 :         switch (TREE_CODE (_p1))
   12493              :           {
   12494            0 :           case MIN_EXPR:
   12495            0 :             {
   12496            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12497            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12498            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12499              :                 {
   12500            0 :                   switch (TREE_CODE (_p2))
   12501              :                     {
   12502            0 :                     case MIN_EXPR:
   12503            0 :                       {
   12504            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12505            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12506            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12507              :                           {
   12508            0 :                             {
   12509            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12510            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12511            0 :                               if (res) return res;
   12512              :                             }
   12513              :                           }
   12514            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12515              :                           {
   12516            0 :                             {
   12517            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12518            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12519            0 :                               if (res) return res;
   12520              :                             }
   12521              :                           }
   12522              :                         break;
   12523              :                       }
   12524              :                     default:;
   12525              :                     }
   12526              :                 }
   12527            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12528              :                 {
   12529            0 :                   switch (TREE_CODE (_p2))
   12530              :                     {
   12531            0 :                     case MIN_EXPR:
   12532            0 :                       {
   12533            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12534            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12535            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12536              :                           {
   12537            0 :                             {
   12538            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12539            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12540            0 :                               if (res) return res;
   12541              :                             }
   12542              :                           }
   12543            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12544              :                           {
   12545            0 :                             {
   12546            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12547            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12548            0 :                               if (res) return res;
   12549              :                             }
   12550              :                           }
   12551              :                         break;
   12552              :                       }
   12553              :                     default:;
   12554              :                     }
   12555              :                 }
   12556            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12557              :                 {
   12558            0 :                   switch (TREE_CODE (_p2))
   12559              :                     {
   12560            0 :                     case MIN_EXPR:
   12561            0 :                       {
   12562            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12563            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12564            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12565              :                           {
   12566            0 :                             {
   12567            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12568            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12569            0 :                               if (res) return res;
   12570              :                             }
   12571              :                           }
   12572            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12573              :                           {
   12574            0 :                             {
   12575            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12576            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12577            0 :                               if (res) return res;
   12578              :                             }
   12579              :                           }
   12580              :                         break;
   12581              :                       }
   12582            0 :                     default:;
   12583              :                     }
   12584            0 :                   {
   12585            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   12586            0 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12587            0 :                     if (res) return res;
   12588              :                   }
   12589              :                 }
   12590            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12591              :                 {
   12592            0 :                   switch (TREE_CODE (_p2))
   12593              :                     {
   12594            0 :                     case MIN_EXPR:
   12595            0 :                       {
   12596            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12597            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12598            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12599              :                           {
   12600            0 :                             {
   12601            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12602            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12603            0 :                               if (res) return res;
   12604              :                             }
   12605              :                           }
   12606            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12607              :                           {
   12608            0 :                             {
   12609            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12610            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12611            0 :                               if (res) return res;
   12612              :                             }
   12613              :                           }
   12614              :                         break;
   12615              :                       }
   12616            0 :                     default:;
   12617              :                     }
   12618            0 :                   {
   12619            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   12620            0 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12621            0 :                     if (res) return res;
   12622              :                   }
   12623              :                 }
   12624              :               break;
   12625              :             }
   12626           21 :           case MAX_EXPR:
   12627           21 :             {
   12628           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12629           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12630           21 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12631              :                 {
   12632            1 :                   switch (TREE_CODE (_p2))
   12633              :                     {
   12634            0 :                     case MAX_EXPR:
   12635            0 :                       {
   12636            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12637            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12638            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12639              :                           {
   12640            0 :                             {
   12641            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12642            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12643            0 :                               if (res) return res;
   12644              :                             }
   12645              :                           }
   12646            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12647              :                           {
   12648            0 :                             {
   12649            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12650            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12651            0 :                               if (res) return res;
   12652              :                             }
   12653              :                           }
   12654              :                         break;
   12655              :                       }
   12656            1 :                     default:;
   12657              :                     }
   12658            1 :                   {
   12659            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12660            1 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12661            1 :                     if (res) return res;
   12662              :                   }
   12663              :                 }
   12664           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12665              :                 {
   12666            4 :                   switch (TREE_CODE (_p2))
   12667              :                     {
   12668            0 :                     case MAX_EXPR:
   12669            0 :                       {
   12670            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12671            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12672            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12673              :                           {
   12674            0 :                             {
   12675            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12676            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12677            0 :                               if (res) return res;
   12678              :                             }
   12679              :                           }
   12680            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12681              :                           {
   12682            0 :                             {
   12683            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12684            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12685            0 :                               if (res) return res;
   12686              :                             }
   12687              :                           }
   12688              :                         break;
   12689              :                       }
   12690              :                     default:;
   12691              :                     }
   12692              :                 }
   12693           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12694              :                 {
   12695            8 :                   switch (TREE_CODE (_p2))
   12696              :                     {
   12697            0 :                     case MAX_EXPR:
   12698            0 :                       {
   12699            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12700            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12701            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12702              :                           {
   12703            0 :                             {
   12704            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12705            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12706            0 :                               if (res) return res;
   12707              :                             }
   12708              :                           }
   12709            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12710              :                           {
   12711            0 :                             {
   12712            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12713            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12714            0 :                               if (res) return res;
   12715              :                             }
   12716              :                           }
   12717              :                         break;
   12718              :                       }
   12719              :                     default:;
   12720              :                     }
   12721              :                 }
   12722           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12723              :                 {
   12724            1 :                   switch (TREE_CODE (_p2))
   12725              :                     {
   12726            1 :                     case MAX_EXPR:
   12727            1 :                       {
   12728            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12729            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12730            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12731              :                           {
   12732            0 :                             {
   12733            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12734            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12735            0 :                               if (res) return res;
   12736              :                             }
   12737              :                           }
   12738            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12739              :                           {
   12740            1 :                             {
   12741            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12742            1 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12743            1 :                               if (res) return res;
   12744              :                             }
   12745              :                           }
   12746              :                         break;
   12747              :                       }
   12748              :                     default:;
   12749              :                     }
   12750              :                 }
   12751           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12752              :                 {
   12753            4 :                   {
   12754            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   12755            4 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12756            4 :                     if (res) return res;
   12757              :                   }
   12758              :                 }
   12759              :               break;
   12760              :             }
   12761      1821362 :           default:;
   12762              :           }
   12763      1821362 :         {
   12764      1821362 :           tree _q20_pops[1];
   12765      1821362 :           if (tree_nop_convert (_q20, _q20_pops))
   12766              :             {
   12767        54018 :               tree _q30 = _q20_pops[0];
   12768        54018 :               if (integer_zerop (_q21))
   12769              :                 {
   12770        10882 :                   switch (TREE_CODE (_p1))
   12771              :                     {
   12772            0 :                     case MIN_EXPR:
   12773            0 :                       {
   12774            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12775            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12776            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12777              :                           {
   12778            0 :                             switch (TREE_CODE (_q61))
   12779              :                               {
   12780            0 :                               case INTEGER_CST:
   12781            0 :                                 {
   12782            0 :                                   switch (TREE_CODE (_p2))
   12783              :                                     {
   12784            0 :                                     case INTEGER_CST:
   12785            0 :                                       {
   12786            0 :                                         {
   12787            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   12788            0 :                                           tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12789            0 :                                           if (res) return res;
   12790              :                                         }
   12791            0 :                                         break;
   12792              :                                       }
   12793              :                                     default:;
   12794              :                                     }
   12795              :                                   break;
   12796              :                                 }
   12797              :                               default:;
   12798              :                               }
   12799              :                           }
   12800              :                         break;
   12801              :                       }
   12802              :                     default:;
   12803              :                     }
   12804              :                 }
   12805              :             }
   12806              :         }
   12807      1821362 :         if (integer_zerop (_q21))
   12808              :           {
   12809       327446 :             if (tree_expr_nonnegative_p (_p1))
   12810              :               {
   12811       294415 :                 switch (TREE_CODE (_p2))
   12812              :                   {
   12813           17 :                   case MIN_EXPR:
   12814           17 :                     {
   12815           17 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12816           17 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   12817           17 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12818              :                         {
   12819           16 :                           if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   12820              :                             {
   12821            9 :                               {
   12822            9 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12823            9 :                                 tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures);
   12824            9 :                                 if (res) return res;
   12825              :                               }
   12826              :                             }
   12827              :                         }
   12828            8 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12829              :                         {
   12830            0 :                           if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   12831              :                             {
   12832            0 :                               {
   12833            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12834            0 :                                 tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures);
   12835            0 :                                 if (res) return res;
   12836              :                               }
   12837              :                             }
   12838              :                         }
   12839              :                       break;
   12840              :                     }
   12841              :                   default:;
   12842              :                   }
   12843              :               }
   12844              :           }
   12845      1821353 :         if (tree_expr_nonnegative_p (_q20))
   12846              :           {
   12847       516502 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   12848              :               {
   12849          166 :                 switch (TREE_CODE (_p2))
   12850              :                   {
   12851            5 :                   case ABS_EXPR:
   12852            5 :                     {
   12853            5 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12854            5 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   12855              :                         {
   12856            0 :                           {
   12857            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   12858            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12859            0 :                             if (res) return res;
   12860              :                           }
   12861              :                         }
   12862              :                       break;
   12863              :                     }
   12864              :                   default:;
   12865              :                   }
   12866              :               }
   12867       516502 :             switch (TREE_CODE (_p1))
   12868              :               {
   12869            0 :               case ABS_EXPR:
   12870            0 :                 {
   12871            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   12872            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12873              :                     {
   12874            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12875              :                         {
   12876            0 :                           {
   12877            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   12878            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12879            0 :                             if (res) return res;
   12880              :                           }
   12881              :                         }
   12882              :                     }
   12883              :                   break;
   12884              :                 }
   12885              :               default:;
   12886              :               }
   12887              :           }
   12888              :         break;
   12889              :       }
   12890       570778 :     case GE_EXPR:
   12891       570778 :       {
   12892       570778 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12893       570778 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12894       570778 :         switch (TREE_CODE (_q20))
   12895              :           {
   12896        38225 :           case MINUS_EXPR:
   12897        38225 :             {
   12898        38225 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12899        38225 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12900        38225 :               switch (TREE_CODE (_q30))
   12901              :                 {
   12902          526 :                 case SSA_NAME:
   12903          526 :                   {
   12904          526 :                     switch (TREE_CODE (_q31))
   12905              :                       {
   12906            0 :                       case CALL_EXPR:
   12907            0 :                         switch (get_call_combined_fn (_q31))
   12908              :                           {
   12909            0 :                           case CFN_BUILT_IN_FLOORF:
   12910            0 :                             if (call_expr_nargs (_q31) == 1)
   12911              :     {
   12912            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12913            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12914              :                                   {
   12915            0 :                                     switch (TREE_CODE (_q50))
   12916              :                                       {
   12917            0 :                                       case SSA_NAME:
   12918            0 :                                         {
   12919            0 :                                           switch (TREE_CODE (_q21))
   12920              :                                             {
   12921            0 :                                             case MINUS_EXPR:
   12922            0 :                                               {
   12923            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12924            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12925            0 :                                                 switch (TREE_CODE (_q80))
   12926              :                                                   {
   12927            0 :                                                   case CALL_EXPR:
   12928            0 :                                                     switch (get_call_combined_fn (_q80))
   12929              :                                                       {
   12930            0 :                                                       case CFN_BUILT_IN_CEILF:
   12931            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12932              :     {
   12933            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12934            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12935              :                                                               {
   12936            0 :                                                                 switch (TREE_CODE (_q90))
   12937              :                                                                   {
   12938            0 :                                                                   case SSA_NAME:
   12939            0 :                                                                     {
   12940            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12941              :                                                                         {
   12942            0 :                                                                           switch (TREE_CODE (_q81))
   12943              :                                                                             {
   12944            0 :                                                                             case SSA_NAME:
   12945            0 :                                                                               {
   12946            0 :                                                                                 switch (TREE_CODE (_p1))
   12947              :                                                                                   {
   12948            0 :                                                                                   case CALL_EXPR:
   12949            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12950              :                                                                                       {
   12951            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   12952            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12953              :     {
   12954            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12955            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12956              :                                                                                               {
   12957            0 :                                                                                                 switch (TREE_CODE (_q140))
   12958              :                                                                                                   {
   12959            0 :                                                                                                   case SSA_NAME:
   12960            0 :                                                                                                     {
   12961            0 :                                                                                                       switch (TREE_CODE (_p2))
   12962              :                                                                                                         {
   12963            0 :                                                                                                         case CALL_EXPR:
   12964            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12965              :                                                                                                             {
   12966            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   12967            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12968              :     {
   12969            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12970            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12971              :                                                                                                                     {
   12972            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12973              :                                                                                                                         {
   12974            0 :                                                                                                                         case SSA_NAME:
   12975            0 :                                                                                                                           {
   12976            0 :                                                                                                                             {
   12977            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12978            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   12979            0 :                                                                                                                               if (res) return res;
   12980              :                                                                                                                             }
   12981            0 :                                                                                                                             break;
   12982              :                                                                                                                           }
   12983              :                                                                                                                         default:;
   12984              :                                                                                                                         }
   12985              :                                                                                                                     }
   12986              :                                                                                                                 }
   12987              :                                                                                                               break;
   12988              :                                                                                                             default:;
   12989              :                                                                                                             }
   12990              :                                                                                                           break;
   12991              :                                                                                                         default:;
   12992              :                                                                                                         }
   12993              :                                                                                                       break;
   12994              :                                                                                                     }
   12995              :                                                                                                   default:;
   12996              :                                                                                                   }
   12997              :                                                                                               }
   12998              :                                                                                           }
   12999              :                                                                                         break;
   13000              :                                                                                       default:;
   13001              :                                                                                       }
   13002              :                                                                                     break;
   13003              :                                                                                   default:;
   13004              :                                                                                   }
   13005              :                                                                                 break;
   13006              :                                                                               }
   13007              :                                                                             default:;
   13008              :                                                                             }
   13009              :                                                                         }
   13010              :                                                                       break;
   13011              :                                                                     }
   13012              :                                                                   default:;
   13013              :                                                                   }
   13014              :                                                               }
   13015              :                                                           }
   13016              :                                                         break;
   13017              :                                                       default:;
   13018              :                                                       }
   13019              :                                                     break;
   13020              :                                                   default:;
   13021              :                                                   }
   13022              :                                                 break;
   13023              :                                               }
   13024              :                                             default:;
   13025              :                                             }
   13026              :                                           break;
   13027              :                                         }
   13028              :                                       default:;
   13029              :                                       }
   13030              :                                   }
   13031              :                               }
   13032              :                             break;
   13033            0 :                           case CFN_BUILT_IN_FLOORL:
   13034            0 :                             if (call_expr_nargs (_q31) == 1)
   13035              :     {
   13036            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13037            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13038              :                                   {
   13039            0 :                                     switch (TREE_CODE (_q50))
   13040              :                                       {
   13041            0 :                                       case SSA_NAME:
   13042            0 :                                         {
   13043            0 :                                           switch (TREE_CODE (_q21))
   13044              :                                             {
   13045            0 :                                             case MINUS_EXPR:
   13046            0 :                                               {
   13047            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13048            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13049            0 :                                                 switch (TREE_CODE (_q80))
   13050              :                                                   {
   13051            0 :                                                   case CALL_EXPR:
   13052            0 :                                                     switch (get_call_combined_fn (_q80))
   13053              :                                                       {
   13054            0 :                                                       case CFN_BUILT_IN_CEILL:
   13055            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13056              :     {
   13057            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13058            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13059              :                                                               {
   13060            0 :                                                                 switch (TREE_CODE (_q90))
   13061              :                                                                   {
   13062            0 :                                                                   case SSA_NAME:
   13063            0 :                                                                     {
   13064            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13065              :                                                                         {
   13066            0 :                                                                           switch (TREE_CODE (_q81))
   13067              :                                                                             {
   13068            0 :                                                                             case SSA_NAME:
   13069            0 :                                                                               {
   13070            0 :                                                                                 switch (TREE_CODE (_p1))
   13071              :                                                                                   {
   13072            0 :                                                                                   case CALL_EXPR:
   13073            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13074              :                                                                                       {
   13075            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   13076            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13077              :     {
   13078            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13079            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13080              :                                                                                               {
   13081            0 :                                                                                                 switch (TREE_CODE (_q140))
   13082              :                                                                                                   {
   13083            0 :                                                                                                   case SSA_NAME:
   13084            0 :                                                                                                     {
   13085            0 :                                                                                                       switch (TREE_CODE (_p2))
   13086              :                                                                                                         {
   13087            0 :                                                                                                         case CALL_EXPR:
   13088            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13089              :                                                                                                             {
   13090            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   13091            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13092              :     {
   13093            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13094            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13095              :                                                                                                                     {
   13096            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13097              :                                                                                                                         {
   13098            0 :                                                                                                                         case SSA_NAME:
   13099            0 :                                                                                                                           {
   13100            0 :                                                                                                                             {
   13101            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13102            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   13103            0 :                                                                                                                               if (res) return res;
   13104              :                                                                                                                             }
   13105            0 :                                                                                                                             break;
   13106              :                                                                                                                           }
   13107              :                                                                                                                         default:;
   13108              :                                                                                                                         }
   13109              :                                                                                                                     }
   13110              :                                                                                                                 }
   13111              :                                                                                                               break;
   13112              :                                                                                                             default:;
   13113              :                                                                                                             }
   13114              :                                                                                                           break;
   13115              :                                                                                                         default:;
   13116              :                                                                                                         }
   13117              :                                                                                                       break;
   13118              :                                                                                                     }
   13119              :                                                                                                   default:;
   13120              :                                                                                                   }
   13121              :                                                                                               }
   13122              :                                                                                           }
   13123              :                                                                                         break;
   13124              :                                                                                       default:;
   13125              :                                                                                       }
   13126              :                                                                                     break;
   13127              :                                                                                   default:;
   13128              :                                                                                   }
   13129              :                                                                                 break;
   13130              :                                                                               }
   13131              :                                                                             default:;
   13132              :                                                                             }
   13133              :                                                                         }
   13134              :                                                                       break;
   13135              :                                                                     }
   13136              :                                                                   default:;
   13137              :                                                                   }
   13138              :                                                               }
   13139              :                                                           }
   13140              :                                                         break;
   13141              :                                                       default:;
   13142              :                                                       }
   13143              :                                                     break;
   13144              :                                                   default:;
   13145              :                                                   }
   13146              :                                                 break;
   13147              :                                               }
   13148              :                                             default:;
   13149              :                                             }
   13150              :                                           break;
   13151              :                                         }
   13152              :                                       default:;
   13153              :                                       }
   13154              :                                   }
   13155              :                               }
   13156              :                             break;
   13157            0 :                           case CFN_FLOOR:
   13158            0 :                             if (call_expr_nargs (_q31) == 1)
   13159              :     {
   13160            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13161            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13162              :                                   {
   13163            0 :                                     switch (TREE_CODE (_q50))
   13164              :                                       {
   13165            0 :                                       case SSA_NAME:
   13166            0 :                                         {
   13167            0 :                                           switch (TREE_CODE (_q21))
   13168              :                                             {
   13169            0 :                                             case MINUS_EXPR:
   13170            0 :                                               {
   13171            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13172            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13173            0 :                                                 switch (TREE_CODE (_q80))
   13174              :                                                   {
   13175            0 :                                                   case CALL_EXPR:
   13176            0 :                                                     switch (get_call_combined_fn (_q80))
   13177              :                                                       {
   13178            0 :                                                       case CFN_CEIL:
   13179            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13180              :     {
   13181            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13182            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13183              :                                                               {
   13184            0 :                                                                 switch (TREE_CODE (_q90))
   13185              :                                                                   {
   13186            0 :                                                                   case SSA_NAME:
   13187            0 :                                                                     {
   13188            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13189              :                                                                         {
   13190            0 :                                                                           switch (TREE_CODE (_q81))
   13191              :                                                                             {
   13192            0 :                                                                             case SSA_NAME:
   13193            0 :                                                                               {
   13194            0 :                                                                                 switch (TREE_CODE (_p1))
   13195              :                                                                                   {
   13196            0 :                                                                                   case CALL_EXPR:
   13197            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13198              :                                                                                       {
   13199            0 :                                                                                       case CFN_CEIL:
   13200            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13201              :     {
   13202            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13203            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13204              :                                                                                               {
   13205            0 :                                                                                                 switch (TREE_CODE (_q140))
   13206              :                                                                                                   {
   13207            0 :                                                                                                   case SSA_NAME:
   13208            0 :                                                                                                     {
   13209            0 :                                                                                                       switch (TREE_CODE (_p2))
   13210              :                                                                                                         {
   13211            0 :                                                                                                         case CALL_EXPR:
   13212            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13213              :                                                                                                             {
   13214            0 :                                                                                                             case CFN_FLOOR:
   13215            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13216              :     {
   13217            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13218            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13219              :                                                                                                                     {
   13220            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13221              :                                                                                                                         {
   13222            0 :                                                                                                                         case SSA_NAME:
   13223            0 :                                                                                                                           {
   13224            0 :                                                                                                                             {
   13225            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13226            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   13227            0 :                                                                                                                               if (res) return res;
   13228              :                                                                                                                             }
   13229            0 :                                                                                                                             break;
   13230              :                                                                                                                           }
   13231              :                                                                                                                         default:;
   13232              :                                                                                                                         }
   13233              :                                                                                                                     }
   13234              :                                                                                                                 }
   13235              :                                                                                                               break;
   13236              :                                                                                                             default:;
   13237              :                                                                                                             }
   13238              :                                                                                                           break;
   13239              :                                                                                                         default:;
   13240              :                                                                                                         }
   13241              :                                                                                                       break;
   13242              :                                                                                                     }
   13243              :                                                                                                   default:;
   13244              :                                                                                                   }
   13245              :                                                                                               }
   13246              :                                                                                           }
   13247              :                                                                                         break;
   13248              :                                                                                       default:;
   13249              :                                                                                       }
   13250              :                                                                                     break;
   13251              :                                                                                   default:;
   13252              :                                                                                   }
   13253              :                                                                                 break;
   13254              :                                                                               }
   13255              :                                                                             default:;
   13256              :                                                                             }
   13257              :                                                                         }
   13258              :                                                                       break;
   13259              :                                                                     }
   13260              :                                                                   default:;
   13261              :                                                                   }
   13262              :                                                               }
   13263              :                                                           }
   13264              :                                                         break;
   13265              :                                                       default:;
   13266              :                                                       }
   13267              :                                                     break;
   13268              :                                                   default:;
   13269              :                                                   }
   13270              :                                                 break;
   13271              :                                               }
   13272              :                                             default:;
   13273              :                                             }
   13274              :                                           break;
   13275              :                                         }
   13276              :                                       default:;
   13277              :                                       }
   13278              :                                   }
   13279              :                               }
   13280              :                             break;
   13281            0 :                           case CFN_BUILT_IN_FLOOR:
   13282            0 :                             if (call_expr_nargs (_q31) == 1)
   13283              :     {
   13284            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13285            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13286              :                                   {
   13287            0 :                                     switch (TREE_CODE (_q50))
   13288              :                                       {
   13289            0 :                                       case SSA_NAME:
   13290            0 :                                         {
   13291            0 :                                           switch (TREE_CODE (_q21))
   13292              :                                             {
   13293            0 :                                             case MINUS_EXPR:
   13294            0 :                                               {
   13295            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13296            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13297            0 :                                                 switch (TREE_CODE (_q80))
   13298              :                                                   {
   13299            0 :                                                   case CALL_EXPR:
   13300            0 :                                                     switch (get_call_combined_fn (_q80))
   13301              :                                                       {
   13302            0 :                                                       case CFN_BUILT_IN_CEIL:
   13303            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13304              :     {
   13305            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13306            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13307              :                                                               {
   13308            0 :                                                                 switch (TREE_CODE (_q90))
   13309              :                                                                   {
   13310            0 :                                                                   case SSA_NAME:
   13311            0 :                                                                     {
   13312            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13313              :                                                                         {
   13314            0 :                                                                           switch (TREE_CODE (_q81))
   13315              :                                                                             {
   13316            0 :                                                                             case SSA_NAME:
   13317            0 :                                                                               {
   13318            0 :                                                                                 switch (TREE_CODE (_p1))
   13319              :                                                                                   {
   13320            0 :                                                                                   case CALL_EXPR:
   13321            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13322              :                                                                                       {
   13323            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   13324            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13325              :     {
   13326            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13327            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13328              :                                                                                               {
   13329            0 :                                                                                                 switch (TREE_CODE (_q140))
   13330              :                                                                                                   {
   13331            0 :                                                                                                   case SSA_NAME:
   13332            0 :                                                                                                     {
   13333            0 :                                                                                                       switch (TREE_CODE (_p2))
   13334              :                                                                                                         {
   13335            0 :                                                                                                         case CALL_EXPR:
   13336            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13337              :                                                                                                             {
   13338            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   13339            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13340              :     {
   13341            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13342            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13343              :                                                                                                                     {
   13344            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13345              :                                                                                                                         {
   13346            0 :                                                                                                                         case SSA_NAME:
   13347            0 :                                                                                                                           {
   13348            0 :                                                                                                                             {
   13349            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13350            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13351            0 :                                                                                                                               if (res) return res;
   13352              :                                                                                                                             }
   13353            0 :                                                                                                                             break;
   13354              :                                                                                                                           }
   13355              :                                                                                                                         default:;
   13356              :                                                                                                                         }
   13357              :                                                                                                                     }
   13358              :                                                                                                                 }
   13359              :                                                                                                               break;
   13360              :                                                                                                             default:;
   13361              :                                                                                                             }
   13362              :                                                                                                           break;
   13363              :                                                                                                         default:;
   13364              :                                                                                                         }
   13365              :                                                                                                       break;
   13366              :                                                                                                     }
   13367              :                                                                                                   default:;
   13368              :                                                                                                   }
   13369              :                                                                                               }
   13370              :                                                                                           }
   13371              :                                                                                         break;
   13372              :                                                                                       default:;
   13373              :                                                                                       }
   13374              :                                                                                     break;
   13375              :                                                                                   default:;
   13376              :                                                                                   }
   13377              :                                                                                 break;
   13378              :                                                                               }
   13379              :                                                                             default:;
   13380              :                                                                             }
   13381              :                                                                         }
   13382              :                                                                       break;
   13383              :                                                                     }
   13384              :                                                                   default:;
   13385              :                                                                   }
   13386              :                                                               }
   13387              :                                                           }
   13388              :                                                         break;
   13389              :                                                       default:;
   13390              :                                                       }
   13391              :                                                     break;
   13392              :                                                   default:;
   13393              :                                                   }
   13394              :                                                 break;
   13395              :                                               }
   13396              :                                             default:;
   13397              :                                             }
   13398              :                                           break;
   13399              :                                         }
   13400              :                                       default:;
   13401              :                                       }
   13402              :                                   }
   13403              :                               }
   13404              :                             break;
   13405              :                           default:;
   13406              :                           }
   13407              :                         break;
   13408              :                       default:;
   13409              :                       }
   13410              :                     break;
   13411              :                   }
   13412              :                 default:;
   13413              :                 }
   13414              :               break;
   13415              :             }
   13416        61767 :           CASE_CONVERT:
   13417        61767 :             {
   13418        61767 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13419        61767 :               switch (TREE_CODE (_q21))
   13420              :                 {
   13421        32390 :                 case INTEGER_CST:
   13422        32390 :                   {
   13423        32390 :                     switch (TREE_CODE (_p1))
   13424              :                       {
   13425        12117 :                       CASE_CONVERT:
   13426        12117 :                         {
   13427        12117 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13428        12117 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13429              :                             {
   13430         6630 :                               switch (TREE_CODE (_p2))
   13431              :                                 {
   13432         6622 :                                 case INTEGER_CST:
   13433         6622 :                                   {
   13434         6622 :                                     {
   13435         6622 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13436         6622 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13437         6622 :                                       if (res) return res;
   13438              :                                     }
   13439         6622 :                                     break;
   13440              :                                   }
   13441              :                                 default:;
   13442              :                                 }
   13443              :                             }
   13444              :                           break;
   13445              :                         }
   13446        32390 :                       default:;
   13447              :                       }
   13448        32390 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   13449              :                       {
   13450          312 :                         switch (TREE_CODE (_p2))
   13451              :                           {
   13452          299 :                           case INTEGER_CST:
   13453          299 :                             {
   13454          299 :                               {
   13455          299 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13456          299 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13457          299 :                                 if (res) return res;
   13458              :                               }
   13459          294 :                               break;
   13460              :                             }
   13461              :                           default:;
   13462              :                           }
   13463              :                       }
   13464        32385 :                     switch (TREE_CODE (_p1))
   13465              :                       {
   13466          398 :                       case PLUS_EXPR:
   13467          398 :                         {
   13468          398 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13469          398 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13470          398 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13471              :                             {
   13472            0 :                               switch (TREE_CODE (_q61))
   13473              :                                 {
   13474            0 :                                 case INTEGER_CST:
   13475            0 :                                   {
   13476            0 :                                     switch (TREE_CODE (_p2))
   13477              :                                       {
   13478            0 :                                       case INTEGER_CST:
   13479            0 :                                         {
   13480            0 :                                           {
   13481            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13482            0 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13483            0 :                                             if (res) return res;
   13484              :                                           }
   13485            0 :                                           break;
   13486              :                                         }
   13487              :                                       default:;
   13488              :                                       }
   13489              :                                     break;
   13490              :                                   }
   13491              :                                 default:;
   13492              :                                 }
   13493              :                             }
   13494              :                           break;
   13495              :                         }
   13496           73 :                       case MINUS_EXPR:
   13497           73 :                         {
   13498           73 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13499           73 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13500           73 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13501              :                             {
   13502            0 :                               switch (TREE_CODE (_q61))
   13503              :                                 {
   13504            0 :                                 case INTEGER_CST:
   13505            0 :                                   {
   13506            0 :                                     switch (TREE_CODE (_p2))
   13507              :                                       {
   13508            0 :                                       case INTEGER_CST:
   13509            0 :                                         {
   13510            0 :                                           {
   13511            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13512            0 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13513            0 :                                             if (res) return res;
   13514              :                                           }
   13515            0 :                                           break;
   13516              :                                         }
   13517              :                                       default:;
   13518              :                                       }
   13519              :                                     break;
   13520              :                                   }
   13521              :                                 default:;
   13522              :                                 }
   13523              :                             }
   13524              :                           break;
   13525              :                         }
   13526              :                       default:;
   13527              :                       }
   13528              :                     break;
   13529              :                   }
   13530              :                 default:;
   13531              :                 }
   13532              :               break;
   13533              :             }
   13534       570773 :           default:;
   13535              :           }
   13536       570773 :         switch (TREE_CODE (_q21))
   13537              :           {
   13538       214892 :           case INTEGER_CST:
   13539       214892 :             {
   13540       214892 :               switch (TREE_CODE (_p1))
   13541              :                 {
   13542        56844 :                 CASE_CONVERT:
   13543        56844 :                   {
   13544        56844 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13545        56844 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13546              :                       {
   13547          150 :                         switch (TREE_CODE (_p2))
   13548              :                           {
   13549           45 :                           case INTEGER_CST:
   13550           45 :                             {
   13551           45 :                               {
   13552           45 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13553           45 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13554           45 :                                 if (res) return res;
   13555              :                               }
   13556           45 :                               break;
   13557              :                             }
   13558              :                           default:;
   13559              :                           }
   13560              :                       }
   13561              :                     break;
   13562              :                   }
   13563       214892 :                 default:;
   13564              :                 }
   13565       214892 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13566              :                 {
   13567        42992 :                   switch (TREE_CODE (_p2))
   13568              :                     {
   13569        10806 :                     case INTEGER_CST:
   13570        10806 :                       {
   13571        10806 :                         {
   13572        10806 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13573        10806 :                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13574        10806 :                           if (res) return res;
   13575              :                         }
   13576           19 :                         break;
   13577              :                       }
   13578              :                     default:;
   13579              :                     }
   13580              :                 }
   13581       204105 :               switch (TREE_CODE (_p1))
   13582              :                 {
   13583        17065 :                 case PLUS_EXPR:
   13584        17065 :                   {
   13585        17065 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13586        17065 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13587        17065 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13588              :                       {
   13589         6533 :                         switch (TREE_CODE (_q51))
   13590              :                           {
   13591         6533 :                           case INTEGER_CST:
   13592         6533 :                             {
   13593         6533 :                               switch (TREE_CODE (_p2))
   13594              :                                 {
   13595         6533 :                                 case INTEGER_CST:
   13596         6533 :                                   {
   13597         6533 :                                     {
   13598         6533 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13599         6533 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13600         6533 :                                       if (res) return res;
   13601              :                                     }
   13602            0 :                                     break;
   13603              :                                   }
   13604              :                                 default:;
   13605              :                                 }
   13606              :                               break;
   13607              :                             }
   13608              :                           default:;
   13609              :                           }
   13610              :                       }
   13611              :                     break;
   13612              :                   }
   13613          223 :                 case MINUS_EXPR:
   13614          223 :                   {
   13615          223 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13616          223 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13617          223 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13618              :                       {
   13619            0 :                         switch (TREE_CODE (_q51))
   13620              :                           {
   13621            0 :                           case INTEGER_CST:
   13622            0 :                             {
   13623            0 :                               switch (TREE_CODE (_p2))
   13624              :                                 {
   13625            0 :                                 case INTEGER_CST:
   13626            0 :                                   {
   13627            0 :                                     {
   13628            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13629            0 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13630            0 :                                       if (res) return res;
   13631              :                                     }
   13632            0 :                                     break;
   13633              :                                   }
   13634              :                                 default:;
   13635              :                                 }
   13636              :                               break;
   13637              :                             }
   13638              :                           default:;
   13639              :                           }
   13640              :                       }
   13641              :                     break;
   13642              :                   }
   13643              :                 default:;
   13644              :                 }
   13645              :               break;
   13646              :             }
   13647       553453 :           default:;
   13648              :           }
   13649       553453 :         switch (TREE_CODE (_p1))
   13650              :           {
   13651           16 :           case MIN_EXPR:
   13652           16 :             {
   13653           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13654           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13655           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13656              :                 {
   13657           15 :                   switch (TREE_CODE (_p2))
   13658              :                     {
   13659            0 :                     case MIN_EXPR:
   13660            0 :                       {
   13661            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13662            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13663            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13664              :                           {
   13665            0 :                             {
   13666            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13667            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13668            0 :                               if (res) return res;
   13669              :                             }
   13670              :                           }
   13671            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13672              :                           {
   13673            0 :                             {
   13674            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13675            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13676            0 :                               if (res) return res;
   13677              :                             }
   13678              :                           }
   13679              :                         break;
   13680              :                       }
   13681           15 :                     default:;
   13682              :                     }
   13683           15 :                   {
   13684           15 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   13685           15 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13686           15 :                     if (res) return res;
   13687              :                   }
   13688              :                 }
   13689            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13690              :                 {
   13691            0 :                   switch (TREE_CODE (_p2))
   13692              :                     {
   13693            0 :                     case MIN_EXPR:
   13694            0 :                       {
   13695            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13696            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13697            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13698              :                           {
   13699            0 :                             {
   13700            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13701            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13702            0 :                               if (res) return res;
   13703              :                             }
   13704              :                           }
   13705            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13706              :                           {
   13707            0 :                             {
   13708            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13709            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13710            0 :                               if (res) return res;
   13711              :                             }
   13712              :                           }
   13713              :                         break;
   13714              :                       }
   13715              :                     default:;
   13716              :                     }
   13717              :                 }
   13718            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13719              :                 {
   13720            0 :                   switch (TREE_CODE (_p2))
   13721              :                     {
   13722            0 :                     case MIN_EXPR:
   13723            0 :                       {
   13724            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13725            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13726            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13727              :                           {
   13728            0 :                             {
   13729            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13730            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13731            0 :                               if (res) return res;
   13732              :                             }
   13733              :                           }
   13734            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13735              :                           {
   13736            0 :                             {
   13737            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13738            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13739            0 :                               if (res) return res;
   13740              :                             }
   13741              :                           }
   13742              :                         break;
   13743              :                       }
   13744              :                     default:;
   13745              :                     }
   13746              :                 }
   13747            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13748              :                 {
   13749            0 :                   switch (TREE_CODE (_p2))
   13750              :                     {
   13751            0 :                     case MIN_EXPR:
   13752            0 :                       {
   13753            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13754            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13755            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13756              :                           {
   13757            0 :                             {
   13758            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13759            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13760            0 :                               if (res) return res;
   13761              :                             }
   13762              :                           }
   13763            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13764              :                           {
   13765            0 :                             {
   13766            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13767            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13768            0 :                               if (res) return res;
   13769              :                             }
   13770              :                           }
   13771              :                         break;
   13772              :                       }
   13773              :                     default:;
   13774              :                     }
   13775              :                 }
   13776            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13777              :                 {
   13778            0 :                   {
   13779            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   13780            0 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13781            0 :                     if (res) return res;
   13782              :                   }
   13783              :                 }
   13784              :               break;
   13785              :             }
   13786            9 :           case MAX_EXPR:
   13787            9 :             {
   13788            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13789            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13790            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13791              :                 {
   13792            1 :                   switch (TREE_CODE (_p2))
   13793              :                     {
   13794            0 :                     case MAX_EXPR:
   13795            0 :                       {
   13796            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13797            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13798            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13799              :                           {
   13800            0 :                             {
   13801            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13802            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13803            0 :                               if (res) return res;
   13804              :                             }
   13805              :                           }
   13806            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13807              :                           {
   13808            0 :                             {
   13809            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13810            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13811            0 :                               if (res) return res;
   13812              :                             }
   13813              :                           }
   13814              :                         break;
   13815              :                       }
   13816              :                     default:;
   13817              :                     }
   13818              :                 }
   13819            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13820              :                 {
   13821            1 :                   switch (TREE_CODE (_p2))
   13822              :                     {
   13823            0 :                     case MAX_EXPR:
   13824            0 :                       {
   13825            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13826            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13827            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13828              :                           {
   13829            0 :                             {
   13830            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13831            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13832            0 :                               if (res) return res;
   13833              :                             }
   13834              :                           }
   13835            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13836              :                           {
   13837            0 :                             {
   13838            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13839            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13840            0 :                               if (res) return res;
   13841              :                             }
   13842              :                           }
   13843              :                         break;
   13844              :                       }
   13845              :                     default:;
   13846              :                     }
   13847              :                 }
   13848            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13849              :                 {
   13850            1 :                   switch (TREE_CODE (_p2))
   13851              :                     {
   13852            0 :                     case MAX_EXPR:
   13853            0 :                       {
   13854            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13855            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13856            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13857              :                           {
   13858            0 :                             {
   13859            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13860            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13861            0 :                               if (res) return res;
   13862              :                             }
   13863              :                           }
   13864            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13865              :                           {
   13866            0 :                             {
   13867            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13868            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13869            0 :                               if (res) return res;
   13870              :                             }
   13871              :                           }
   13872              :                         break;
   13873              :                       }
   13874            1 :                     default:;
   13875              :                     }
   13876            1 :                   {
   13877            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   13878            1 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13879            1 :                     if (res) return res;
   13880              :                   }
   13881              :                 }
   13882            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13883              :                 {
   13884            8 :                   switch (TREE_CODE (_p2))
   13885              :                     {
   13886            0 :                     case MAX_EXPR:
   13887            0 :                       {
   13888            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13889            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13890            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13891              :                           {
   13892            0 :                             {
   13893            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13894            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13895            0 :                               if (res) return res;
   13896              :                             }
   13897              :                           }
   13898            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13899              :                           {
   13900            0 :                             {
   13901            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13902            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13903            0 :                               if (res) return res;
   13904              :                             }
   13905              :                           }
   13906              :                         break;
   13907              :                       }
   13908            8 :                     default:;
   13909              :                     }
   13910            8 :                   {
   13911            8 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   13912            8 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13913            8 :                     if (res) return res;
   13914              :                   }
   13915              :                 }
   13916              :               break;
   13917              :             }
   13918       553443 :           default:;
   13919              :           }
   13920       553443 :         {
   13921       553443 :           tree _q20_pops[1];
   13922       553443 :           if (tree_nop_convert (_q20, _q20_pops))
   13923              :             {
   13924        27108 :               tree _q30 = _q20_pops[0];
   13925        27108 :               if (integer_zerop (_q21))
   13926              :                 {
   13927        23913 :                   switch (TREE_CODE (_p1))
   13928              :                     {
   13929            0 :                     case MAX_EXPR:
   13930            0 :                       {
   13931            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   13932            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   13933            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13934              :                           {
   13935            0 :                             switch (TREE_CODE (_q61))
   13936              :                               {
   13937            0 :                               case INTEGER_CST:
   13938            0 :                                 {
   13939            0 :                                   switch (TREE_CODE (_p2))
   13940              :                                     {
   13941            0 :                                     case INTEGER_CST:
   13942            0 :                                       {
   13943            0 :                                         {
   13944            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   13945            0 :                                           tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13946            0 :                                           if (res) return res;
   13947              :                                         }
   13948            0 :                                         break;
   13949              :                                       }
   13950              :                                     default:;
   13951              :                                     }
   13952              :                                   break;
   13953              :                                 }
   13954              :                               default:;
   13955              :                               }
   13956              :                           }
   13957              :                         break;
   13958              :                       }
   13959              :                     default:;
   13960              :                     }
   13961              :                 }
   13962              :             }
   13963              :         }
   13964       553443 :         if (tree_expr_nonnegative_p (_q21))
   13965              :           {
   13966       402164 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13967              :               {
   13968        32263 :                 switch (TREE_CODE (_p2))
   13969              :                   {
   13970            0 :                   case ABS_EXPR:
   13971            0 :                     {
   13972            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13973            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13974              :                         {
   13975            0 :                           {
   13976            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13977            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13978            0 :                             if (res) return res;
   13979              :                           }
   13980              :                         }
   13981              :                       break;
   13982              :                     }
   13983              :                   default:;
   13984              :                   }
   13985              :               }
   13986       402164 :             switch (TREE_CODE (_p1))
   13987              :               {
   13988           12 :               case ABS_EXPR:
   13989           12 :                 {
   13990           12 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13991           12 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13992              :                     {
   13993            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   13994              :                         {
   13995            0 :                           {
   13996            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   13997            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13998            0 :                             if (res) return res;
   13999              :                           }
   14000              :                         }
   14001              :                     }
   14002              :                   break;
   14003              :                 }
   14004              :               default:;
   14005              :               }
   14006              :           }
   14007              :         break;
   14008              :       }
   14009       929706 :     case GT_EXPR:
   14010       929706 :       {
   14011       929706 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14012       929706 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14013       929706 :         switch (TREE_CODE (_q20))
   14014              :           {
   14015         1086 :           case MINUS_EXPR:
   14016         1086 :             {
   14017         1086 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14018         1086 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14019         1086 :               switch (TREE_CODE (_q30))
   14020              :                 {
   14021            0 :                 case CALL_EXPR:
   14022            0 :                   switch (get_call_combined_fn (_q30))
   14023              :                     {
   14024            0 :                     case CFN_BUILT_IN_CEIL:
   14025            0 :                       if (call_expr_nargs (_q30) == 1)
   14026              :     {
   14027            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14028            0 :                           switch (TREE_CODE (_q40))
   14029              :                             {
   14030            0 :                             case SSA_NAME:
   14031            0 :                               {
   14032            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14033              :                                   {
   14034            0 :                                     switch (TREE_CODE (_q31))
   14035              :                                       {
   14036            0 :                                       case SSA_NAME:
   14037            0 :                                         {
   14038            0 :                                           switch (TREE_CODE (_q21))
   14039              :                                             {
   14040            0 :                                             case MINUS_EXPR:
   14041            0 :                                               {
   14042            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14043            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14044            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14045              :                                                   {
   14046            0 :                                                     switch (TREE_CODE (_q80))
   14047              :                                                       {
   14048            0 :                                                       case SSA_NAME:
   14049            0 :                                                         {
   14050            0 :                                                           switch (TREE_CODE (_q81))
   14051              :                                                             {
   14052            0 :                                                             case CALL_EXPR:
   14053            0 :                                                               switch (get_call_combined_fn (_q81))
   14054              :                                                                 {
   14055            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   14056            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14057              :     {
   14058            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14059            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14060              :                                                                         {
   14061            0 :                                                                           switch (TREE_CODE (_q110))
   14062              :                                                                             {
   14063            0 :                                                                             case SSA_NAME:
   14064            0 :                                                                               {
   14065            0 :                                                                                 switch (TREE_CODE (_p1))
   14066              :                                                                                   {
   14067            0 :                                                                                   case CALL_EXPR:
   14068            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14069              :                                                                                       {
   14070            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   14071            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14072              :     {
   14073            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14074            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14075              :                                                                                               {
   14076            0 :                                                                                                 switch (TREE_CODE (_q140))
   14077              :                                                                                                   {
   14078            0 :                                                                                                   case SSA_NAME:
   14079            0 :                                                                                                     {
   14080            0 :                                                                                                       switch (TREE_CODE (_p2))
   14081              :                                                                                                         {
   14082            0 :                                                                                                         case CALL_EXPR:
   14083            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14084              :                                                                                                             {
   14085            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   14086            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14087              :     {
   14088            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14089            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14090              :                                                                                                                     {
   14091            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14092              :                                                                                                                         {
   14093            0 :                                                                                                                         case SSA_NAME:
   14094            0 :                                                                                                                           {
   14095            0 :                                                                                                                             {
   14096            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14097            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   14098            0 :                                                                                                                               if (res) return res;
   14099              :                                                                                                                             }
   14100            0 :                                                                                                                             break;
   14101              :                                                                                                                           }
   14102              :                                                                                                                         default:;
   14103              :                                                                                                                         }
   14104              :                                                                                                                     }
   14105              :                                                                                                                 }
   14106              :                                                                                                               break;
   14107              :                                                                                                             default:;
   14108              :                                                                                                             }
   14109              :                                                                                                           break;
   14110              :                                                                                                         default:;
   14111              :                                                                                                         }
   14112              :                                                                                                       break;
   14113              :                                                                                                     }
   14114              :                                                                                                   default:;
   14115              :                                                                                                   }
   14116              :                                                                                               }
   14117              :                                                                                           }
   14118              :                                                                                         break;
   14119              :                                                                                       default:;
   14120              :                                                                                       }
   14121              :                                                                                     break;
   14122              :                                                                                   default:;
   14123              :                                                                                   }
   14124              :                                                                                 break;
   14125              :                                                                               }
   14126              :                                                                             default:;
   14127              :                                                                             }
   14128              :                                                                         }
   14129              :                                                                     }
   14130              :                                                                   break;
   14131              :                                                                 default:;
   14132              :                                                                 }
   14133              :                                                               break;
   14134              :                                                             default:;
   14135              :                                                             }
   14136              :                                                           break;
   14137              :                                                         }
   14138              :                                                       default:;
   14139              :                                                       }
   14140              :                                                   }
   14141              :                                                 break;
   14142              :                                               }
   14143              :                                             default:;
   14144              :                                             }
   14145              :                                           break;
   14146              :                                         }
   14147              :                                       default:;
   14148              :                                       }
   14149              :                                   }
   14150              :                                 break;
   14151              :                               }
   14152              :                             default:;
   14153              :                             }
   14154              :                         }
   14155              :                       break;
   14156            0 :                     case CFN_CEIL:
   14157            0 :                       if (call_expr_nargs (_q30) == 1)
   14158              :     {
   14159            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14160            0 :                           switch (TREE_CODE (_q40))
   14161              :                             {
   14162            0 :                             case SSA_NAME:
   14163            0 :                               {
   14164            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14165              :                                   {
   14166            0 :                                     switch (TREE_CODE (_q31))
   14167              :                                       {
   14168            0 :                                       case SSA_NAME:
   14169            0 :                                         {
   14170            0 :                                           switch (TREE_CODE (_q21))
   14171              :                                             {
   14172            0 :                                             case MINUS_EXPR:
   14173            0 :                                               {
   14174            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14175            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14176            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14177              :                                                   {
   14178            0 :                                                     switch (TREE_CODE (_q80))
   14179              :                                                       {
   14180            0 :                                                       case SSA_NAME:
   14181            0 :                                                         {
   14182            0 :                                                           switch (TREE_CODE (_q81))
   14183              :                                                             {
   14184            0 :                                                             case CALL_EXPR:
   14185            0 :                                                               switch (get_call_combined_fn (_q81))
   14186              :                                                                 {
   14187            0 :                                                                 case CFN_FLOOR:
   14188            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14189              :     {
   14190            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14191            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14192              :                                                                         {
   14193            0 :                                                                           switch (TREE_CODE (_q110))
   14194              :                                                                             {
   14195            0 :                                                                             case SSA_NAME:
   14196            0 :                                                                               {
   14197            0 :                                                                                 switch (TREE_CODE (_p1))
   14198              :                                                                                   {
   14199            0 :                                                                                   case CALL_EXPR:
   14200            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14201              :                                                                                       {
   14202            0 :                                                                                       case CFN_FLOOR:
   14203            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14204              :     {
   14205            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14206            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14207              :                                                                                               {
   14208            0 :                                                                                                 switch (TREE_CODE (_q140))
   14209              :                                                                                                   {
   14210            0 :                                                                                                   case SSA_NAME:
   14211            0 :                                                                                                     {
   14212            0 :                                                                                                       switch (TREE_CODE (_p2))
   14213              :                                                                                                         {
   14214            0 :                                                                                                         case CALL_EXPR:
   14215            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14216              :                                                                                                             {
   14217            0 :                                                                                                             case CFN_CEIL:
   14218            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14219              :     {
   14220            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14221            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14222              :                                                                                                                     {
   14223            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14224              :                                                                                                                         {
   14225            0 :                                                                                                                         case SSA_NAME:
   14226            0 :                                                                                                                           {
   14227            0 :                                                                                                                             {
   14228            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14229            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   14230            0 :                                                                                                                               if (res) return res;
   14231              :                                                                                                                             }
   14232            0 :                                                                                                                             break;
   14233              :                                                                                                                           }
   14234              :                                                                                                                         default:;
   14235              :                                                                                                                         }
   14236              :                                                                                                                     }
   14237              :                                                                                                                 }
   14238              :                                                                                                               break;
   14239              :                                                                                                             default:;
   14240              :                                                                                                             }
   14241              :                                                                                                           break;
   14242              :                                                                                                         default:;
   14243              :                                                                                                         }
   14244              :                                                                                                       break;
   14245              :                                                                                                     }
   14246              :                                                                                                   default:;
   14247              :                                                                                                   }
   14248              :                                                                                               }
   14249              :                                                                                           }
   14250              :                                                                                         break;
   14251              :                                                                                       default:;
   14252              :                                                                                       }
   14253              :                                                                                     break;
   14254              :                                                                                   default:;
   14255              :                                                                                   }
   14256              :                                                                                 break;
   14257              :                                                                               }
   14258              :                                                                             default:;
   14259              :                                                                             }
   14260              :                                                                         }
   14261              :                                                                     }
   14262              :                                                                   break;
   14263              :                                                                 default:;
   14264              :                                                                 }
   14265              :                                                               break;
   14266              :                                                             default:;
   14267              :                                                             }
   14268              :                                                           break;
   14269              :                                                         }
   14270              :                                                       default:;
   14271              :                                                       }
   14272              :                                                   }
   14273              :                                                 break;
   14274              :                                               }
   14275              :                                             default:;
   14276              :                                             }
   14277              :                                           break;
   14278              :                                         }
   14279              :                                       default:;
   14280              :                                       }
   14281              :                                   }
   14282              :                                 break;
   14283              :                               }
   14284              :                             default:;
   14285              :                             }
   14286              :                         }
   14287              :                       break;
   14288            0 :                     case CFN_BUILT_IN_CEILF:
   14289            0 :                       if (call_expr_nargs (_q30) == 1)
   14290              :     {
   14291            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14292            0 :                           switch (TREE_CODE (_q40))
   14293              :                             {
   14294            0 :                             case SSA_NAME:
   14295            0 :                               {
   14296            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14297              :                                   {
   14298            0 :                                     switch (TREE_CODE (_q31))
   14299              :                                       {
   14300            0 :                                       case SSA_NAME:
   14301            0 :                                         {
   14302            0 :                                           switch (TREE_CODE (_q21))
   14303              :                                             {
   14304            0 :                                             case MINUS_EXPR:
   14305            0 :                                               {
   14306            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14307            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14308            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14309              :                                                   {
   14310            0 :                                                     switch (TREE_CODE (_q80))
   14311              :                                                       {
   14312            0 :                                                       case SSA_NAME:
   14313            0 :                                                         {
   14314            0 :                                                           switch (TREE_CODE (_q81))
   14315              :                                                             {
   14316            0 :                                                             case CALL_EXPR:
   14317            0 :                                                               switch (get_call_combined_fn (_q81))
   14318              :                                                                 {
   14319            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   14320            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14321              :     {
   14322            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14323            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14324              :                                                                         {
   14325            0 :                                                                           switch (TREE_CODE (_q110))
   14326              :                                                                             {
   14327            0 :                                                                             case SSA_NAME:
   14328            0 :                                                                               {
   14329            0 :                                                                                 switch (TREE_CODE (_p1))
   14330              :                                                                                   {
   14331            0 :                                                                                   case CALL_EXPR:
   14332            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14333              :                                                                                       {
   14334            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   14335            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14336              :     {
   14337            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14338            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14339              :                                                                                               {
   14340            0 :                                                                                                 switch (TREE_CODE (_q140))
   14341              :                                                                                                   {
   14342            0 :                                                                                                   case SSA_NAME:
   14343            0 :                                                                                                     {
   14344            0 :                                                                                                       switch (TREE_CODE (_p2))
   14345              :                                                                                                         {
   14346            0 :                                                                                                         case CALL_EXPR:
   14347            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14348              :                                                                                                             {
   14349            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   14350            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14351              :     {
   14352            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14353            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14354              :                                                                                                                     {
   14355            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14356              :                                                                                                                         {
   14357            0 :                                                                                                                         case SSA_NAME:
   14358            0 :                                                                                                                           {
   14359            0 :                                                                                                                             {
   14360            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14361            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   14362            0 :                                                                                                                               if (res) return res;
   14363              :                                                                                                                             }
   14364            0 :                                                                                                                             break;
   14365              :                                                                                                                           }
   14366              :                                                                                                                         default:;
   14367              :                                                                                                                         }
   14368              :                                                                                                                     }
   14369              :                                                                                                                 }
   14370              :                                                                                                               break;
   14371              :                                                                                                             default:;
   14372              :                                                                                                             }
   14373              :                                                                                                           break;
   14374              :                                                                                                         default:;
   14375              :                                                                                                         }
   14376              :                                                                                                       break;
   14377              :                                                                                                     }
   14378              :                                                                                                   default:;
   14379              :                                                                                                   }
   14380              :                                                                                               }
   14381              :                                                                                           }
   14382              :                                                                                         break;
   14383              :                                                                                       default:;
   14384              :                                                                                       }
   14385              :                                                                                     break;
   14386              :                                                                                   default:;
   14387              :                                                                                   }
   14388              :                                                                                 break;
   14389              :                                                                               }
   14390              :                                                                             default:;
   14391              :                                                                             }
   14392              :                                                                         }
   14393              :                                                                     }
   14394              :                                                                   break;
   14395              :                                                                 default:;
   14396              :                                                                 }
   14397              :                                                               break;
   14398              :                                                             default:;
   14399              :                                                             }
   14400              :                                                           break;
   14401              :                                                         }
   14402              :                                                       default:;
   14403              :                                                       }
   14404              :                                                   }
   14405              :                                                 break;
   14406              :                                               }
   14407              :                                             default:;
   14408              :                                             }
   14409              :                                           break;
   14410              :                                         }
   14411              :                                       default:;
   14412              :                                       }
   14413              :                                   }
   14414              :                                 break;
   14415              :                               }
   14416              :                             default:;
   14417              :                             }
   14418              :                         }
   14419              :                       break;
   14420            0 :                     case CFN_BUILT_IN_CEILL:
   14421            0 :                       if (call_expr_nargs (_q30) == 1)
   14422              :     {
   14423            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14424            0 :                           switch (TREE_CODE (_q40))
   14425              :                             {
   14426            0 :                             case SSA_NAME:
   14427            0 :                               {
   14428            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14429              :                                   {
   14430            0 :                                     switch (TREE_CODE (_q31))
   14431              :                                       {
   14432            0 :                                       case SSA_NAME:
   14433            0 :                                         {
   14434            0 :                                           switch (TREE_CODE (_q21))
   14435              :                                             {
   14436            0 :                                             case MINUS_EXPR:
   14437            0 :                                               {
   14438            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14439            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14440            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14441              :                                                   {
   14442            0 :                                                     switch (TREE_CODE (_q80))
   14443              :                                                       {
   14444            0 :                                                       case SSA_NAME:
   14445            0 :                                                         {
   14446            0 :                                                           switch (TREE_CODE (_q81))
   14447              :                                                             {
   14448            0 :                                                             case CALL_EXPR:
   14449            0 :                                                               switch (get_call_combined_fn (_q81))
   14450              :                                                                 {
   14451            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   14452            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14453              :     {
   14454            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14455            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14456              :                                                                         {
   14457            0 :                                                                           switch (TREE_CODE (_q110))
   14458              :                                                                             {
   14459            0 :                                                                             case SSA_NAME:
   14460            0 :                                                                               {
   14461            0 :                                                                                 switch (TREE_CODE (_p1))
   14462              :                                                                                   {
   14463            0 :                                                                                   case CALL_EXPR:
   14464            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14465              :                                                                                       {
   14466            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   14467            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14468              :     {
   14469            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14470            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14471              :                                                                                               {
   14472            0 :                                                                                                 switch (TREE_CODE (_q140))
   14473              :                                                                                                   {
   14474            0 :                                                                                                   case SSA_NAME:
   14475            0 :                                                                                                     {
   14476            0 :                                                                                                       switch (TREE_CODE (_p2))
   14477              :                                                                                                         {
   14478            0 :                                                                                                         case CALL_EXPR:
   14479            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14480              :                                                                                                             {
   14481            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   14482            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14483              :     {
   14484            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14485            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14486              :                                                                                                                     {
   14487            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14488              :                                                                                                                         {
   14489            0 :                                                                                                                         case SSA_NAME:
   14490            0 :                                                                                                                           {
   14491            0 :                                                                                                                             {
   14492            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14493            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   14494            0 :                                                                                                                               if (res) return res;
   14495              :                                                                                                                             }
   14496            0 :                                                                                                                             break;
   14497              :                                                                                                                           }
   14498              :                                                                                                                         default:;
   14499              :                                                                                                                         }
   14500              :                                                                                                                     }
   14501              :                                                                                                                 }
   14502              :                                                                                                               break;
   14503              :                                                                                                             default:;
   14504              :                                                                                                             }
   14505              :                                                                                                           break;
   14506              :                                                                                                         default:;
   14507              :                                                                                                         }
   14508              :                                                                                                       break;
   14509              :                                                                                                     }
   14510              :                                                                                                   default:;
   14511              :                                                                                                   }
   14512              :                                                                                               }
   14513              :                                                                                           }
   14514              :                                                                                         break;
   14515              :                                                                                       default:;
   14516              :                                                                                       }
   14517              :                                                                                     break;
   14518              :                                                                                   default:;
   14519              :                                                                                   }
   14520              :                                                                                 break;
   14521              :                                                                               }
   14522              :                                                                             default:;
   14523              :                                                                             }
   14524              :                                                                         }
   14525              :                                                                     }
   14526              :                                                                   break;
   14527              :                                                                 default:;
   14528              :                                                                 }
   14529              :                                                               break;
   14530              :                                                             default:;
   14531              :                                                             }
   14532              :                                                           break;
   14533              :                                                         }
   14534              :                                                       default:;
   14535              :                                                       }
   14536              :                                                   }
   14537              :                                                 break;
   14538              :                                               }
   14539              :                                             default:;
   14540              :                                             }
   14541              :                                           break;
   14542              :                                         }
   14543              :                                       default:;
   14544              :                                       }
   14545              :                                   }
   14546              :                                 break;
   14547              :                               }
   14548              :                             default:;
   14549              :                             }
   14550              :                         }
   14551              :                       break;
   14552              :                     default:;
   14553              :                     }
   14554              :                   break;
   14555              :                 default:;
   14556              :                 }
   14557              :               break;
   14558              :             }
   14559        89610 :           CASE_CONVERT:
   14560        89610 :             {
   14561        89610 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14562        89610 :               switch (TREE_CODE (_q21))
   14563              :                 {
   14564         4084 :                 case INTEGER_CST:
   14565         4084 :                   {
   14566         4084 :                     switch (TREE_CODE (_p1))
   14567              :                       {
   14568          203 :                       CASE_CONVERT:
   14569          203 :                         {
   14570          203 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14571          203 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14572              :                             {
   14573           63 :                               switch (TREE_CODE (_p2))
   14574              :                                 {
   14575           62 :                                 case INTEGER_CST:
   14576           62 :                                   {
   14577           62 :                                     {
   14578           62 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14579           62 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14580           62 :                                       if (res) return res;
   14581              :                                     }
   14582           62 :                                     break;
   14583              :                                   }
   14584              :                                 default:;
   14585              :                                 }
   14586              :                             }
   14587              :                           break;
   14588              :                         }
   14589         4084 :                       default:;
   14590              :                       }
   14591         4084 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   14592              :                       {
   14593            5 :                         switch (TREE_CODE (_p2))
   14594              :                           {
   14595            3 :                           case INTEGER_CST:
   14596            3 :                             {
   14597            3 :                               {
   14598            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14599            3 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14600            3 :                                 if (res) return res;
   14601              :                               }
   14602            3 :                               break;
   14603              :                             }
   14604              :                           default:;
   14605              :                           }
   14606              :                       }
   14607         4084 :                     switch (TREE_CODE (_p1))
   14608              :                       {
   14609         1170 :                       case PLUS_EXPR:
   14610         1170 :                         {
   14611         1170 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14612         1170 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14613         1170 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14614              :                             {
   14615           24 :                               switch (TREE_CODE (_q61))
   14616              :                                 {
   14617           24 :                                 case INTEGER_CST:
   14618           24 :                                   {
   14619           24 :                                     switch (TREE_CODE (_p2))
   14620              :                                       {
   14621           24 :                                       case INTEGER_CST:
   14622           24 :                                         {
   14623           24 :                                           {
   14624           24 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14625           24 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14626           24 :                                             if (res) return res;
   14627              :                                           }
   14628           24 :                                           break;
   14629              :                                         }
   14630              :                                       default:;
   14631              :                                       }
   14632              :                                     break;
   14633              :                                   }
   14634              :                                 default:;
   14635              :                                 }
   14636              :                             }
   14637              :                           break;
   14638              :                         }
   14639            3 :                       case MINUS_EXPR:
   14640            3 :                         {
   14641            3 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14642            3 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14643            3 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14644              :                             {
   14645            0 :                               switch (TREE_CODE (_q61))
   14646              :                                 {
   14647            0 :                                 case INTEGER_CST:
   14648            0 :                                   {
   14649            0 :                                     switch (TREE_CODE (_p2))
   14650              :                                       {
   14651            0 :                                       case INTEGER_CST:
   14652            0 :                                         {
   14653            0 :                                           {
   14654            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14655            0 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14656            0 :                                             if (res) return res;
   14657              :                                           }
   14658            0 :                                           break;
   14659              :                                         }
   14660              :                                       default:;
   14661              :                                       }
   14662              :                                     break;
   14663              :                                   }
   14664              :                                 default:;
   14665              :                                 }
   14666              :                             }
   14667              :                           break;
   14668              :                         }
   14669              :                       default:;
   14670              :                       }
   14671              :                     break;
   14672              :                   }
   14673              :                 default:;
   14674              :                 }
   14675              :               break;
   14676              :             }
   14677       929706 :           default:;
   14678              :           }
   14679       929706 :         switch (TREE_CODE (_q21))
   14680              :           {
   14681       482199 :           case INTEGER_CST:
   14682       482199 :             {
   14683       482199 :               switch (TREE_CODE (_p1))
   14684              :                 {
   14685        54035 :                 CASE_CONVERT:
   14686        54035 :                   {
   14687        54035 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14688        54035 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14689              :                       {
   14690        12566 :                         switch (TREE_CODE (_p2))
   14691              :                           {
   14692        12530 :                           case INTEGER_CST:
   14693        12530 :                             {
   14694        12530 :                               {
   14695        12530 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14696        12530 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14697        12530 :                                 if (res) return res;
   14698              :                               }
   14699        12221 :                               break;
   14700              :                             }
   14701              :                           default:;
   14702              :                           }
   14703              :                       }
   14704              :                     break;
   14705              :                   }
   14706       481890 :                 default:;
   14707              :                 }
   14708       481890 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14709              :                 {
   14710         8829 :                   switch (TREE_CODE (_p2))
   14711              :                     {
   14712         8655 :                     case INTEGER_CST:
   14713         8655 :                       {
   14714         8655 :                         {
   14715         8655 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14716         8655 :                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14717         8655 :                           if (res) return res;
   14718              :                         }
   14719           31 :                         break;
   14720              :                       }
   14721              :                     default:;
   14722              :                     }
   14723              :                 }
   14724       473266 :               switch (TREE_CODE (_p1))
   14725              :                 {
   14726        47689 :                 case PLUS_EXPR:
   14727        47689 :                   {
   14728        47689 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14729        47689 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14730        47689 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14731              :                       {
   14732          737 :                         switch (TREE_CODE (_q51))
   14733              :                           {
   14734          737 :                           case INTEGER_CST:
   14735          737 :                             {
   14736          737 :                               switch (TREE_CODE (_p2))
   14737              :                                 {
   14738          729 :                                 case INTEGER_CST:
   14739          729 :                                   {
   14740          729 :                                     {
   14741          729 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14742          729 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14743          729 :                                       if (res) return res;
   14744              :                                     }
   14745           17 :                                     break;
   14746              :                                   }
   14747              :                                 default:;
   14748              :                                 }
   14749              :                               break;
   14750              :                             }
   14751              :                           default:;
   14752              :                           }
   14753              :                       }
   14754              :                     break;
   14755              :                   }
   14756          193 :                 case MINUS_EXPR:
   14757          193 :                   {
   14758          193 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14759          193 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14760          193 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14761              :                       {
   14762            4 :                         switch (TREE_CODE (_q51))
   14763              :                           {
   14764            0 :                           case INTEGER_CST:
   14765            0 :                             {
   14766            0 :                               switch (TREE_CODE (_p2))
   14767              :                                 {
   14768            0 :                                 case INTEGER_CST:
   14769            0 :                                   {
   14770            0 :                                     {
   14771            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14772            0 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14773            0 :                                       if (res) return res;
   14774              :                                     }
   14775            0 :                                     break;
   14776              :                                   }
   14777              :                                 default:;
   14778              :                                 }
   14779              :                               break;
   14780              :                             }
   14781              :                           default:;
   14782              :                           }
   14783              :                       }
   14784              :                     break;
   14785              :                   }
   14786              :                 default:;
   14787              :                 }
   14788              :               break;
   14789              :             }
   14790       920061 :           default:;
   14791              :           }
   14792       920061 :         switch (TREE_CODE (_p1))
   14793              :           {
   14794           18 :           case MIN_EXPR:
   14795           18 :             {
   14796           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14797           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14798           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14799              :                 {
   14800            7 :                   switch (TREE_CODE (_p2))
   14801              :                     {
   14802            0 :                     case MIN_EXPR:
   14803            0 :                       {
   14804            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14805            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14806            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14807              :                           {
   14808            0 :                             {
   14809            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14810            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14811            0 :                               if (res) return res;
   14812              :                             }
   14813              :                           }
   14814            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14815              :                           {
   14816            0 :                             {
   14817            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14818            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14819            0 :                               if (res) return res;
   14820              :                             }
   14821              :                           }
   14822              :                         break;
   14823              :                       }
   14824            7 :                     default:;
   14825              :                     }
   14826            7 :                   {
   14827            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   14828            7 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14829            7 :                     if (res) return res;
   14830              :                   }
   14831              :                 }
   14832           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14833              :                 {
   14834            0 :                   switch (TREE_CODE (_p2))
   14835              :                     {
   14836            0 :                     case MIN_EXPR:
   14837            0 :                       {
   14838            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14839            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14840            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14841              :                           {
   14842            0 :                             {
   14843            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14844            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14845            0 :                               if (res) return res;
   14846              :                             }
   14847              :                           }
   14848            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14849              :                           {
   14850            0 :                             {
   14851            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14852            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14853            0 :                               if (res) return res;
   14854              :                             }
   14855              :                           }
   14856              :                         break;
   14857              :                       }
   14858              :                     default:;
   14859              :                     }
   14860              :                 }
   14861           18 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14862              :                 {
   14863            8 :                   switch (TREE_CODE (_p2))
   14864              :                     {
   14865            0 :                     case MIN_EXPR:
   14866            0 :                       {
   14867            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14868            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14869            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14870              :                           {
   14871            0 :                             {
   14872            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14873            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14874            0 :                               if (res) return res;
   14875              :                             }
   14876              :                           }
   14877            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14878              :                           {
   14879            0 :                             {
   14880            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14881            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14882            0 :                               if (res) return res;
   14883              :                             }
   14884              :                           }
   14885              :                         break;
   14886              :                       }
   14887              :                     default:;
   14888              :                     }
   14889              :                 }
   14890           18 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14891              :                 {
   14892            7 :                   switch (TREE_CODE (_p2))
   14893              :                     {
   14894            0 :                     case MIN_EXPR:
   14895            0 :                       {
   14896            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14897            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14898            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14899              :                           {
   14900            0 :                             {
   14901            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14902            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14903            0 :                               if (res) return res;
   14904              :                             }
   14905              :                           }
   14906            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14907              :                           {
   14908            0 :                             {
   14909            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14910            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14911            0 :                               if (res) return res;
   14912              :                             }
   14913              :                           }
   14914              :                         break;
   14915              :                       }
   14916              :                     default:;
   14917              :                     }
   14918              :                 }
   14919           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14920              :                 {
   14921            0 :                   {
   14922            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   14923            0 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14924            0 :                     if (res) return res;
   14925              :                   }
   14926              :                 }
   14927              :               break;
   14928              :             }
   14929          100 :           case MAX_EXPR:
   14930          100 :             {
   14931          100 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14932          100 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14933          100 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14934              :                 {
   14935            0 :                   switch (TREE_CODE (_p2))
   14936              :                     {
   14937            0 :                     case MAX_EXPR:
   14938            0 :                       {
   14939            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14940            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14941            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14942              :                           {
   14943            0 :                             {
   14944            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14945            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14946            0 :                               if (res) return res;
   14947              :                             }
   14948              :                           }
   14949            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14950              :                           {
   14951            0 :                             {
   14952            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14953            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14954            0 :                               if (res) return res;
   14955              :                             }
   14956              :                           }
   14957              :                         break;
   14958              :                       }
   14959              :                     default:;
   14960              :                     }
   14961              :                 }
   14962          100 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14963              :                 {
   14964            2 :                   switch (TREE_CODE (_p2))
   14965              :                     {
   14966            1 :                     case MAX_EXPR:
   14967            1 :                       {
   14968            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14969            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14970            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14971              :                           {
   14972            0 :                             {
   14973            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14974            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14975            0 :                               if (res) return res;
   14976              :                             }
   14977              :                           }
   14978            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14979              :                           {
   14980            1 :                             {
   14981            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14982            1 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14983            1 :                               if (res) return res;
   14984              :                             }
   14985              :                           }
   14986              :                         break;
   14987              :                       }
   14988              :                     default:;
   14989              :                     }
   14990              :                 }
   14991           99 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14992              :                 {
   14993            1 :                   switch (TREE_CODE (_p2))
   14994              :                     {
   14995            0 :                     case MAX_EXPR:
   14996            0 :                       {
   14997            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14998            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14999            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15000              :                           {
   15001            0 :                             {
   15002            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15003            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15004            0 :                               if (res) return res;
   15005              :                             }
   15006              :                           }
   15007            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15008              :                           {
   15009            0 :                             {
   15010            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15011            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15012            0 :                               if (res) return res;
   15013              :                             }
   15014              :                           }
   15015              :                         break;
   15016              :                       }
   15017            1 :                     default:;
   15018              :                     }
   15019            1 :                   {
   15020            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   15021            1 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15022            1 :                     if (res) return res;
   15023              :                   }
   15024              :                 }
   15025           98 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15026              :                 {
   15027            0 :                   switch (TREE_CODE (_p2))
   15028              :                     {
   15029            0 :                     case MAX_EXPR:
   15030            0 :                       {
   15031            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15032            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15033            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15034              :                           {
   15035            0 :                             {
   15036            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15037            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15038            0 :                               if (res) return res;
   15039              :                             }
   15040              :                           }
   15041            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15042              :                           {
   15043            0 :                             {
   15044            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15045            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15046            0 :                               if (res) return res;
   15047              :                             }
   15048              :                           }
   15049              :                         break;
   15050              :                       }
   15051            0 :                     default:;
   15052              :                     }
   15053            0 :                   {
   15054            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   15055            0 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15056            0 :                     if (res) return res;
   15057              :                   }
   15058              :                 }
   15059              :               break;
   15060              :             }
   15061       920059 :           default:;
   15062              :           }
   15063       920059 :         if (integer_zerop (_q20))
   15064              :           {
   15065            0 :             {
   15066            0 :               tree _q21_pops[1];
   15067            0 :               if (tree_nop_convert (_q21, _q21_pops))
   15068              :                 {
   15069            0 :                   tree _q40 = _q21_pops[0];
   15070            0 :                   switch (TREE_CODE (_p1))
   15071              :                     {
   15072            0 :                     case MIN_EXPR:
   15073            0 :                       {
   15074            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   15075            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   15076            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15077              :                           {
   15078            0 :                             switch (TREE_CODE (_q61))
   15079              :                               {
   15080            0 :                               case INTEGER_CST:
   15081            0 :                                 {
   15082            0 :                                   switch (TREE_CODE (_p2))
   15083              :                                     {
   15084            0 :                                     case INTEGER_CST:
   15085            0 :                                       {
   15086            0 :                                         {
   15087            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   15088            0 :                                           tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   15089            0 :                                           if (res) return res;
   15090              :                                         }
   15091            0 :                                         break;
   15092              :                                       }
   15093              :                                     default:;
   15094              :                                     }
   15095              :                                   break;
   15096              :                                 }
   15097              :                               default:;
   15098              :                               }
   15099              :                           }
   15100              :                         break;
   15101              :                       }
   15102              :                     default:;
   15103              :                     }
   15104              :                 }
   15105              :             }
   15106              :           }
   15107       920059 :         if (tree_expr_nonnegative_p (_q21))
   15108              :           {
   15109       592269 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15110              :               {
   15111          612 :                 switch (TREE_CODE (_p2))
   15112              :                   {
   15113            0 :                   case ABS_EXPR:
   15114            0 :                     {
   15115            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15116            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15117              :                         {
   15118            0 :                           {
   15119            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15120            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   15121            0 :                             if (res) return res;
   15122              :                           }
   15123              :                         }
   15124              :                       break;
   15125              :                     }
   15126              :                   default:;
   15127              :                   }
   15128              :               }
   15129       592269 :             switch (TREE_CODE (_p1))
   15130              :               {
   15131            1 :               case ABS_EXPR:
   15132            1 :                 {
   15133            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15134            1 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15135              :                     {
   15136            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15137              :                         {
   15138            0 :                           {
   15139            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   15140            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   15141            0 :                             if (res) return res;
   15142              :                           }
   15143              :                         }
   15144              :                     }
   15145              :                   break;
   15146              :                 }
   15147              :               default:;
   15148              :               }
   15149              :           }
   15150       920059 :         switch (TREE_CODE (_q20))
   15151              :           {
   15152        56838 :           case PLUS_EXPR:
   15153        56838 :             {
   15154        56838 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15155        56838 :               tree _q31 = TREE_OPERAND (_q20, 1);
   15156        56838 :               if (integer_onep (_q31))
   15157              :                 {
   15158        28510 :                   switch (TREE_CODE (_p1))
   15159              :                     {
   15160            2 :                     case NEGATE_EXPR:
   15161            2 :                       {
   15162            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   15163            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   15164              :                           {
   15165            2 :                             if (integer_onep (_p2))
   15166              :                               {
   15167            2 :                                 {
   15168            2 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15169            2 :                                   if (TYPE_UNSIGNED (type)
   15170              : )
   15171              :                                     {
   15172            2 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1841;
   15173            2 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1841;
   15174            2 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1841;
   15175            2 :                                       {
   15176            2 :                                         tree res_op0;
   15177            2 :                                         {
   15178            2 :                                           tree _o1[2], _r1;
   15179            2 :                                           _o1[0] = unshare_expr (captures[0]);
   15180            2 :                                           _o1[1] = captures[1];
   15181            2 :                                           _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
   15182            2 :                                           res_op0 = _r1;
   15183              :                                         }
   15184            2 :                                         tree res_op1;
   15185            2 :                                         {
   15186            2 :                                           tree _o1[1], _r1;
   15187            2 :                                           _o1[0] = captures[0];
   15188            2 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   15189            2 :                                           res_op1 = _r1;
   15190              :                                         }
   15191            2 :                                         tree res_op2;
   15192            2 :                                         res_op2 = captures[2];
   15193            2 :                                         tree _r;
   15194            2 :                                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   15195            2 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   15196            2 :                                         return _r;
   15197              :                                       }
   15198            0 : next_after_fail1841:;
   15199              :                                     }
   15200              :                                 }
   15201              :                               }
   15202              :                           }
   15203              :                         break;
   15204              :                       }
   15205              :                     default:;
   15206              :                     }
   15207              :                 }
   15208              :               break;
   15209              :             }
   15210              :           default:;
   15211              :           }
   15212              :         break;
   15213              :       }
   15214      1406353 :     case LE_EXPR:
   15215      1406353 :       {
   15216      1406353 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15217      1406353 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15218      1406353 :         switch (TREE_CODE (_q20))
   15219              :           {
   15220          198 :           case MINUS_EXPR:
   15221          198 :             {
   15222          198 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15223          198 :               tree _q31 = TREE_OPERAND (_q20, 1);
   15224          198 :               switch (TREE_CODE (_q30))
   15225              :                 {
   15226            0 :                 case CALL_EXPR:
   15227            0 :                   switch (get_call_combined_fn (_q30))
   15228              :                     {
   15229            0 :                     case CFN_BUILT_IN_CEIL:
   15230            0 :                       if (call_expr_nargs (_q30) == 1)
   15231              :     {
   15232            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15233            0 :                           switch (TREE_CODE (_q40))
   15234              :                             {
   15235            0 :                             case SSA_NAME:
   15236            0 :                               {
   15237            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15238              :                                   {
   15239            0 :                                     switch (TREE_CODE (_q31))
   15240              :                                       {
   15241            0 :                                       case SSA_NAME:
   15242            0 :                                         {
   15243            0 :                                           switch (TREE_CODE (_q21))
   15244              :                                             {
   15245            0 :                                             case MINUS_EXPR:
   15246            0 :                                               {
   15247            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15248            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15249            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15250              :                                                   {
   15251            0 :                                                     switch (TREE_CODE (_q80))
   15252              :                                                       {
   15253            0 :                                                       case SSA_NAME:
   15254            0 :                                                         {
   15255            0 :                                                           switch (TREE_CODE (_q81))
   15256              :                                                             {
   15257            0 :                                                             case CALL_EXPR:
   15258            0 :                                                               switch (get_call_combined_fn (_q81))
   15259              :                                                                 {
   15260            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   15261            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15262              :     {
   15263            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15264            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15265              :                                                                         {
   15266            0 :                                                                           switch (TREE_CODE (_q110))
   15267              :                                                                             {
   15268            0 :                                                                             case SSA_NAME:
   15269            0 :                                                                               {
   15270            0 :                                                                                 switch (TREE_CODE (_p1))
   15271              :                                                                                   {
   15272            0 :                                                                                   case CALL_EXPR:
   15273            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15274              :                                                                                       {
   15275            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   15276            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15277              :     {
   15278            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15279            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15280              :                                                                                               {
   15281            0 :                                                                                                 switch (TREE_CODE (_q140))
   15282              :                                                                                                   {
   15283            0 :                                                                                                   case SSA_NAME:
   15284            0 :                                                                                                     {
   15285            0 :                                                                                                       switch (TREE_CODE (_p2))
   15286              :                                                                                                         {
   15287            0 :                                                                                                         case CALL_EXPR:
   15288            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15289              :                                                                                                             {
   15290            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   15291            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15292              :     {
   15293            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15294            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15295              :                                                                                                                     {
   15296            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15297              :                                                                                                                         {
   15298            0 :                                                                                                                         case SSA_NAME:
   15299            0 :                                                                                                                           {
   15300            0 :                                                                                                                             {
   15301            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15302            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   15303            0 :                                                                                                                               if (res) return res;
   15304              :                                                                                                                             }
   15305            0 :                                                                                                                             break;
   15306              :                                                                                                                           }
   15307              :                                                                                                                         default:;
   15308              :                                                                                                                         }
   15309              :                                                                                                                     }
   15310              :                                                                                                                 }
   15311              :                                                                                                               break;
   15312              :                                                                                                             default:;
   15313              :                                                                                                             }
   15314              :                                                                                                           break;
   15315              :                                                                                                         default:;
   15316              :                                                                                                         }
   15317              :                                                                                                       break;
   15318              :                                                                                                     }
   15319              :                                                                                                   default:;
   15320              :                                                                                                   }
   15321              :                                                                                               }
   15322              :                                                                                           }
   15323              :                                                                                         break;
   15324              :                                                                                       default:;
   15325              :                                                                                       }
   15326              :                                                                                     break;
   15327              :                                                                                   default:;
   15328              :                                                                                   }
   15329              :                                                                                 break;
   15330              :                                                                               }
   15331              :                                                                             default:;
   15332              :                                                                             }
   15333              :                                                                         }
   15334              :                                                                     }
   15335              :                                                                   break;
   15336              :                                                                 default:;
   15337              :                                                                 }
   15338              :                                                               break;
   15339              :                                                             default:;
   15340              :                                                             }
   15341              :                                                           break;
   15342              :                                                         }
   15343              :                                                       default:;
   15344              :                                                       }
   15345              :                                                   }
   15346              :                                                 break;
   15347              :                                               }
   15348              :                                             default:;
   15349              :                                             }
   15350              :                                           break;
   15351              :                                         }
   15352              :                                       default:;
   15353              :                                       }
   15354              :                                   }
   15355              :                                 break;
   15356              :                               }
   15357              :                             default:;
   15358              :                             }
   15359              :                         }
   15360              :                       break;
   15361            0 :                     case CFN_CEIL:
   15362            0 :                       if (call_expr_nargs (_q30) == 1)
   15363              :     {
   15364            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15365            0 :                           switch (TREE_CODE (_q40))
   15366              :                             {
   15367            0 :                             case SSA_NAME:
   15368            0 :                               {
   15369            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15370              :                                   {
   15371            0 :                                     switch (TREE_CODE (_q31))
   15372              :                                       {
   15373            0 :                                       case SSA_NAME:
   15374            0 :                                         {
   15375            0 :                                           switch (TREE_CODE (_q21))
   15376              :                                             {
   15377            0 :                                             case MINUS_EXPR:
   15378            0 :                                               {
   15379            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15380            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15381            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15382              :                                                   {
   15383            0 :                                                     switch (TREE_CODE (_q80))
   15384              :                                                       {
   15385            0 :                                                       case SSA_NAME:
   15386            0 :                                                         {
   15387            0 :                                                           switch (TREE_CODE (_q81))
   15388              :                                                             {
   15389            0 :                                                             case CALL_EXPR:
   15390            0 :                                                               switch (get_call_combined_fn (_q81))
   15391              :                                                                 {
   15392            0 :                                                                 case CFN_FLOOR:
   15393            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15394              :     {
   15395            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15396            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15397              :                                                                         {
   15398            0 :                                                                           switch (TREE_CODE (_q110))
   15399              :                                                                             {
   15400            0 :                                                                             case SSA_NAME:
   15401            0 :                                                                               {
   15402            0 :                                                                                 switch (TREE_CODE (_p1))
   15403              :                                                                                   {
   15404            0 :                                                                                   case CALL_EXPR:
   15405            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15406              :                                                                                       {
   15407            0 :                                                                                       case CFN_CEIL:
   15408            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15409              :     {
   15410            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15411            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15412              :                                                                                               {
   15413            0 :                                                                                                 switch (TREE_CODE (_q140))
   15414              :                                                                                                   {
   15415            0 :                                                                                                   case SSA_NAME:
   15416            0 :                                                                                                     {
   15417            0 :                                                                                                       switch (TREE_CODE (_p2))
   15418              :                                                                                                         {
   15419            0 :                                                                                                         case CALL_EXPR:
   15420            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15421              :                                                                                                             {
   15422            0 :                                                                                                             case CFN_FLOOR:
   15423            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15424              :     {
   15425            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15426            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15427              :                                                                                                                     {
   15428            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15429              :                                                                                                                         {
   15430            0 :                                                                                                                         case SSA_NAME:
   15431            0 :                                                                                                                           {
   15432            0 :                                                                                                                             {
   15433            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15434            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   15435            0 :                                                                                                                               if (res) return res;
   15436              :                                                                                                                             }
   15437            0 :                                                                                                                             break;
   15438              :                                                                                                                           }
   15439              :                                                                                                                         default:;
   15440              :                                                                                                                         }
   15441              :                                                                                                                     }
   15442              :                                                                                                                 }
   15443              :                                                                                                               break;
   15444              :                                                                                                             default:;
   15445              :                                                                                                             }
   15446              :                                                                                                           break;
   15447              :                                                                                                         default:;
   15448              :                                                                                                         }
   15449              :                                                                                                       break;
   15450              :                                                                                                     }
   15451              :                                                                                                   default:;
   15452              :                                                                                                   }
   15453              :                                                                                               }
   15454              :                                                                                           }
   15455              :                                                                                         break;
   15456              :                                                                                       default:;
   15457              :                                                                                       }
   15458              :                                                                                     break;
   15459              :                                                                                   default:;
   15460              :                                                                                   }
   15461              :                                                                                 break;
   15462              :                                                                               }
   15463              :                                                                             default:;
   15464              :                                                                             }
   15465              :                                                                         }
   15466              :                                                                     }
   15467              :                                                                   break;
   15468              :                                                                 default:;
   15469              :                                                                 }
   15470              :                                                               break;
   15471              :                                                             default:;
   15472              :                                                             }
   15473              :                                                           break;
   15474              :                                                         }
   15475              :                                                       default:;
   15476              :                                                       }
   15477              :                                                   }
   15478              :                                                 break;
   15479              :                                               }
   15480              :                                             default:;
   15481              :                                             }
   15482              :                                           break;
   15483              :                                         }
   15484              :                                       default:;
   15485              :                                       }
   15486              :                                   }
   15487              :                                 break;
   15488              :                               }
   15489              :                             default:;
   15490              :                             }
   15491              :                         }
   15492              :                       break;
   15493            0 :                     case CFN_BUILT_IN_CEILF:
   15494            0 :                       if (call_expr_nargs (_q30) == 1)
   15495              :     {
   15496            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15497            0 :                           switch (TREE_CODE (_q40))
   15498              :                             {
   15499            0 :                             case SSA_NAME:
   15500            0 :                               {
   15501            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15502              :                                   {
   15503            0 :                                     switch (TREE_CODE (_q31))
   15504              :                                       {
   15505            0 :                                       case SSA_NAME:
   15506            0 :                                         {
   15507            0 :                                           switch (TREE_CODE (_q21))
   15508              :                                             {
   15509            0 :                                             case MINUS_EXPR:
   15510            0 :                                               {
   15511            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15512            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15513            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15514              :                                                   {
   15515            0 :                                                     switch (TREE_CODE (_q80))
   15516              :                                                       {
   15517            0 :                                                       case SSA_NAME:
   15518            0 :                                                         {
   15519            0 :                                                           switch (TREE_CODE (_q81))
   15520              :                                                             {
   15521            0 :                                                             case CALL_EXPR:
   15522            0 :                                                               switch (get_call_combined_fn (_q81))
   15523              :                                                                 {
   15524            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   15525            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15526              :     {
   15527            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15528            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15529              :                                                                         {
   15530            0 :                                                                           switch (TREE_CODE (_q110))
   15531              :                                                                             {
   15532            0 :                                                                             case SSA_NAME:
   15533            0 :                                                                               {
   15534            0 :                                                                                 switch (TREE_CODE (_p1))
   15535              :                                                                                   {
   15536            0 :                                                                                   case CALL_EXPR:
   15537            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15538              :                                                                                       {
   15539            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   15540            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15541              :     {
   15542            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15543            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15544              :                                                                                               {
   15545            0 :                                                                                                 switch (TREE_CODE (_q140))
   15546              :                                                                                                   {
   15547            0 :                                                                                                   case SSA_NAME:
   15548            0 :                                                                                                     {
   15549            0 :                                                                                                       switch (TREE_CODE (_p2))
   15550              :                                                                                                         {
   15551            0 :                                                                                                         case CALL_EXPR:
   15552            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15553              :                                                                                                             {
   15554            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   15555            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15556              :     {
   15557            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15558            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15559              :                                                                                                                     {
   15560            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15561              :                                                                                                                         {
   15562            0 :                                                                                                                         case SSA_NAME:
   15563            0 :                                                                                                                           {
   15564            0 :                                                                                                                             {
   15565            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15566            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   15567            0 :                                                                                                                               if (res) return res;
   15568              :                                                                                                                             }
   15569            0 :                                                                                                                             break;
   15570              :                                                                                                                           }
   15571              :                                                                                                                         default:;
   15572              :                                                                                                                         }
   15573              :                                                                                                                     }
   15574              :                                                                                                                 }
   15575              :                                                                                                               break;
   15576              :                                                                                                             default:;
   15577              :                                                                                                             }
   15578              :                                                                                                           break;
   15579              :                                                                                                         default:;
   15580              :                                                                                                         }
   15581              :                                                                                                       break;
   15582              :                                                                                                     }
   15583              :                                                                                                   default:;
   15584              :                                                                                                   }
   15585              :                                                                                               }
   15586              :                                                                                           }
   15587              :                                                                                         break;
   15588              :                                                                                       default:;
   15589              :                                                                                       }
   15590              :                                                                                     break;
   15591              :                                                                                   default:;
   15592              :                                                                                   }
   15593              :                                                                                 break;
   15594              :                                                                               }
   15595              :                                                                             default:;
   15596              :                                                                             }
   15597              :                                                                         }
   15598              :                                                                     }
   15599              :                                                                   break;
   15600              :                                                                 default:;
   15601              :                                                                 }
   15602              :                                                               break;
   15603              :                                                             default:;
   15604              :                                                             }
   15605              :                                                           break;
   15606              :                                                         }
   15607              :                                                       default:;
   15608              :                                                       }
   15609              :                                                   }
   15610              :                                                 break;
   15611              :                                               }
   15612              :                                             default:;
   15613              :                                             }
   15614              :                                           break;
   15615              :                                         }
   15616              :                                       default:;
   15617              :                                       }
   15618              :                                   }
   15619              :                                 break;
   15620              :                               }
   15621              :                             default:;
   15622              :                             }
   15623              :                         }
   15624              :                       break;
   15625            0 :                     case CFN_BUILT_IN_CEILL:
   15626            0 :                       if (call_expr_nargs (_q30) == 1)
   15627              :     {
   15628            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15629            0 :                           switch (TREE_CODE (_q40))
   15630              :                             {
   15631            0 :                             case SSA_NAME:
   15632            0 :                               {
   15633            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15634              :                                   {
   15635            0 :                                     switch (TREE_CODE (_q31))
   15636              :                                       {
   15637            0 :                                       case SSA_NAME:
   15638            0 :                                         {
   15639            0 :                                           switch (TREE_CODE (_q21))
   15640              :                                             {
   15641            0 :                                             case MINUS_EXPR:
   15642            0 :                                               {
   15643            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15644            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15645            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15646              :                                                   {
   15647            0 :                                                     switch (TREE_CODE (_q80))
   15648              :                                                       {
   15649            0 :                                                       case SSA_NAME:
   15650            0 :                                                         {
   15651            0 :                                                           switch (TREE_CODE (_q81))
   15652              :                                                             {
   15653            0 :                                                             case CALL_EXPR:
   15654            0 :                                                               switch (get_call_combined_fn (_q81))
   15655              :                                                                 {
   15656            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   15657            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15658              :     {
   15659            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15660            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15661              :                                                                         {
   15662            0 :                                                                           switch (TREE_CODE (_q110))
   15663              :                                                                             {
   15664            0 :                                                                             case SSA_NAME:
   15665            0 :                                                                               {
   15666            0 :                                                                                 switch (TREE_CODE (_p1))
   15667              :                                                                                   {
   15668            0 :                                                                                   case CALL_EXPR:
   15669            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15670              :                                                                                       {
   15671            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   15672            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15673              :     {
   15674            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15675            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15676              :                                                                                               {
   15677            0 :                                                                                                 switch (TREE_CODE (_q140))
   15678              :                                                                                                   {
   15679            0 :                                                                                                   case SSA_NAME:
   15680            0 :                                                                                                     {
   15681            0 :                                                                                                       switch (TREE_CODE (_p2))
   15682              :                                                                                                         {
   15683            0 :                                                                                                         case CALL_EXPR:
   15684            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15685              :                                                                                                             {
   15686            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   15687            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15688              :     {
   15689            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15690            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15691              :                                                                                                                     {
   15692            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15693              :                                                                                                                         {
   15694            0 :                                                                                                                         case SSA_NAME:
   15695            0 :                                                                                                                           {
   15696            0 :                                                                                                                             {
   15697            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15698            0 :                                                                                                                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   15699            0 :                                                                                                                               if (res) return res;
   15700              :                                                                                                                             }
   15701            0 :                                                                                                                             break;
   15702              :                                                                                                                           }
   15703              :                                                                                                                         default:;
   15704              :                                                                                                                         }
   15705              :                                                                                                                     }
   15706              :                                                                                                                 }
   15707              :                                                                                                               break;
   15708              :                                                                                                             default:;
   15709              :                                                                                                             }
   15710              :                                                                                                           break;
   15711              :                                                                                                         default:;
   15712              :                                                                                                         }
   15713              :                                                                                                       break;
   15714              :                                                                                                     }
   15715              :                                                                                                   default:;
   15716              :                                                                                                   }
   15717              :                                                                                               }
   15718              :                                                                                           }
   15719              :                                                                                         break;
   15720              :                                                                                       default:;
   15721              :                                                                                       }
   15722              :                                                                                     break;
   15723              :                                                                                   default:;
   15724              :                                                                                   }
   15725              :                                                                                 break;
   15726              :                                                                               }
   15727              :                                                                             default:;
   15728              :                                                                             }
   15729              :                                                                         }
   15730              :                                                                     }
   15731              :                                                                   break;
   15732              :                                                                 default:;
   15733              :                                                                 }
   15734              :                                                               break;
   15735              :                                                             default:;
   15736              :                                                             }
   15737              :                                                           break;
   15738              :                                                         }
   15739              :                                                       default:;
   15740              :                                                       }
   15741              :                                                   }
   15742              :                                                 break;
   15743              :                                               }
   15744              :                                             default:;
   15745              :                                             }
   15746              :                                           break;
   15747              :                                         }
   15748              :                                       default:;
   15749              :                                       }
   15750              :                                   }
   15751              :                                 break;
   15752              :                               }
   15753              :                             default:;
   15754              :                             }
   15755              :                         }
   15756              :                       break;
   15757              :                     default:;
   15758              :                     }
   15759              :                   break;
   15760              :                 default:;
   15761              :                 }
   15762              :               break;
   15763              :             }
   15764      1406353 :           default:;
   15765              :           }
   15766      1406353 :         if (integer_zerop (_q21))
   15767              :           {
   15768       125802 :             switch (TREE_CODE (_p1))
   15769              :               {
   15770          218 :               case NEGATE_EXPR:
   15771          218 :                 {
   15772          218 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15773          218 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15774              :                     {
   15775           70 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15776              :                         {
   15777           70 :                           if (integer_zerop (_p2))
   15778              :                             {
   15779           70 :                               {
   15780           70 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15781           70 :                                 if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
   15782              : )
   15783              :                                   {
   15784           68 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1842;
   15785           68 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1842;
   15786           68 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1842;
   15787           68 :                                     {
   15788           68 :                                       tree res_op0;
   15789           68 :                                       res_op0 = captures[2];
   15790           68 :                                       tree res_op1;
   15791           68 :                                       res_op1 = captures[1];
   15792           68 :                                       tree _r;
   15793           68 :                                       _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   15794           68 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   15795           68 :                                       return _r;
   15796              :                                     }
   15797            2 : next_after_fail1842:;
   15798              :                                   }
   15799              :                               }
   15800              :                             }
   15801              :                         }
   15802              :                     }
   15803              :                   break;
   15804              :                 }
   15805              :               default:;
   15806              :               }
   15807              :           }
   15808      1406285 :         switch (TREE_CODE (_q20))
   15809              :           {
   15810       141827 :           CASE_CONVERT:
   15811       141827 :             {
   15812       141827 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15813       141827 :               switch (TREE_CODE (_q21))
   15814              :                 {
   15815       105656 :                 case INTEGER_CST:
   15816       105656 :                   {
   15817       105656 :                     switch (TREE_CODE (_p1))
   15818              :                       {
   15819          709 :                       CASE_CONVERT:
   15820          709 :                         {
   15821          709 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15822          709 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15823              :                             {
   15824            8 :                               switch (TREE_CODE (_p2))
   15825              :                                 {
   15826            8 :                                 case INTEGER_CST:
   15827            8 :                                   {
   15828            8 :                                     {
   15829            8 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15830            8 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15831            8 :                                       if (res) return res;
   15832              :                                     }
   15833            8 :                                     break;
   15834              :                                   }
   15835              :                                 default:;
   15836              :                                 }
   15837              :                             }
   15838              :                           break;
   15839              :                         }
   15840       105656 :                       default:;
   15841              :                       }
   15842       105656 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   15843              :                       {
   15844           21 :                         switch (TREE_CODE (_p2))
   15845              :                           {
   15846           21 :                           case INTEGER_CST:
   15847           21 :                             {
   15848           21 :                               {
   15849           21 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15850           21 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15851           21 :                                 if (res) return res;
   15852              :                               }
   15853           21 :                               break;
   15854              :                             }
   15855              :                           default:;
   15856              :                           }
   15857              :                       }
   15858       105656 :                     switch (TREE_CODE (_p1))
   15859              :                       {
   15860          216 :                       case PLUS_EXPR:
   15861          216 :                         {
   15862          216 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15863          216 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15864          216 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15865              :                             {
   15866            6 :                               switch (TREE_CODE (_q61))
   15867              :                                 {
   15868            6 :                                 case INTEGER_CST:
   15869            6 :                                   {
   15870            6 :                                     switch (TREE_CODE (_p2))
   15871              :                                       {
   15872            6 :                                       case INTEGER_CST:
   15873            6 :                                         {
   15874            6 :                                           {
   15875            6 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15876            6 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15877            6 :                                             if (res) return res;
   15878              :                                           }
   15879            6 :                                           break;
   15880              :                                         }
   15881              :                                       default:;
   15882              :                                       }
   15883              :                                     break;
   15884              :                                   }
   15885              :                                 default:;
   15886              :                                 }
   15887              :                             }
   15888              :                           break;
   15889              :                         }
   15890          698 :                       case MINUS_EXPR:
   15891          698 :                         {
   15892          698 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15893          698 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15894          698 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15895              :                             {
   15896            0 :                               switch (TREE_CODE (_q61))
   15897              :                                 {
   15898            0 :                                 case INTEGER_CST:
   15899            0 :                                   {
   15900            0 :                                     switch (TREE_CODE (_p2))
   15901              :                                       {
   15902            0 :                                       case INTEGER_CST:
   15903            0 :                                         {
   15904            0 :                                           {
   15905            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15906            0 :                                             tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15907            0 :                                             if (res) return res;
   15908              :                                           }
   15909            0 :                                           break;
   15910              :                                         }
   15911              :                                       default:;
   15912              :                                       }
   15913              :                                     break;
   15914              :                                   }
   15915              :                                 default:;
   15916              :                                 }
   15917              :                             }
   15918              :                           break;
   15919              :                         }
   15920              :                       default:;
   15921              :                       }
   15922              :                     break;
   15923              :                   }
   15924              :                 default:;
   15925              :                 }
   15926              :               break;
   15927              :             }
   15928      1406285 :           default:;
   15929              :           }
   15930      1406285 :         switch (TREE_CODE (_q21))
   15931              :           {
   15932      1007983 :           case INTEGER_CST:
   15933      1007983 :             {
   15934      1007983 :               switch (TREE_CODE (_p1))
   15935              :                 {
   15936        24300 :                 CASE_CONVERT:
   15937        24300 :                   {
   15938        24300 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15939        24300 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15940              :                       {
   15941          228 :                         switch (TREE_CODE (_p2))
   15942              :                           {
   15943          210 :                           case INTEGER_CST:
   15944          210 :                             {
   15945          210 :                               {
   15946          210 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15947          210 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15948          210 :                                 if (res) return res;
   15949              :                               }
   15950          110 :                               break;
   15951              :                             }
   15952              :                           default:;
   15953              :                           }
   15954              :                       }
   15955              :                     break;
   15956              :                   }
   15957      1007883 :                 default:;
   15958              :                 }
   15959      1007883 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15960              :                 {
   15961          289 :                   switch (TREE_CODE (_p2))
   15962              :                     {
   15963          252 :                     case INTEGER_CST:
   15964          252 :                       {
   15965          252 :                         {
   15966          252 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15967          252 :                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15968          252 :                           if (res) return res;
   15969              :                         }
   15970          107 :                         break;
   15971              :                       }
   15972              :                     default:;
   15973              :                     }
   15974              :                 }
   15975      1007738 :               switch (TREE_CODE (_p1))
   15976              :                 {
   15977         3020 :                 case PLUS_EXPR:
   15978         3020 :                   {
   15979         3020 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15980         3020 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15981         3020 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15982              :                       {
   15983          203 :                         switch (TREE_CODE (_q51))
   15984              :                           {
   15985          203 :                           case INTEGER_CST:
   15986          203 :                             {
   15987          203 :                               switch (TREE_CODE (_p2))
   15988              :                                 {
   15989          184 :                                 case INTEGER_CST:
   15990          184 :                                   {
   15991          184 :                                     {
   15992          184 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15993          184 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15994          184 :                                       if (res) return res;
   15995              :                                     }
   15996          182 :                                     break;
   15997              :                                   }
   15998              :                                 default:;
   15999              :                                 }
   16000              :                               break;
   16001              :                             }
   16002              :                           default:;
   16003              :                           }
   16004              :                       }
   16005              :                     break;
   16006              :                   }
   16007         7221 :                 case MINUS_EXPR:
   16008         7221 :                   {
   16009         7221 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16010         7221 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   16011         7221 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16012              :                       {
   16013            0 :                         switch (TREE_CODE (_q51))
   16014              :                           {
   16015            0 :                           case INTEGER_CST:
   16016            0 :                             {
   16017            0 :                               switch (TREE_CODE (_p2))
   16018              :                                 {
   16019            0 :                                 case INTEGER_CST:
   16020            0 :                                   {
   16021            0 :                                     {
   16022            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   16023            0 :                                       tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   16024            0 :                                       if (res) return res;
   16025              :                                     }
   16026            0 :                                     break;
   16027              :                                   }
   16028              :                                 default:;
   16029              :                                 }
   16030              :                               break;
   16031              :                             }
   16032              :                           default:;
   16033              :                           }
   16034              :                       }
   16035              :                     break;
   16036              :                   }
   16037              :                 default:;
   16038              :                 }
   16039              :               break;
   16040              :             }
   16041      1406038 :           default:;
   16042              :           }
   16043      1406038 :         switch (TREE_CODE (_p1))
   16044              :           {
   16045           37 :           case MIN_EXPR:
   16046           37 :             {
   16047           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16048           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16049           37 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16050              :                 {
   16051            1 :                   switch (TREE_CODE (_p2))
   16052              :                     {
   16053            0 :                     case MIN_EXPR:
   16054            0 :                       {
   16055            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16056            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16057            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16058              :                           {
   16059            0 :                             {
   16060            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   16061            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16062            0 :                               if (res) return res;
   16063              :                             }
   16064              :                           }
   16065            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16066              :                           {
   16067            0 :                             {
   16068            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   16069            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16070            0 :                               if (res) return res;
   16071              :                             }
   16072              :                           }
   16073              :                         break;
   16074              :                       }
   16075              :                     default:;
   16076              :                     }
   16077              :                 }
   16078           37 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16079              :                 {
   16080            1 :                   switch (TREE_CODE (_p2))
   16081              :                     {
   16082            0 :                     case MIN_EXPR:
   16083            0 :                       {
   16084            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16085            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16086            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16087              :                           {
   16088            0 :                             {
   16089            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   16090            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16091            0 :                               if (res) return res;
   16092              :                             }
   16093              :                           }
   16094            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16095              :                           {
   16096            0 :                             {
   16097            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   16098            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16099            0 :                               if (res) return res;
   16100              :                             }
   16101              :                           }
   16102              :                         break;
   16103              :                       }
   16104              :                     default:;
   16105              :                     }
   16106              :                 }
   16107           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16108              :                 {
   16109            1 :                   switch (TREE_CODE (_p2))
   16110              :                     {
   16111            0 :                     case MIN_EXPR:
   16112            0 :                       {
   16113            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16114            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16115            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16116              :                           {
   16117            0 :                             {
   16118            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   16119            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16120            0 :                               if (res) return res;
   16121              :                             }
   16122              :                           }
   16123            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16124              :                           {
   16125            0 :                             {
   16126            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   16127            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16128            0 :                               if (res) return res;
   16129              :                             }
   16130              :                           }
   16131              :                         break;
   16132              :                       }
   16133            1 :                     default:;
   16134              :                     }
   16135            1 :                   {
   16136            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   16137            1 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16138            1 :                     if (res) return res;
   16139              :                   }
   16140              :                 }
   16141           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16142              :                 {
   16143            1 :                   switch (TREE_CODE (_p2))
   16144              :                     {
   16145            0 :                     case MIN_EXPR:
   16146            0 :                       {
   16147            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16148            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16149            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16150              :                           {
   16151            0 :                             {
   16152            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   16153            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16154            0 :                               if (res) return res;
   16155              :                             }
   16156              :                           }
   16157            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16158              :                           {
   16159            0 :                             {
   16160            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16161            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16162            0 :                               if (res) return res;
   16163              :                             }
   16164              :                           }
   16165              :                         break;
   16166              :                       }
   16167            1 :                     default:;
   16168              :                     }
   16169            1 :                   {
   16170            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   16171            1 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16172            1 :                     if (res) return res;
   16173              :                   }
   16174              :                 }
   16175              :               break;
   16176              :             }
   16177           12 :           case MAX_EXPR:
   16178           12 :             {
   16179           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16180           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16181           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16182              :                 {
   16183            0 :                   switch (TREE_CODE (_p2))
   16184              :                     {
   16185            0 :                     case MAX_EXPR:
   16186            0 :                       {
   16187            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16188            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16189            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16190              :                           {
   16191            0 :                             {
   16192            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   16193            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16194            0 :                               if (res) return res;
   16195              :                             }
   16196              :                           }
   16197            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16198              :                           {
   16199            0 :                             {
   16200            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   16201            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16202            0 :                               if (res) return res;
   16203              :                             }
   16204              :                           }
   16205              :                         break;
   16206              :                       }
   16207            0 :                     default:;
   16208              :                     }
   16209            0 :                   {
   16210            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   16211            0 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16212            0 :                     if (res) return res;
   16213              :                   }
   16214              :                 }
   16215           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16216              :                 {
   16217            0 :                   switch (TREE_CODE (_p2))
   16218              :                     {
   16219            0 :                     case MAX_EXPR:
   16220            0 :                       {
   16221            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16222            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16223            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16224              :                           {
   16225            0 :                             {
   16226            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   16227            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16228            0 :                               if (res) return res;
   16229              :                             }
   16230              :                           }
   16231            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16232              :                           {
   16233            0 :                             {
   16234            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   16235            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16236            0 :                               if (res) return res;
   16237              :                             }
   16238              :                           }
   16239              :                         break;
   16240              :                       }
   16241              :                     default:;
   16242              :                     }
   16243              :                 }
   16244           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16245              :                 {
   16246            0 :                   switch (TREE_CODE (_p2))
   16247              :                     {
   16248            0 :                     case MAX_EXPR:
   16249            0 :                       {
   16250            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16251            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16252            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16253              :                           {
   16254            0 :                             {
   16255            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   16256            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16257            0 :                               if (res) return res;
   16258              :                             }
   16259              :                           }
   16260            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16261              :                           {
   16262            0 :                             {
   16263            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   16264            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16265            0 :                               if (res) return res;
   16266              :                             }
   16267              :                           }
   16268              :                         break;
   16269              :                       }
   16270              :                     default:;
   16271              :                     }
   16272              :                 }
   16273           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16274              :                 {
   16275            0 :                   switch (TREE_CODE (_p2))
   16276              :                     {
   16277            0 :                     case MAX_EXPR:
   16278            0 :                       {
   16279            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16280            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16281            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16282              :                           {
   16283            0 :                             {
   16284            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   16285            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16286            0 :                               if (res) return res;
   16287              :                             }
   16288              :                           }
   16289            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16290              :                           {
   16291            0 :                             {
   16292            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16293            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16294            0 :                               if (res) return res;
   16295              :                             }
   16296              :                           }
   16297              :                         break;
   16298              :                       }
   16299              :                     default:;
   16300              :                     }
   16301              :                 }
   16302           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16303              :                 {
   16304            0 :                   {
   16305            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   16306            0 :                     tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16307            0 :                     if (res) return res;
   16308              :                   }
   16309              :                 }
   16310              :               break;
   16311              :             }
   16312      1406036 :           default:;
   16313              :           }
   16314      1406036 :         if (integer_zerop (_q20))
   16315              :           {
   16316            2 :             {
   16317            2 :               tree _q21_pops[1];
   16318            2 :               if (tree_nop_convert (_q21, _q21_pops))
   16319              :                 {
   16320            0 :                   tree _q40 = _q21_pops[0];
   16321            0 :                   switch (TREE_CODE (_p1))
   16322              :                     {
   16323            0 :                     case MAX_EXPR:
   16324            0 :                       {
   16325            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   16326            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   16327            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   16328              :                           {
   16329            0 :                             switch (TREE_CODE (_q61))
   16330              :                               {
   16331            0 :                               case INTEGER_CST:
   16332            0 :                                 {
   16333            0 :                                   switch (TREE_CODE (_p2))
   16334              :                                     {
   16335            0 :                                     case INTEGER_CST:
   16336            0 :                                       {
   16337            0 :                                         {
   16338            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   16339            0 :                                           tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16340            0 :                                           if (res) return res;
   16341              :                                         }
   16342            0 :                                         break;
   16343              :                                       }
   16344              :                                     default:;
   16345              :                                     }
   16346              :                                   break;
   16347              :                                 }
   16348              :                               default:;
   16349              :                               }
   16350              :                           }
   16351              :                         break;
   16352              :                       }
   16353              :                     default:;
   16354              :                     }
   16355              :                 }
   16356              :             }
   16357              :           }
   16358      1406036 :         if (tree_expr_nonnegative_p (_q20))
   16359              :           {
   16360       898889 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16361              :               {
   16362           12 :                 switch (TREE_CODE (_p2))
   16363              :                   {
   16364            0 :                   case ABS_EXPR:
   16365            0 :                     {
   16366            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16367            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16368              :                         {
   16369            0 :                           {
   16370            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16371            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16372            0 :                             if (res) return res;
   16373              :                           }
   16374              :                         }
   16375              :                       break;
   16376              :                     }
   16377              :                   default:;
   16378              :                   }
   16379              :               }
   16380       898889 :             switch (TREE_CODE (_p1))
   16381              :               {
   16382            0 :               case ABS_EXPR:
   16383            0 :                 {
   16384            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16385            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16386              :                     {
   16387            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16388              :                         {
   16389            0 :                           {
   16390            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16391            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16392            0 :                             if (res) return res;
   16393              :                           }
   16394              :                         }
   16395              :                     }
   16396              :                   break;
   16397              :                 }
   16398              :               default:;
   16399              :               }
   16400              :           }
   16401              :         break;
   16402              :       }
   16403      1797329 :     case EQ_EXPR:
   16404      1797329 :       {
   16405      1797329 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16406      1797329 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16407      1797329 :         if (tree_zero_one_valued_p (_q20))
   16408              :           {
   16409       169974 :             if (integer_zerop (_q21))
   16410              :               {
   16411         1203 :                 switch (TREE_CODE (_p2))
   16412              :                   {
   16413            1 :                   case BIT_XOR_EXPR:
   16414            1 :                     {
   16415            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16416            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16417            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16418              :                         {
   16419            1 :                           {
   16420            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16421            1 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16422            1 :                             if (res) return res;
   16423              :                           }
   16424              :                         }
   16425            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16426              :                         {
   16427            0 :                           {
   16428            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16429            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16430            0 :                             if (res) return res;
   16431              :                           }
   16432              :                         }
   16433              :                       break;
   16434              :                     }
   16435            1 :                   case BIT_IOR_EXPR:
   16436            1 :                     {
   16437            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16438            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16439            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16440              :                         {
   16441            1 :                           {
   16442            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16443            1 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16444            1 :                             if (res) return res;
   16445              :                           }
   16446              :                         }
   16447            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16448              :                         {
   16449            0 :                           {
   16450            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16451            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16452            0 :                             if (res) return res;
   16453              :                           }
   16454              :                         }
   16455              :                       break;
   16456              :                     }
   16457            1 :                   case PLUS_EXPR:
   16458            1 :                     {
   16459            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16460            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16461            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16462              :                         {
   16463            1 :                           {
   16464            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16465            1 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16466            1 :                             if (res) return res;
   16467              :                           }
   16468              :                         }
   16469            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16470              :                         {
   16471            0 :                           {
   16472            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16473            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16474            0 :                             if (res) return res;
   16475              :                           }
   16476              :                         }
   16477              :                       break;
   16478              :                     }
   16479              :                   default:;
   16480              :                   }
   16481              :               }
   16482              :           }
   16483      1797326 :         if (integer_zerop (_q21))
   16484              :           {
   16485       595818 :             switch (TREE_CODE (_p2))
   16486              :               {
   16487        24196 :               case PLUS_EXPR:
   16488        24196 :                 {
   16489        24196 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16490        24196 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16491        24196 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16492              :                     {
   16493            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16494              :                         {
   16495            0 :                           {
   16496            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16497            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16498            0 :                             if (res) return res;
   16499              :                           }
   16500              :                         }
   16501              :                     }
   16502        24196 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16503              :                     {
   16504         2011 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16505              :                         {
   16506            0 :                           {
   16507            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16508            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16509            0 :                             if (res) return res;
   16510              :                           }
   16511              :                         }
   16512              :                     }
   16513              :                   break;
   16514              :                 }
   16515          108 :               case BIT_IOR_EXPR:
   16516          108 :                 {
   16517          108 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16518          108 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16519          108 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16520              :                     {
   16521            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16522              :                         {
   16523            0 :                           {
   16524            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16525            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16526            0 :                             if (res) return res;
   16527              :                           }
   16528              :                         }
   16529              :                     }
   16530          108 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16531              :                     {
   16532            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16533              :                         {
   16534            0 :                           {
   16535            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16536            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16537            0 :                             if (res) return res;
   16538              :                           }
   16539              :                         }
   16540              :                     }
   16541              :                   break;
   16542              :                 }
   16543            0 :               case BIT_XOR_EXPR:
   16544            0 :                 {
   16545            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16546            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16547            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16548              :                     {
   16549            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16550              :                         {
   16551            0 :                           {
   16552            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16553            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16554            0 :                             if (res) return res;
   16555              :                           }
   16556              :                         }
   16557              :                     }
   16558            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16559              :                     {
   16560            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16561              :                         {
   16562            0 :                           {
   16563            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16564            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16565            0 :                             if (res) return res;
   16566              :                           }
   16567              :                         }
   16568              :                     }
   16569              :                   break;
   16570              :                 }
   16571            1 :               case LROTATE_EXPR:
   16572            1 :                 {
   16573            1 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16574            1 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16575            1 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16576              :                     {
   16577            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16578              :                         {
   16579            1 :                           {
   16580            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16581            1 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16582            1 :                             if (res) return res;
   16583              :                           }
   16584              :                         }
   16585              :                     }
   16586              :                   break;
   16587              :                 }
   16588            0 :               case RROTATE_EXPR:
   16589            0 :                 {
   16590            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16591            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16592            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16593              :                     {
   16594            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16595              :                         {
   16596            0 :                           {
   16597            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16598            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16599            0 :                             if (res) return res;
   16600              :                           }
   16601              :                         }
   16602              :                     }
   16603              :                   break;
   16604              :                 }
   16605           48 :               case LSHIFT_EXPR:
   16606           48 :                 {
   16607           48 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16608           48 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16609           48 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16610              :                     {
   16611            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16612              :                         {
   16613            0 :                           {
   16614            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16615            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16616            0 :                             if (res) return res;
   16617              :                           }
   16618              :                         }
   16619              :                     }
   16620              :                   break;
   16621              :                 }
   16622           46 :               case RSHIFT_EXPR:
   16623           46 :                 {
   16624           46 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16625           46 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16626           46 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16627              :                     {
   16628           20 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16629              :                         {
   16630           20 :                           {
   16631           20 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16632           20 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16633           20 :                             if (res) return res;
   16634              :                           }
   16635              :                         }
   16636              :                     }
   16637              :                   break;
   16638              :                 }
   16639          198 :               case MINUS_EXPR:
   16640          198 :                 {
   16641          198 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16642          198 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16643          198 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16644              :                     {
   16645            7 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16646              :                         {
   16647            0 :                           {
   16648            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16649            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16650            0 :                             if (res) return res;
   16651              :                           }
   16652              :                         }
   16653              :                     }
   16654              :                   break;
   16655              :                 }
   16656       158092 :               case POINTER_PLUS_EXPR:
   16657       158092 :                 {
   16658       158092 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16659       158092 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16660       158092 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16661              :                     {
   16662            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16663              :                         {
   16664            0 :                           {
   16665            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16666            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16667            0 :                             if (res) return res;
   16668              :                           }
   16669              :                         }
   16670              :                     }
   16671              :                   break;
   16672              :                 }
   16673              :               default:;
   16674              :               }
   16675              :           }
   16676      1797305 :         if (integer_onep (_q21))
   16677              :           {
   16678        49340 :             switch (TREE_CODE (_p2))
   16679              :               {
   16680          105 :               case TRUNC_DIV_EXPR:
   16681          105 :                 {
   16682          105 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16683          105 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16684          105 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16685              :                     {
   16686            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16687              :                         {
   16688            0 :                           {
   16689            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16690            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16691            0 :                             if (res) return res;
   16692              :                           }
   16693              :                         }
   16694              :                     }
   16695              :                   break;
   16696              :                 }
   16697            0 :               case CEIL_DIV_EXPR:
   16698            0 :                 {
   16699            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16700            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16701            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16702              :                     {
   16703            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16704              :                         {
   16705            0 :                           {
   16706            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16707            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16708            0 :                             if (res) return res;
   16709              :                           }
   16710              :                         }
   16711              :                     }
   16712              :                   break;
   16713              :                 }
   16714            0 :               case FLOOR_DIV_EXPR:
   16715            0 :                 {
   16716            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16717            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16718            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16719              :                     {
   16720            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16721              :                         {
   16722            0 :                           {
   16723            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16724            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16725            0 :                             if (res) return res;
   16726              :                           }
   16727              :                         }
   16728              :                     }
   16729              :                   break;
   16730              :                 }
   16731            0 :               case ROUND_DIV_EXPR:
   16732            0 :                 {
   16733            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16734            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16735            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16736              :                     {
   16737            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16738              :                         {
   16739            0 :                           {
   16740            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16741            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16742            0 :                             if (res) return res;
   16743              :                           }
   16744              :                         }
   16745              :                     }
   16746              :                   break;
   16747              :                 }
   16748            0 :               case EXACT_DIV_EXPR:
   16749            0 :                 {
   16750            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16751            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16752            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16753              :                     {
   16754            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16755              :                         {
   16756            0 :                           {
   16757            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16758            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16759            0 :                             if (res) return res;
   16760              :                           }
   16761              :                         }
   16762              :                     }
   16763              :                   break;
   16764              :                 }
   16765            0 :               case MULT_EXPR:
   16766            0 :                 {
   16767            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16768            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16769            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16770              :                     {
   16771            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16772              :                         {
   16773            0 :                           {
   16774            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16775            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16776            0 :                             if (res) return res;
   16777              :                           }
   16778              :                         }
   16779              :                     }
   16780            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16781              :                     {
   16782            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16783              :                         {
   16784            0 :                           {
   16785            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16786            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16787            0 :                             if (res) return res;
   16788              :                           }
   16789              :                         }
   16790              :                     }
   16791              :                   break;
   16792              :                 }
   16793              :               default:;
   16794              :               }
   16795              :           }
   16796      1797305 :         if (integer_all_onesp (_q21))
   16797              :           {
   16798        50423 :             switch (TREE_CODE (_p2))
   16799              :               {
   16800            0 :               case BIT_AND_EXPR:
   16801            0 :                 {
   16802            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16803            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16804            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16805              :                     {
   16806            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16807              :                         {
   16808            0 :                           {
   16809            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16810            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16811            0 :                             if (res) return res;
   16812              :                           }
   16813              :                         }
   16814              :                     }
   16815            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16816              :                     {
   16817            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16818              :                         {
   16819            0 :                           {
   16820            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16821            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16822            0 :                             if (res) return res;
   16823              :                           }
   16824              :                         }
   16825              :                     }
   16826              :                   break;
   16827              :                 }
   16828              :               default:;
   16829              :               }
   16830              :           }
   16831      1797305 :         switch (TREE_CODE (_q20))
   16832              :           {
   16833       113569 :           case BIT_AND_EXPR:
   16834       113569 :             {
   16835       113569 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16836       113569 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16837       113569 :               switch (TREE_CODE (_q31))
   16838              :                 {
   16839       113313 :                 case INTEGER_CST:
   16840       113313 :                   {
   16841       113313 :                     if (integer_zerop (_q21))
   16842              :                       {
   16843         1792 :                         switch (TREE_CODE (_p1))
   16844              :                           {
   16845            0 :                           case BIT_IOR_EXPR:
   16846            0 :                             {
   16847            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   16848            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   16849            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   16850              :                                 {
   16851            0 :                                   if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   16852              :                                     {
   16853            0 :                                       switch (TREE_CODE (_q71))
   16854              :                                         {
   16855            0 :                                         case INTEGER_CST:
   16856            0 :                                           {
   16857            0 :                                             if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   16858              :                                               {
   16859            0 :                                                 {
   16860            0 :                                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   16861            0 :                                                   if (wi::popcount (wi::to_wide (captures[1])) == 1
   16862              : )
   16863              :                                                     {
   16864            0 :                                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1843;
   16865            0 :                                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1843;
   16866            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1843;
   16867            0 :                                                       {
   16868            0 :                                                         tree _r;
   16869            0 :                                                         _r = captures[2];
   16870            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   16871            0 :                                                         return _r;
   16872              :                                                       }
   16873            0 : next_after_fail1843:;
   16874              :                                                     }
   16875              :                                                 }
   16876              :                                               }
   16877              :                                             break;
   16878              :                                           }
   16879              :                                         default:;
   16880              :                                         }
   16881              :                                     }
   16882              :                                 }
   16883              :                               break;
   16884              :                             }
   16885              :                           default:;
   16886              :                           }
   16887              :                       }
   16888              :                     break;
   16889              :                   }
   16890              :                 default:;
   16891              :                 }
   16892              :               break;
   16893              :             }
   16894        68617 :           CASE_CONVERT:
   16895        68617 :             {
   16896        68617 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16897        68617 :               switch (TREE_CODE (_q21))
   16898              :                 {
   16899        26535 :                 case INTEGER_CST:
   16900        26535 :                   {
   16901        26535 :                     switch (TREE_CODE (_p1))
   16902              :                       {
   16903        12639 :                       CASE_CONVERT:
   16904        12639 :                         {
   16905        12639 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16906        12639 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16907              :                             {
   16908           57 :                               switch (TREE_CODE (_p2))
   16909              :                                 {
   16910           56 :                                 case INTEGER_CST:
   16911           56 :                                   {
   16912           56 :                                     {
   16913           56 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16914           56 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16915           56 :                                       if (res) return res;
   16916              :                                     }
   16917           56 :                                     break;
   16918              :                                   }
   16919              :                                 default:;
   16920              :                                 }
   16921              :                             }
   16922              :                           break;
   16923              :                         }
   16924        26535 :                       default:;
   16925              :                       }
   16926        26535 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16927              :                       {
   16928          118 :                         switch (TREE_CODE (_p2))
   16929              :                           {
   16930          112 :                           case INTEGER_CST:
   16931          112 :                             {
   16932          112 :                               {
   16933          112 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16934          112 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16935          112 :                                 if (res) return res;
   16936              :                               }
   16937          112 :                               break;
   16938              :                             }
   16939              :                           default:;
   16940              :                           }
   16941              :                       }
   16942              :                     break;
   16943              :                   }
   16944              :                 default:;
   16945              :                 }
   16946              :               break;
   16947              :             }
   16948      1797305 :           default:;
   16949              :           }
   16950      1797305 :         switch (TREE_CODE (_q21))
   16951              :           {
   16952       948731 :           case INTEGER_CST:
   16953       948731 :             {
   16954       948731 :               switch (TREE_CODE (_p1))
   16955              :                 {
   16956       215424 :                 CASE_CONVERT:
   16957       215424 :                   {
   16958       215424 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16959       215424 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16960              :                       {
   16961          324 :                         switch (TREE_CODE (_p2))
   16962              :                           {
   16963            7 :                           case INTEGER_CST:
   16964            7 :                             {
   16965            7 :                               {
   16966            7 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16967            7 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16968            7 :                                 if (res) return res;
   16969              :                               }
   16970            0 :                               break;
   16971              :                             }
   16972              :                           default:;
   16973              :                           }
   16974              :                       }
   16975              :                     break;
   16976              :                   }
   16977       948724 :                 default:;
   16978              :                 }
   16979       948724 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16980              :                 {
   16981           61 :                   switch (TREE_CODE (_p2))
   16982              :                     {
   16983            5 :                     case INTEGER_CST:
   16984            5 :                       {
   16985            5 :                         {
   16986            5 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16987            5 :                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16988            5 :                           if (res) return res;
   16989              :                         }
   16990            0 :                         break;
   16991              :                       }
   16992              :                     default:;
   16993              :                     }
   16994              :                 }
   16995              :               break;
   16996              :             }
   16997      1797293 :           default:;
   16998              :           }
   16999      1797293 :       if (tree_expr_nonnegative_p (_q21))
   17000              :         {
   17001      1635543 :           if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17002              :             {
   17003           83 :               switch (TREE_CODE (_p2))
   17004              :                 {
   17005            0 :                 case ABS_EXPR:
   17006            0 :                   {
   17007            0 :                     tree _q60 = TREE_OPERAND (_p2, 0);
   17008            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17009              :                       {
   17010            0 :                         {
   17011            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17012            0 :                           tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17013            0 :                           if (res) return res;
   17014              :                         }
   17015              :                       }
   17016              :                     break;
   17017              :                   }
   17018              :                 default:;
   17019              :                 }
   17020              :             }
   17021              :         }
   17022      1797293 :         if (tree_expr_nonnegative_p (_q20))
   17023              :           {
   17024      1071988 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   17025              :               {
   17026        24221 :                 switch (TREE_CODE (_p2))
   17027              :                   {
   17028            0 :                   case ABS_EXPR:
   17029            0 :                     {
   17030            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17031            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   17032              :                         {
   17033            0 :                           {
   17034            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   17035            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17036            0 :                             if (res) return res;
   17037              :                           }
   17038              :                         }
   17039              :                       break;
   17040              :                     }
   17041              :                   default:;
   17042              :                   }
   17043              :               }
   17044      1071988 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17045              :               {
   17046           25 :                 switch (TREE_CODE (_p2))
   17047              :                   {
   17048            0 :                   case ABS_EXPR:
   17049            0 :                     {
   17050            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17051            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   17052              :                         {
   17053            0 :                           {
   17054            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   17055            0 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures);
   17056            0 :                             if (res) return res;
   17057              :                           }
   17058              :                         }
   17059              :                       break;
   17060              :                     }
   17061              :                   default:;
   17062              :                   }
   17063              :               }
   17064              :           }
   17065      1797293 :         if (tree_expr_nonnegative_p (_q21))
   17066              :           {
   17067      1635543 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   17068              :               {
   17069        24593 :                 switch (TREE_CODE (_p2))
   17070              :                   {
   17071            0 :                   case ABS_EXPR:
   17072            0 :                     {
   17073            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17074            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17075              :                         {
   17076            0 :                           {
   17077            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17078            0 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures);
   17079            0 :                             if (res) return res;
   17080              :                           }
   17081              :                         }
   17082              :                       break;
   17083              :                     }
   17084              :                   default:;
   17085              :                   }
   17086              :               }
   17087              :           }
   17088              :         break;
   17089              :       }
   17090      2955918 :     case NE_EXPR:
   17091      2955918 :       {
   17092      2955918 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17093      2955918 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17094      2955918 :         if (tree_zero_one_valued_p (_q20))
   17095              :           {
   17096       164596 :             if (integer_zerop (_q21))
   17097              :               {
   17098       162829 :                 switch (TREE_CODE (_p1))
   17099              :                   {
   17100            5 :                   case BIT_XOR_EXPR:
   17101            5 :                     {
   17102            5 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17103            5 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17104            5 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17105              :                         {
   17106            1 :                           {
   17107            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17108            1 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   17109            1 :                             if (res) return res;
   17110              :                           }
   17111              :                         }
   17112            4 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17113              :                         {
   17114            4 :                           {
   17115            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17116            4 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   17117            4 :                             if (res) return res;
   17118              :                           }
   17119              :                         }
   17120              :                       break;
   17121              :                     }
   17122            1 :                   case BIT_IOR_EXPR:
   17123            1 :                     {
   17124            1 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17125            1 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17126            1 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17127              :                         {
   17128            1 :                           {
   17129            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17130            1 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17131            1 :                             if (res) return res;
   17132              :                           }
   17133              :                         }
   17134            0 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17135              :                         {
   17136            0 :                           {
   17137            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17138            0 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17139            0 :                             if (res) return res;
   17140              :                           }
   17141              :                         }
   17142              :                       break;
   17143              :                     }
   17144          110 :                   case PLUS_EXPR:
   17145          110 :                     {
   17146          110 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17147          110 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17148          110 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17149              :                         {
   17150            8 :                           {
   17151            8 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17152            8 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17153            8 :                             if (res) return res;
   17154              :                           }
   17155              :                         }
   17156          109 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17157              :                         {
   17158            1 :                           {
   17159            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17160            1 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17161            1 :                             if (res) return res;
   17162              :                           }
   17163              :                         }
   17164              :                       break;
   17165              :                     }
   17166              :                   default:;
   17167              :                   }
   17168              :               }
   17169              :           }
   17170      2955910 :         if (integer_zerop (_q21))
   17171              :           {
   17172      1955448 :             switch (TREE_CODE (_p1))
   17173              :               {
   17174           89 :               case TRUNC_DIV_EXPR:
   17175           89 :                 {
   17176           89 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17177           89 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17178           89 :                   if (integer_zerop (_p2))
   17179              :                     {
   17180           51 :                       {
   17181           51 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17182           51 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   17183           51 :                         if (res) return res;
   17184              :                       }
   17185              :                     }
   17186              :                   break;
   17187              :                 }
   17188            0 :               case CEIL_DIV_EXPR:
   17189            0 :                 {
   17190            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17191            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17192            0 :                   if (integer_zerop (_p2))
   17193              :                     {
   17194            0 :                       {
   17195            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17196            0 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   17197            0 :                         if (res) return res;
   17198              :                       }
   17199              :                     }
   17200              :                   break;
   17201              :                 }
   17202            0 :               case FLOOR_DIV_EXPR:
   17203            0 :                 {
   17204            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17205            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17206            0 :                   if (integer_zerop (_p2))
   17207              :                     {
   17208            0 :                       {
   17209            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17210            0 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   17211            0 :                         if (res) return res;
   17212              :                       }
   17213              :                     }
   17214              :                   break;
   17215              :                 }
   17216            0 :               case ROUND_DIV_EXPR:
   17217            0 :                 {
   17218            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17219            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17220            0 :                   if (integer_zerop (_p2))
   17221              :                     {
   17222            0 :                       {
   17223            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17224            0 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   17225            0 :                         if (res) return res;
   17226              :                       }
   17227              :                     }
   17228              :                   break;
   17229              :                 }
   17230           31 :               case EXACT_DIV_EXPR:
   17231           31 :                 {
   17232           31 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17233           31 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17234           31 :                   if (integer_zerop (_p2))
   17235              :                     {
   17236            0 :                       {
   17237            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17238            0 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   17239            0 :                         if (res) return res;
   17240              :                       }
   17241              :                     }
   17242              :                   break;
   17243              :                 }
   17244          606 :               case MULT_EXPR:
   17245          606 :                 {
   17246          606 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17247          606 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17248          606 :                   if (integer_zerop (_p2))
   17249              :                     {
   17250           40 :                       {
   17251           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17252           40 :                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17253           40 :                         if (res) return res;
   17254              :                       }
   17255           40 :                       {
   17256           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17257           40 :                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17258           40 :                         if (res) return res;
   17259              :                       }
   17260              :                     }
   17261              :                   break;
   17262              :                 }
   17263          288 :               case BIT_AND_EXPR:
   17264          288 :                 {
   17265          288 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17266          288 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17267          288 :                   if (integer_zerop (_p2))
   17268              :                     {
   17269           62 :                       {
   17270           62 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17271           62 :                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17272           62 :                         if (res) return res;
   17273              :                       }
   17274           62 :                       {
   17275           62 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17276           62 :                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17277           62 :                         if (res) return res;
   17278              :                       }
   17279              :                     }
   17280              :                   break;
   17281              :                 }
   17282              :               default:;
   17283              :               }
   17284              :           }
   17285      2955908 :         if (uniform_integer_cst_p (_q21))
   17286              :           {
   17287      2271807 :             switch (TREE_CODE (_p1))
   17288              :               {
   17289       131284 :               case PLUS_EXPR:
   17290       131284 :                 {
   17291       131284 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17292       131284 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17293       131284 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17294              :                     {
   17295         2629 :                       if (uniform_integer_cst_p (_q51))
   17296              :                         {
   17297         2629 :                           if (uniform_integer_cst_p (_p2))
   17298              :                             {
   17299         2625 :                               {
   17300         2625 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   17301         2625 :                                 {
   17302         2625 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   17303         2625 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   17304         2625 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   17305         2625 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   17306              : )
   17307              :                                       {
   17308           10 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1844;
   17309           10 :                                         if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1844;
   17310           10 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1844;
   17311           10 :                                         {
   17312           10 :                                           tree _r;
   17313           10 :                                           _r = captures[2];
   17314           10 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   17315            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17316           10 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   17317           10 :                                           return _r;
   17318              :                                         }
   17319         2615 : next_after_fail1844:;
   17320              :                                       }
   17321              :                                 }
   17322              :                               }
   17323              :                             }
   17324              :                         }
   17325              :                     }
   17326              :                   break;
   17327              :                 }
   17328              :               default:;
   17329              :               }
   17330              :           }
   17331      2955898 :         switch (TREE_CODE (_q20))
   17332              :           {
   17333       283811 :           case BIT_AND_EXPR:
   17334       283811 :             {
   17335       283811 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17336       283811 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17337       283811 :               switch (TREE_CODE (_q31))
   17338              :                 {
   17339       213278 :                 case INTEGER_CST:
   17340       213278 :                   {
   17341       213278 :                     if (integer_zerop (_q21))
   17342              :                       {
   17343       213265 :                         switch (TREE_CODE (_p1))
   17344              :                           {
   17345           54 :                           case BIT_AND_EXPR:
   17346           54 :                             {
   17347           54 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17348           54 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17349           54 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17350              :                                 {
   17351           18 :                                   switch (TREE_CODE (_q71))
   17352              :                                     {
   17353           18 :                                     case INTEGER_CST:
   17354           18 :                                       {
   17355           18 :                                         if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17356              :                                           {
   17357            0 :                                             {
   17358            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _p1, _q71 };
   17359            0 :                                               if (wi::to_wide (captures[3]) == ~wi::to_wide (captures[1])
   17360              : )
   17361              :                                                 {
   17362            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1845;
   17363            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1845;
   17364            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1845;
   17365            0 :                                                   {
   17366            0 :                                                     tree _r;
   17367            0 :                                                     _r = captures[2];
   17368            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   17369            0 :                                                     return _r;
   17370              :                                                   }
   17371            0 : next_after_fail1845:;
   17372              :                                                 }
   17373              :                                             }
   17374              :                                           }
   17375           18 :                                         switch (TREE_CODE (_p2))
   17376              :                                           {
   17377           18 :                                           case BIT_IOR_EXPR:
   17378           18 :                                             {
   17379           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17380           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17381           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17382              :                                                 {
   17383           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17384              :                                                     {
   17385           18 :                                                       {
   17386           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17387           18 :                                                         tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17388           18 :                                                         if (res) return res;
   17389              :                                                       }
   17390              :                                                     }
   17391              :                                                 }
   17392              :                                               break;
   17393              :                                             }
   17394              :                                           default:;
   17395              :                                           }
   17396              :                                         break;
   17397              :                                       }
   17398              :                                     default:;
   17399              :                                     }
   17400              :                                 }
   17401              :                               break;
   17402              :                             }
   17403          139 :                           case PLUS_EXPR:
   17404          139 :                             {
   17405          139 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17406          139 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17407          139 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17408              :                                 {
   17409           18 :                                   switch (TREE_CODE (_q71))
   17410              :                                     {
   17411           18 :                                     case INTEGER_CST:
   17412           18 :                                       {
   17413           18 :                                         switch (TREE_CODE (_p2))
   17414              :                                           {
   17415           18 :                                           case BIT_IOR_EXPR:
   17416           18 :                                             {
   17417           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17418           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17419           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17420              :                                                 {
   17421           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17422              :                                                     {
   17423           18 :                                                       {
   17424           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17425           18 :                                                         tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17426           18 :                                                         if (res) return res;
   17427              :                                                       }
   17428              :                                                     }
   17429              :                                                 }
   17430              :                                               break;
   17431              :                                             }
   17432              :                                           default:;
   17433              :                                           }
   17434              :                                         break;
   17435              :                                       }
   17436              :                                     default:;
   17437              :                                     }
   17438              :                                 }
   17439              :                               break;
   17440              :                             }
   17441              :                           default:;
   17442              :                           }
   17443              :                       }
   17444              :                     break;
   17445              :                   }
   17446              :                 default:;
   17447              :                 }
   17448              :               break;
   17449              :             }
   17450       365301 :           CASE_CONVERT:
   17451       365301 :             {
   17452       365301 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17453       365301 :               switch (TREE_CODE (_q21))
   17454              :                 {
   17455       316797 :                 case INTEGER_CST:
   17456       316797 :                   {
   17457       316797 :                     switch (TREE_CODE (_p1))
   17458              :                       {
   17459       103424 :                       CASE_CONVERT:
   17460       103424 :                         {
   17461       103424 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   17462       103424 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17463              :                             {
   17464           57 :                               switch (TREE_CODE (_p2))
   17465              :                                 {
   17466            9 :                                 case INTEGER_CST:
   17467            9 :                                   {
   17468            9 :                                     {
   17469            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17470            9 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17471            9 :                                       if (res) return res;
   17472              :                                     }
   17473            9 :                                     break;
   17474              :                                   }
   17475              :                                 default:;
   17476              :                                 }
   17477              :                             }
   17478              :                           break;
   17479              :                         }
   17480       316797 :                       default:;
   17481              :                       }
   17482       316797 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   17483              :                       {
   17484           48 :                         switch (TREE_CODE (_p2))
   17485              :                           {
   17486            0 :                           case INTEGER_CST:
   17487            0 :                             {
   17488            0 :                               {
   17489            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17490            0 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17491            0 :                                 if (res) return res;
   17492              :                               }
   17493            0 :                               break;
   17494              :                             }
   17495              :                           default:;
   17496              :                           }
   17497              :                       }
   17498              :                     break;
   17499              :                   }
   17500              :                 default:;
   17501              :                 }
   17502              :               break;
   17503              :             }
   17504      2955874 :           default:;
   17505              :           }
   17506      2955874 :         switch (TREE_CODE (_q21))
   17507              :           {
   17508      2271773 :           case INTEGER_CST:
   17509      2271773 :             {
   17510      2271773 :               switch (TREE_CODE (_p1))
   17511              :                 {
   17512       385058 :                 CASE_CONVERT:
   17513       385058 :                   {
   17514       385058 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17515       385058 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17516              :                       {
   17517        77134 :                         switch (TREE_CODE (_p2))
   17518              :                           {
   17519        75897 :                           case INTEGER_CST:
   17520        75897 :                             {
   17521        75897 :                               {
   17522        75897 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17523        75897 :                                 tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17524        75897 :                                 if (res) return res;
   17525              :                               }
   17526        75891 :                               break;
   17527              :                             }
   17528              :                           default:;
   17529              :                           }
   17530              :                       }
   17531              :                     break;
   17532              :                   }
   17533      2271767 :                 default:;
   17534              :                 }
   17535      2271767 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17536              :                 {
   17537        55064 :                   switch (TREE_CODE (_p2))
   17538              :                     {
   17539        52481 :                     case INTEGER_CST:
   17540        52481 :                       {
   17541        52481 :                         {
   17542        52481 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17543        52481 :                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17544        52481 :                           if (res) return res;
   17545              :                         }
   17546        52481 :                         break;
   17547              :                       }
   17548              :                     default:;
   17549              :                     }
   17550              :                 }
   17551              :               break;
   17552              :             }
   17553      2955868 :           default:;
   17554              :           }
   17555      2955868 :         switch (TREE_CODE (_p1))
   17556              :           {
   17557        12655 :           case MINUS_EXPR:
   17558        12655 :             {
   17559        12655 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17560        12655 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17561        12655 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17562              :                 {
   17563            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17564              :                     {
   17565            0 :                       if (integer_zerop (_p2))
   17566              :                         {
   17567            0 :                           {
   17568            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17569            0 :                             tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures);
   17570            0 :                             if (res) return res;
   17571              :                           }
   17572              :                         }
   17573              :                     }
   17574              :                 }
   17575        12655 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17576              :                 {
   17577           19 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17578              :                     {
   17579           19 :                       if (integer_zerop (_p2))
   17580              :                         {
   17581            0 :                           {
   17582            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17583            0 :                             tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures);
   17584            0 :                             if (res) return res;
   17585              :                           }
   17586              :                         }
   17587              :                     }
   17588              :                 }
   17589              :               break;
   17590              :             }
   17591           14 :           case BIT_XOR_EXPR:
   17592           14 :             {
   17593           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17594           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17595           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17596              :                 {
   17597            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17598              :                     {
   17599            7 :                       if (integer_zerop (_p2))
   17600              :                         {
   17601            0 :                           {
   17602            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17603            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures);
   17604            0 :                             if (res) return res;
   17605              :                           }
   17606              :                         }
   17607              :                     }
   17608              :                 }
   17609           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17610              :                 {
   17611            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17612              :                     {
   17613            0 :                       if (integer_zerop (_p2))
   17614              :                         {
   17615            0 :                           {
   17616            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17617            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures);
   17618            0 :                             if (res) return res;
   17619              :                           }
   17620              :                         }
   17621              :                     }
   17622              :                 }
   17623              :               break;
   17624              :             }
   17625          275 :           case BIT_AND_EXPR:
   17626          275 :             {
   17627          275 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17628          275 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17629          275 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17630              :                 {
   17631            2 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17632              :                     {
   17633            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17634              :                         {
   17635            0 :                           {
   17636            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17637            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17638            0 :                             if (res) return res;
   17639              :                           }
   17640              :                         }
   17641            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17642              :                         {
   17643            0 :                           {
   17644            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17645            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17646            0 :                             if (res) return res;
   17647              :                           }
   17648              :                         }
   17649              :                     }
   17650              :                 }
   17651          275 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17652              :                 {
   17653            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17654              :                     {
   17655            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17656              :                         {
   17657            0 :                           {
   17658            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17659            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17660            0 :                             if (res) return res;
   17661              :                           }
   17662              :                         }
   17663            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17664              :                         {
   17665            0 :                           {
   17666            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17667            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17668            0 :                             if (res) return res;
   17669              :                           }
   17670              :                         }
   17671              :                     }
   17672              :                 }
   17673              :               break;
   17674              :             }
   17675         9612 :           case BIT_IOR_EXPR:
   17676         9612 :             {
   17677         9612 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17678         9612 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17679         9612 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17680              :                 {
   17681            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17682              :                     {
   17683            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17684              :                         {
   17685            0 :                           {
   17686            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17687            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17688            0 :                             if (res) return res;
   17689              :                           }
   17690              :                         }
   17691            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17692              :                         {
   17693            0 :                           {
   17694            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17695            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17696            0 :                             if (res) return res;
   17697              :                           }
   17698              :                         }
   17699              :                     }
   17700              :                 }
   17701         9612 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17702              :                 {
   17703            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17704              :                     {
   17705            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17706              :                         {
   17707            0 :                           {
   17708            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17709            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17710            0 :                             if (res) return res;
   17711              :                           }
   17712              :                         }
   17713            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17714              :                         {
   17715            0 :                           {
   17716            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17717            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17718            0 :                             if (res) return res;
   17719              :                           }
   17720              :                         }
   17721              :                     }
   17722              :                 }
   17723              :               break;
   17724              :             }
   17725            0 :           case MIN_EXPR:
   17726            0 :             {
   17727            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17728            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17729            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17730              :                 {
   17731            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17732              :                     {
   17733            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17734              :                         {
   17735            0 :                           {
   17736            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17737            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17738            0 :                             if (res) return res;
   17739              :                           }
   17740              :                         }
   17741            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17742              :                         {
   17743            0 :                           {
   17744            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17745            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17746            0 :                             if (res) return res;
   17747              :                           }
   17748              :                         }
   17749              :                     }
   17750            0 :                   switch (TREE_CODE (_p2))
   17751              :                     {
   17752            0 :                     case MIN_EXPR:
   17753            0 :                       {
   17754            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17755            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17756            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17757              :                           {
   17758            0 :                             {
   17759            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17760            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17761            0 :                               if (res) return res;
   17762              :                             }
   17763              :                           }
   17764            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17765              :                           {
   17766            0 :                             {
   17767            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17768            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17769            0 :                               if (res) return res;
   17770              :                             }
   17771              :                           }
   17772              :                         break;
   17773              :                       }
   17774              :                     default:;
   17775              :                     }
   17776              :                 }
   17777            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17778              :                 {
   17779            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17780              :                     {
   17781            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17782              :                         {
   17783            0 :                           {
   17784            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17785            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17786            0 :                             if (res) return res;
   17787              :                           }
   17788              :                         }
   17789            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17790              :                         {
   17791            0 :                           {
   17792            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17793            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17794            0 :                             if (res) return res;
   17795              :                           }
   17796              :                         }
   17797              :                     }
   17798            0 :                   switch (TREE_CODE (_p2))
   17799              :                     {
   17800            0 :                     case MIN_EXPR:
   17801            0 :                       {
   17802            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17803            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17804            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17805              :                           {
   17806            0 :                             {
   17807            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17808            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17809            0 :                               if (res) return res;
   17810              :                             }
   17811              :                           }
   17812            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17813              :                           {
   17814            0 :                             {
   17815            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17816            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17817            0 :                               if (res) return res;
   17818              :                             }
   17819              :                           }
   17820              :                         break;
   17821              :                       }
   17822              :                     default:;
   17823              :                     }
   17824              :                 }
   17825            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17826              :                 {
   17827            0 :                   switch (TREE_CODE (_p2))
   17828              :                     {
   17829            0 :                     case MIN_EXPR:
   17830            0 :                       {
   17831            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17832            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17833            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17834              :                           {
   17835            0 :                             {
   17836            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17837            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17838            0 :                               if (res) return res;
   17839              :                             }
   17840              :                           }
   17841            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17842              :                           {
   17843            0 :                             {
   17844            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17845            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17846            0 :                               if (res) return res;
   17847              :                             }
   17848              :                           }
   17849              :                         break;
   17850              :                       }
   17851              :                     default:;
   17852              :                     }
   17853              :                 }
   17854            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17855              :                 {
   17856            0 :                   switch (TREE_CODE (_p2))
   17857              :                     {
   17858            0 :                     case MIN_EXPR:
   17859            0 :                       {
   17860            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17861            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17862            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17863              :                           {
   17864            0 :                             {
   17865            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17866            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17867            0 :                               if (res) return res;
   17868              :                             }
   17869              :                           }
   17870            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17871              :                           {
   17872            0 :                             {
   17873            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17874            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17875            0 :                               if (res) return res;
   17876              :                             }
   17877              :                           }
   17878              :                         break;
   17879              :                       }
   17880              :                     default:;
   17881              :                     }
   17882              :                 }
   17883              :               break;
   17884              :             }
   17885            0 :           case MAX_EXPR:
   17886            0 :             {
   17887            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17888            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17889            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17890              :                 {
   17891            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17892              :                     {
   17893            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17894              :                         {
   17895            0 :                           {
   17896            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17897            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17898            0 :                             if (res) return res;
   17899              :                           }
   17900              :                         }
   17901            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17902              :                         {
   17903            0 :                           {
   17904            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17905            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17906            0 :                             if (res) return res;
   17907              :                           }
   17908              :                         }
   17909              :                     }
   17910            0 :                   switch (TREE_CODE (_p2))
   17911              :                     {
   17912            0 :                     case MAX_EXPR:
   17913            0 :                       {
   17914            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17915            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17916            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17917              :                           {
   17918            0 :                             {
   17919            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17920            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17921            0 :                               if (res) return res;
   17922              :                             }
   17923              :                           }
   17924            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17925              :                           {
   17926            0 :                             {
   17927            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17928            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17929            0 :                               if (res) return res;
   17930              :                             }
   17931              :                           }
   17932              :                         break;
   17933              :                       }
   17934              :                     default:;
   17935              :                     }
   17936              :                 }
   17937            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17938              :                 {
   17939            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17940              :                     {
   17941            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17942              :                         {
   17943            0 :                           {
   17944            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17945            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17946            0 :                             if (res) return res;
   17947              :                           }
   17948              :                         }
   17949            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17950              :                         {
   17951            0 :                           {
   17952            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17953            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17954            0 :                             if (res) return res;
   17955              :                           }
   17956              :                         }
   17957              :                     }
   17958            0 :                   switch (TREE_CODE (_p2))
   17959              :                     {
   17960            0 :                     case MAX_EXPR:
   17961            0 :                       {
   17962            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17963            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17964            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17965              :                           {
   17966            0 :                             {
   17967            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17968            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17969            0 :                               if (res) return res;
   17970              :                             }
   17971              :                           }
   17972            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17973              :                           {
   17974            0 :                             {
   17975            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17976            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17977            0 :                               if (res) return res;
   17978              :                             }
   17979              :                           }
   17980              :                         break;
   17981              :                       }
   17982              :                     default:;
   17983              :                     }
   17984              :                 }
   17985            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17986              :                 {
   17987            0 :                   switch (TREE_CODE (_p2))
   17988              :                     {
   17989            0 :                     case MAX_EXPR:
   17990            0 :                       {
   17991            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17992            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17993            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17994              :                           {
   17995            0 :                             {
   17996            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17997            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17998            0 :                               if (res) return res;
   17999              :                             }
   18000              :                           }
   18001            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   18002              :                           {
   18003            0 :                             {
   18004            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   18005            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18006            0 :                               if (res) return res;
   18007              :                             }
   18008              :                           }
   18009              :                         break;
   18010              :                       }
   18011              :                     default:;
   18012              :                     }
   18013              :                 }
   18014            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18015              :                 {
   18016            0 :                   switch (TREE_CODE (_p2))
   18017              :                     {
   18018            0 :                     case MAX_EXPR:
   18019            0 :                       {
   18020            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18021            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18022            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   18023              :                           {
   18024            0 :                             {
   18025            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   18026            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18027            0 :                               if (res) return res;
   18028              :                             }
   18029              :                           }
   18030            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   18031              :                           {
   18032            0 :                             {
   18033            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   18034            0 :                               tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18035            0 :                               if (res) return res;
   18036              :                             }
   18037              :                           }
   18038              :                         break;
   18039              :                       }
   18040              :                     default:;
   18041              :                     }
   18042              :                 }
   18043              :               break;
   18044              :             }
   18045        25626 :           case MULT_EXPR:
   18046        25626 :             {
   18047        25626 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18048        25626 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18049        25626 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18050              :                 {
   18051        20929 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18052              :                     {
   18053            0 :                       switch (TREE_CODE (_p2))
   18054              :                         {
   18055            0 :                         case MULT_EXPR:
   18056            0 :                           {
   18057            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18058            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18059            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18060              :                               {
   18061            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   18062              :                                   {
   18063            0 :                                     {
   18064            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18065            0 :                                       const enum tree_code op = MULT_EXPR;
   18066            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   18067              : )
   18068              :                                         {
   18069            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1846;
   18070            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1846;
   18071            0 :                                           {
   18072            0 :                                             tree _r;
   18073            0 :                                             _r = captures[2];
   18074            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   18075            0 :                                             return _r;
   18076              :                                           }
   18077            0 : next_after_fail1846:;
   18078              :                                         }
   18079              :                                     }
   18080              :                                   }
   18081              :                               }
   18082              :                             break;
   18083              :                           }
   18084              :                         default:;
   18085              :                         }
   18086              :                     }
   18087              :                 }
   18088        25626 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18089              :                 {
   18090            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18091              :                     {
   18092            0 :                       switch (TREE_CODE (_p2))
   18093              :                         {
   18094            0 :                         case MULT_EXPR:
   18095            0 :                           {
   18096            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18097            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18098            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18099              :                               {
   18100            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   18101              :                                   {
   18102            0 :                                     {
   18103            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18104            0 :                                       const enum tree_code op = MULT_EXPR;
   18105            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   18106              : )
   18107              :                                         {
   18108            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1847;
   18109            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1847;
   18110            0 :                                           {
   18111            0 :                                             tree _r;
   18112            0 :                                             _r = captures[2];
   18113            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   18114            0 :                                             return _r;
   18115              :                                           }
   18116            0 : next_after_fail1847:;
   18117              :                                         }
   18118              :                                     }
   18119              :                                   }
   18120              :                               }
   18121              :                             break;
   18122              :                           }
   18123              :                         default:;
   18124              :                         }
   18125              :                     }
   18126              :                 }
   18127              :               break;
   18128              :             }
   18129       131334 :           case PLUS_EXPR:
   18130       131334 :             {
   18131       131334 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18132       131334 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18133       131334 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18134              :                 {
   18135         2627 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18136              :                     {
   18137            0 :                       switch (TREE_CODE (_p2))
   18138              :                         {
   18139            0 :                         case PLUS_EXPR:
   18140            0 :                           {
   18141            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18142            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18143            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18144              :                               {
   18145            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   18146              :                                   {
   18147            0 :                                     {
   18148            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18149            0 :                                       const enum tree_code op = PLUS_EXPR;
   18150            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   18151              : )
   18152              :                                         {
   18153            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1848;
   18154            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1848;
   18155            0 :                                           {
   18156            0 :                                             tree _r;
   18157            0 :                                             _r = captures[2];
   18158            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   18159            0 :                                             return _r;
   18160              :                                           }
   18161            0 : next_after_fail1848:;
   18162              :                                         }
   18163              :                                     }
   18164              :                                   }
   18165              :                               }
   18166              :                             break;
   18167              :                           }
   18168            0 :                         case MULT_EXPR:
   18169            0 :                           {
   18170            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18171            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18172            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18173              :                               {
   18174            0 :                                 if (uniform_integer_cst_p (_q81))
   18175              :                                   {
   18176            0 :                                     {
   18177            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   18178            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18179              : )
   18180              :                                         {
   18181            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1849;
   18182            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1849;
   18183            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1849;
   18184            0 :                                           {
   18185            0 :                                             tree _r;
   18186            0 :                                             _r = captures[2];
   18187            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   18188            0 :                                             return _r;
   18189              :                                           }
   18190            0 : next_after_fail1849:;
   18191              :                                         }
   18192              :                                     }
   18193              :                                   }
   18194              :                               }
   18195            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18196              :                               {
   18197            0 :                                 if (uniform_integer_cst_p (_q81))
   18198              :                                   {
   18199            0 :                                     {
   18200            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   18201            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18202              : )
   18203              :                                         {
   18204            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1850;
   18205            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1850;
   18206            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1850;
   18207            0 :                                           {
   18208            0 :                                             tree _r;
   18209            0 :                                             _r = captures[2];
   18210            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   18211            0 :                                             return _r;
   18212              :                                           }
   18213            0 : next_after_fail1850:;
   18214              :                                         }
   18215              :                                     }
   18216              :                                   }
   18217              :                               }
   18218              :                             break;
   18219              :                           }
   18220              :                         default:;
   18221              :                         }
   18222              :                     }
   18223              :                 }
   18224       131334 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18225              :                 {
   18226            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18227              :                     {
   18228            0 :                       switch (TREE_CODE (_p2))
   18229              :                         {
   18230            0 :                         case PLUS_EXPR:
   18231            0 :                           {
   18232            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18233            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18234            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18235              :                               {
   18236            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   18237              :                                   {
   18238            0 :                                     {
   18239            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18240            0 :                                       const enum tree_code op = PLUS_EXPR;
   18241            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   18242              : )
   18243              :                                         {
   18244            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1851;
   18245            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1851;
   18246            0 :                                           {
   18247            0 :                                             tree _r;
   18248            0 :                                             _r = captures[2];
   18249            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   18250            0 :                                             return _r;
   18251              :                                           }
   18252            0 : next_after_fail1851:;
   18253              :                                         }
   18254              :                                     }
   18255              :                                   }
   18256              :                               }
   18257              :                             break;
   18258              :                           }
   18259            0 :                         case MULT_EXPR:
   18260            0 :                           {
   18261            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18262            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18263            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18264              :                               {
   18265            0 :                                 if (uniform_integer_cst_p (_q81))
   18266              :                                   {
   18267            0 :                                     {
   18268            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   18269            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18270              : )
   18271              :                                         {
   18272            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1852;
   18273            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1852;
   18274            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1852;
   18275            0 :                                           {
   18276            0 :                                             tree _r;
   18277            0 :                                             _r = captures[2];
   18278            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   18279            0 :                                             return _r;
   18280              :                                           }
   18281            0 : next_after_fail1852:;
   18282              :                                         }
   18283              :                                     }
   18284              :                                   }
   18285              :                               }
   18286            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18287              :                               {
   18288            0 :                                 if (uniform_integer_cst_p (_q81))
   18289              :                                   {
   18290            0 :                                     {
   18291            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   18292            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18293              : )
   18294              :                                         {
   18295            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1853;
   18296            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1853;
   18297            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1853;
   18298            0 :                                           {
   18299            0 :                                             tree _r;
   18300            0 :                                             _r = captures[2];
   18301            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   18302            0 :                                             return _r;
   18303              :                                           }
   18304            0 : next_after_fail1853:;
   18305              :                                         }
   18306              :                                     }
   18307              :                                   }
   18308              :                               }
   18309              :                             break;
   18310              :                           }
   18311              :                         default:;
   18312              :                         }
   18313              :                     }
   18314              :                 }
   18315              :               break;
   18316              :             }
   18317      2955868 :           default:;
   18318              :           }
   18319      2955868 :         switch (TREE_CODE (_q21))
   18320              :           {
   18321      2271767 :           case INTEGER_CST:
   18322      2271767 :             {
   18323      2271767 :               switch (TREE_CODE (_p1))
   18324              :                 {
   18325          228 :                 case NEGATE_EXPR:
   18326          228 :                   {
   18327          228 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18328          228 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18329              :                       {
   18330           42 :                         switch (TREE_CODE (_p2))
   18331              :                           {
   18332           14 :                           case INTEGER_CST:
   18333           14 :                             {
   18334           14 :                               {
   18335           14 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18336           14 :                                 if (!TYPE_SATURATING (type)
   18337           28 :  && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18338              : )
   18339              :                                   {
   18340           12 :                                     if (TYPE_OVERFLOW_WRAPS (type)
   18341            4 :  || !wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18342              : )
   18343              :                                       {
   18344           11 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1854;
   18345           11 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1854;
   18346           11 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1854;
   18347           11 :                                         {
   18348           11 :                                           tree _r;
   18349           11 :                                           _r = captures[2];
   18350           11 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18351            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18352           11 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   18353           11 :                                           return _r;
   18354              :                                         }
   18355            2 : next_after_fail1854:;
   18356              :                                       }
   18357              :                                     else
   18358              :                                       {
   18359            1 :                                         {
   18360            1 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18361            1 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1855;
   18362            1 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1855;
   18363            1 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1855;
   18364            1 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1855;
   18365            1 :                                             {
   18366            1 :                                               tree res_op0;
   18367            1 :                                               {
   18368            1 :                                                 tree _o1[1], _r1;
   18369            1 :                                                 {
   18370            1 :                                                   tree _o2[1], _r2;
   18371            1 :                                                   _o2[0] = captures[0];
   18372            1 :                                                   if (TREE_TYPE (_o2[0]) != utype)
   18373              :                                                     {
   18374            1 :                                                       _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
   18375              :                                                     }
   18376              :                                                   else
   18377              :                                                     _r2 = _o2[0];
   18378            1 :                                                   _o1[0] = _r2;
   18379              :                                                 }
   18380            1 :                                                 _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   18381            1 :                                                 res_op0 = _r1;
   18382              :                                               }
   18383            1 :                                               tree _r;
   18384            1 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18385            1 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18386            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18387            1 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   18388            1 :                                               return _r;
   18389              :                                             }
   18390            2 : next_after_fail1855:;
   18391              :                                         }
   18392              :                                       }
   18393              :                                   }
   18394              :                               }
   18395            2 :                               break;
   18396              :                             }
   18397              :                           default:;
   18398              :                           }
   18399              :                       }
   18400              :                     break;
   18401              :                   }
   18402           95 :                 case BIT_NOT_EXPR:
   18403           95 :                   {
   18404           95 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18405           95 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18406              :                       {
   18407           18 :                         switch (TREE_CODE (_p2))
   18408              :                           {
   18409           18 :                           case INTEGER_CST:
   18410           18 :                             {
   18411           18 :                               {
   18412           18 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18413           18 :                                 if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18414              : )
   18415              :                                   {
   18416           18 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1856;
   18417           18 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1856;
   18418           18 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1856;
   18419           18 :                                     {
   18420           18 :                                       tree _r;
   18421           18 :                                       _r = captures[2];
   18422           18 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   18423            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18424           18 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   18425           18 :                                       return _r;
   18426              :                                     }
   18427            0 : next_after_fail1856:;
   18428              :                                   }
   18429              :                               }
   18430            0 :                               break;
   18431              :                             }
   18432              :                           default:;
   18433              :                           }
   18434              :                       }
   18435              :                     break;
   18436              :                   }
   18437            5 :                 case ABS_EXPR:
   18438            5 :                   {
   18439            5 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18440            5 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18441              :                       {
   18442            1 :                         switch (TREE_CODE (_p2))
   18443              :                           {
   18444            1 :                           case INTEGER_CST:
   18445            1 :                             {
   18446            1 :                               {
   18447            1 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18448            1 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18449              : )
   18450              :                                   {
   18451            0 :                                     if (ABS_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18452              : )
   18453              :                                       {
   18454            0 :                                         {
   18455            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18456            0 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1857;
   18457            0 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1857;
   18458            0 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1857;
   18459            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1857;
   18460            0 :                                             {
   18461            0 :                                               tree res_op0;
   18462            0 :                                               {
   18463            0 :                                                 tree _o1[1], _r1;
   18464            0 :                                                 _o1[0] = captures[0];
   18465            0 :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18466            0 :                                                 res_op0 = _r1;
   18467              :                                               }
   18468            0 :                                               tree _r;
   18469            0 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18470            0 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18471            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18472            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18473            0 :                                               return _r;
   18474              :                                             }
   18475            1 : next_after_fail1857:;
   18476              :                                         }
   18477              :                                       }
   18478              :                                     else
   18479              :                                       {
   18480            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1858;
   18481            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1858;
   18482            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1858;
   18483            0 :                                         {
   18484            0 :                                           tree _r;
   18485            0 :                                           _r = captures[2];
   18486            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18487            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18488            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   18489            0 :                                           return _r;
   18490              :                                         }
   18491            1 : next_after_fail1858:;
   18492              :                                       }
   18493              :                                   }
   18494              :                               }
   18495            1 :                               break;
   18496              :                             }
   18497              :                           default:;
   18498              :                           }
   18499              :                       }
   18500              :                     break;
   18501              :                   }
   18502            0 :                 case ABSU_EXPR:
   18503            0 :                   {
   18504            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18505            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18506              :                       {
   18507            0 :                         switch (TREE_CODE (_p2))
   18508              :                           {
   18509            0 :                           case INTEGER_CST:
   18510            0 :                             {
   18511            0 :                               {
   18512            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18513            0 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18514              : )
   18515              :                                   {
   18516            0 :                                     if (ABSU_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18517              : )
   18518              :                                       {
   18519              :                                         {
   18520              :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18521              :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1859;
   18522              :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1859;
   18523              :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1859;
   18524              :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
   18525              :                                             {
   18526              :                                               tree res_op0;
   18527              :                                               {
   18528              :                                                 tree _o1[1], _r1;
   18529              :                                                 _o1[0] = captures[0];
   18530              :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18531              :                                                 res_op0 = _r1;
   18532              :                                               }
   18533              :                                               tree _r;
   18534              :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18535              :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18536              :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18537              :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18538              :                                               return _r;
   18539              :                                             }
   18540              : next_after_fail1859:;
   18541              :                                         }
   18542              :                                       }
   18543              :                                     else
   18544              :                                       {
   18545            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1860;
   18546            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1860;
   18547            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
   18548            0 :                                         {
   18549            0 :                                           tree _r;
   18550            0 :                                           _r = captures[2];
   18551            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18552            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18553            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   18554            0 :                                           return _r;
   18555              :                                         }
   18556            0 : next_after_fail1860:;
   18557              :                                       }
   18558              :                                   }
   18559              :                               }
   18560            0 :                               break;
   18561              :                             }
   18562              :                           default:;
   18563              :                           }
   18564              :                       }
   18565              :                     break;
   18566              :                   }
   18567              :                 default:;
   18568              :                 }
   18569              :               break;
   18570              :             }
   18571              :           default:;
   18572              :           }
   18573              :         break;
   18574              :       }
   18575      1291402 :     case INTEGER_CST:
   18576      1291402 :       {
   18577      1291402 :         {
   18578      1291402 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   18579      1291402 :           if (integer_zerop (captures[0])
   18580              : )
   18581              :             {
   18582       675550 :               if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
   18583              : )
   18584              :                 {
   18585       667336 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1861;
   18586       488378 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1861;
   18587       471916 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
   18588       471916 :                   {
   18589       471916 :                     tree _r;
   18590       471916 :                     _r = captures[2];
   18591       471916 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18592            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18593       471916 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   18594       471916 :                     return _r;
   18595              :                   }
   18596       432206 : next_after_fail1861:;
   18597              :                 }
   18598              :             }
   18599              :           else
   18600              :             {
   18601       615852 :               if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
   18602              : )
   18603              :                 {
   18604       614860 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1862;
   18605       487226 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1862;
   18606       387280 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
   18607       387280 :                   {
   18608       387280 :                     tree _r;
   18609       387280 :                     _r = captures[1];
   18610       387280 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18611            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18612       387280 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   18613       387280 :                     return _r;
   18614              :                   }
   18615       432206 : next_after_fail1862:;
   18616              :                 }
   18617              :             }
   18618              :         }
   18619       432206 :         break;
   18620              :       }
   18621     12174981 :     default:;
   18622              :     }
   18623     12174981 :   switch (TREE_CODE (_p1))
   18624              :     {
   18625       850661 :     case COND_EXPR:
   18626       850661 :       {
   18627       850661 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18628       850661 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18629       850661 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18630       850661 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   18631              :           {
   18632          609 :             {
   18633          609 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   18634          609 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1863;
   18635          609 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1863;
   18636           55 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1863;
   18637           54 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1863;
   18638           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
   18639           10 :               {
   18640           10 :                 tree res_op0;
   18641           10 :                 res_op0 = captures[0];
   18642           10 :                 tree res_op1;
   18643           10 :                 res_op1 = captures[1];
   18644           10 :                 tree res_op2;
   18645           10 :                 res_op2 = captures[3];
   18646           10 :                 tree _r;
   18647           10 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18648           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   18649           10 :                 return _r;
   18650              :               }
   18651          599 : next_after_fail1863:;
   18652              :             }
   18653              :           }
   18654              :         break;
   18655              :       }
   18656     12174971 :     default:;
   18657              :     }
   18658     12174971 :   switch (TREE_CODE (_p2))
   18659              :     {
   18660       897930 :     case COND_EXPR:
   18661       897930 :       {
   18662       897930 :         tree _q40 = TREE_OPERAND (_p2, 0);
   18663       897930 :         tree _q41 = TREE_OPERAND (_p2, 1);
   18664       897930 :         tree _q42 = TREE_OPERAND (_p2, 2);
   18665       897930 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   18666              :           {
   18667         3762 :             {
   18668         3762 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   18669         3762 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1864;
   18670         3762 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1864;
   18671         3762 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1864;
   18672          184 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1864;
   18673          184 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
   18674          184 :               {
   18675          184 :                 tree res_op0;
   18676          184 :                 res_op0 = captures[0];
   18677          184 :                 tree res_op1;
   18678          184 :                 res_op1 = captures[1];
   18679          184 :                 tree res_op2;
   18680          184 :                 res_op2 = captures[3];
   18681          184 :                 tree _r;
   18682          184 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18683          184 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   18684          184 :                 return _r;
   18685              :               }
   18686         3578 : next_after_fail1864:;
   18687              :             }
   18688              :           }
   18689       897746 :         {
   18690       897746 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   18691       897746 :           if (inverse_conditions_p (captures[0], captures[2])
   18692              : )
   18693              :             {
   18694         1162 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1865;
   18695         1162 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1865;
   18696         1162 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1865;
   18697         1162 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1865;
   18698         1162 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
   18699         1162 :               {
   18700         1162 :                 tree res_op0;
   18701         1162 :                 res_op0 = captures[0];
   18702         1162 :                 tree res_op1;
   18703         1162 :                 res_op1 = captures[1];
   18704         1162 :                 tree res_op2;
   18705         1162 :                 res_op2 = captures[3];
   18706         1162 :                 tree _r;
   18707         1162 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18708         1162 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   18709         1162 :                 return _r;
   18710              :               }
   18711       896584 : next_after_fail1865:;
   18712              :             }
   18713              :         }
   18714       896584 :         break;
   18715              :       }
   18716     12173625 :     default:;
   18717              :     }
   18718     12173625 :   switch (TREE_CODE (_p1))
   18719              :     {
   18720       850651 :     case COND_EXPR:
   18721       850651 :       {
   18722       850651 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18723       850651 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18724       850651 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18725       850651 :         {
   18726       850651 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   18727       850651 :           if (inverse_conditions_p (captures[0], captures[1])
   18728              : )
   18729              :             {
   18730          160 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1866;
   18731          160 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1866;
   18732            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1866;
   18733            2 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1866;
   18734            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
   18735            2 :               {
   18736            2 :                 tree res_op0;
   18737            2 :                 res_op0 = captures[0];
   18738            2 :                 tree res_op1;
   18739            2 :                 res_op1 = captures[3];
   18740            2 :                 tree res_op2;
   18741            2 :                 res_op2 = captures[4];
   18742            2 :                 tree _r;
   18743            2 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18744            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   18745            2 :                 return _r;
   18746              :               }
   18747       850649 : next_after_fail1866:;
   18748              :             }
   18749              :         }
   18750       850649 :         break;
   18751              :       }
   18752     12173623 :     default:;
   18753              :     }
   18754     12173623 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   18755              :     {
   18756        50920 :       {
   18757        50920 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   18758        50920 :         if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1867;
   18759        50920 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
   18760        50920 :         {
   18761        50920 :           tree _r;
   18762        50920 :           _r = captures[1];
   18763        50920 :           if (TREE_SIDE_EFFECTS (captures[0]))
   18764          357 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18765        50920 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   18766        50920 :           return _r;
   18767              :         }
   18768            0 : next_after_fail1867:;
   18769              :       }
   18770              :     }
   18771     12122703 :   switch (TREE_CODE (_p0))
   18772              :     {
   18773      1767376 :     case EQ_EXPR:
   18774      1767376 :       {
   18775      1767376 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18776      1767376 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18777      1767376 :         if (zerop (_q21))
   18778              :           {
   18779       799200 :             switch (TREE_CODE (_p2))
   18780              :               {
   18781           36 :               case NEGATE_EXPR:
   18782           36 :                 {
   18783           36 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18784           36 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18785              :                     {
   18786           16 :                       {
   18787           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18788           16 :                         const enum tree_code cmp = EQ_EXPR;
   18789           16 :                         if (!HONOR_SIGNED_ZEROS (type)
   18790           16 :  && bitwise_equal_p (captures[0], captures[1])
   18791              : )
   18792              :                           {
   18793            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1868;
   18794            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1868;
   18795            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   18796            0 :                             {
   18797            0 :                               tree _r;
   18798            0 :                               _r = captures[2];
   18799            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   18800            0 :                               return _r;
   18801              :                             }
   18802           16 : next_after_fail1868:;
   18803              :                           }
   18804              :                       }
   18805              :                     }
   18806              :                   break;
   18807              :                 }
   18808       799200 :               default:;
   18809              :               }
   18810       799200 :             if (zerop (_p1))
   18811              :               {
   18812        52574 :                 switch (TREE_CODE (_p2))
   18813              :                   {
   18814           14 :                   case NEGATE_EXPR:
   18815           14 :                     {
   18816           14 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18817           14 :                       {
   18818           14 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18819           14 :                         const enum tree_code cmp = EQ_EXPR;
   18820           14 :                         if (!HONOR_SIGNED_ZEROS (type)
   18821           14 :  && bitwise_equal_p (captures[0], captures[2])
   18822              : )
   18823              :                           {
   18824            7 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1869;
   18825            7 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1869;
   18826            7 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1869;
   18827            7 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   18828            7 :                             {
   18829            7 :                               tree _r;
   18830            7 :                               _r = captures[1];
   18831            7 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   18832            7 :                               return _r;
   18833              :                             }
   18834            7 : next_after_fail1869:;
   18835              :                           }
   18836              :                       }
   18837            7 :                       break;
   18838              :                     }
   18839              :                   default:;
   18840              :                   }
   18841              :               }
   18842              :           }
   18843      1767369 :         switch (TREE_CODE (_q20))
   18844              :           {
   18845            0 :           case MINUS_EXPR:
   18846            0 :             {
   18847            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18848            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18849            0 :               if (zerop (_q21))
   18850              :                 {
   18851            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18852              :                     {
   18853            0 :                       switch (TREE_CODE (_p2))
   18854              :                         {
   18855            0 :                         case MINUS_EXPR:
   18856            0 :                           {
   18857            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18858            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18859            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18860              :                               {
   18861            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18862              :                                   {
   18863            0 :                                     {
   18864            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18865            0 :                                       const enum tree_code cmp = EQ_EXPR;
   18866            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18867              : )
   18868              :                                         {
   18869            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1870;
   18870            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1870;
   18871            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
   18872            0 :                                           {
   18873            0 :                                             tree _r;
   18874            0 :                                             _r = captures[3];
   18875            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   18876            0 :                                             return _r;
   18877              :                                           }
   18878            0 : next_after_fail1870:;
   18879              :                                         }
   18880              :                                     }
   18881              :                                   }
   18882              :                               }
   18883              :                             break;
   18884              :                           }
   18885              :                         default:;
   18886              :                         }
   18887              :                     }
   18888              :                 }
   18889            0 :               if (integer_zerop (_q21))
   18890              :                 {
   18891            0 :                   if (integer_zerop (_p1))
   18892              :                     {
   18893            0 :                       switch (TREE_CODE (_p2))
   18894              :                         {
   18895            0 :                         case MINUS_EXPR:
   18896            0 :                           {
   18897            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18898            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18899            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18900              :                               {
   18901            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18902              :                                   {
   18903            0 :                                     {
   18904            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18905            0 :                                       tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   18906            0 :                                       if (res) return res;
   18907              :                                     }
   18908              :                                   }
   18909              :                               }
   18910              :                             break;
   18911              :                           }
   18912              :                         default:;
   18913              :                         }
   18914              :                     }
   18915              :                 }
   18916              :               break;
   18917              :             }
   18918        61510 :           case CALL_EXPR:
   18919        61510 :             switch (get_call_combined_fn (_q20))
   18920              :               {
   18921            0 :               case CFN_BUILT_IN_SIGNBITF:
   18922            0 :                 if (call_expr_nargs (_q20) == 1)
   18923              :     {
   18924            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18925            0 :                     if (integer_zerop (_q21))
   18926              :                       {
   18927            0 :                         switch (TREE_CODE (_p1))
   18928              :                           {
   18929            0 :                           case NEGATE_EXPR:
   18930            0 :                             {
   18931            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18932            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18933              :                                 {
   18934            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18935              :                                     {
   18936            0 :                                       {
   18937            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18938            0 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITF);
   18939            0 :                                         if (res) return res;
   18940              :                                       }
   18941              :                                     }
   18942              :                                 }
   18943              :                               break;
   18944              :                             }
   18945              :                           default:;
   18946              :                           }
   18947              :                       }
   18948              :                   }
   18949              :                 break;
   18950            0 :               case CFN_BUILT_IN_SIGNBITL:
   18951            0 :                 if (call_expr_nargs (_q20) == 1)
   18952              :     {
   18953            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18954            0 :                     if (integer_zerop (_q21))
   18955              :                       {
   18956            0 :                         switch (TREE_CODE (_p1))
   18957              :                           {
   18958            0 :                           case NEGATE_EXPR:
   18959            0 :                             {
   18960            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18961            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18962              :                                 {
   18963            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18964              :                                     {
   18965            0 :                                       {
   18966            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18967            0 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITL);
   18968            0 :                                         if (res) return res;
   18969              :                                       }
   18970              :                                     }
   18971              :                                 }
   18972              :                               break;
   18973              :                             }
   18974              :                           default:;
   18975              :                           }
   18976              :                       }
   18977              :                   }
   18978              :                 break;
   18979            0 :               case CFN_SIGNBIT:
   18980            0 :                 if (call_expr_nargs (_q20) == 1)
   18981              :     {
   18982            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18983            0 :                     if (integer_zerop (_q21))
   18984              :                       {
   18985            0 :                         switch (TREE_CODE (_p1))
   18986              :                           {
   18987            0 :                           case NEGATE_EXPR:
   18988            0 :                             {
   18989            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18990            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18991              :                                 {
   18992            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18993              :                                     {
   18994            0 :                                       {
   18995            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18996            0 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_SIGNBIT);
   18997            0 :                                         if (res) return res;
   18998              :                                       }
   18999              :                                     }
   19000              :                                 }
   19001              :                               break;
   19002              :                             }
   19003              :                           default:;
   19004              :                           }
   19005              :                       }
   19006              :                   }
   19007              :                 break;
   19008          411 :               case CFN_BUILT_IN_SIGNBIT:
   19009          411 :                 if (call_expr_nargs (_q20) == 1)
   19010              :     {
   19011          411 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19012          411 :                     if (integer_zerop (_q21))
   19013              :                       {
   19014          411 :                         switch (TREE_CODE (_p1))
   19015              :                           {
   19016            3 :                           case NEGATE_EXPR:
   19017            3 :                             {
   19018            3 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19019            3 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19020              :                                 {
   19021            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19022              :                                     {
   19023            3 :                                       {
   19024            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19025            3 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBIT);
   19026            3 :                                         if (res) return res;
   19027              :                                       }
   19028              :                                     }
   19029              :                                 }
   19030              :                               break;
   19031              :                             }
   19032              :                           default:;
   19033              :                           }
   19034              :                       }
   19035              :                   }
   19036              :                 break;
   19037              :               default:;
   19038              :               }
   19039              :             break;
   19040              :           default:;
   19041              :           }
   19042              :         break;
   19043              :       }
   19044          164 :     case UNEQ_EXPR:
   19045          164 :       {
   19046          164 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19047          164 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19048          164 :         if (zerop (_q21))
   19049              :           {
   19050            1 :             switch (TREE_CODE (_p2))
   19051              :               {
   19052            0 :               case NEGATE_EXPR:
   19053            0 :                 {
   19054            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19055            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19056              :                     {
   19057            0 :                       {
   19058            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   19059            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   19060            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   19061            0 :  && bitwise_equal_p (captures[0], captures[1])
   19062              : )
   19063              :                           {
   19064            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1871;
   19065            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1871;
   19066            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1871;
   19067            0 :                             {
   19068            0 :                               tree _r;
   19069            0 :                               _r = captures[2];
   19070            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   19071            0 :                               return _r;
   19072              :                             }
   19073            0 : next_after_fail1871:;
   19074              :                           }
   19075              :                       }
   19076              :                     }
   19077              :                   break;
   19078              :                 }
   19079            1 :               default:;
   19080              :               }
   19081            1 :             if (zerop (_p1))
   19082              :               {
   19083            0 :                 switch (TREE_CODE (_p2))
   19084              :                   {
   19085            0 :                   case NEGATE_EXPR:
   19086            0 :                     {
   19087            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   19088            0 :                       {
   19089            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   19090            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   19091            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   19092            0 :  && bitwise_equal_p (captures[0], captures[2])
   19093              : )
   19094              :                           {
   19095            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1872;
   19096            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1872;
   19097            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1872;
   19098            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1872;
   19099            0 :                             {
   19100            0 :                               tree _r;
   19101            0 :                               _r = captures[1];
   19102            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   19103            0 :                               return _r;
   19104              :                             }
   19105            0 : next_after_fail1872:;
   19106              :                           }
   19107              :                       }
   19108            0 :                       break;
   19109              :                     }
   19110              :                   default:;
   19111              :                   }
   19112              :               }
   19113              :           }
   19114          164 :         switch (TREE_CODE (_q20))
   19115              :           {
   19116            0 :           case MINUS_EXPR:
   19117            0 :             {
   19118            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19119            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19120            0 :               if (zerop (_q21))
   19121              :                 {
   19122            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19123              :                     {
   19124            0 :                       switch (TREE_CODE (_p2))
   19125              :                         {
   19126            0 :                         case MINUS_EXPR:
   19127            0 :                           {
   19128            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19129            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19130            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19131              :                               {
   19132            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19133              :                                   {
   19134            0 :                                     {
   19135            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   19136            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   19137            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19138              : )
   19139              :                                         {
   19140            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1873;
   19141            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1873;
   19142            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1873;
   19143            0 :                                           {
   19144            0 :                                             tree _r;
   19145            0 :                                             _r = captures[3];
   19146            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   19147            0 :                                             return _r;
   19148              :                                           }
   19149            0 : next_after_fail1873:;
   19150              :                                         }
   19151              :                                     }
   19152              :                                   }
   19153              :                               }
   19154              :                             break;
   19155              :                           }
   19156              :                         default:;
   19157              :                         }
   19158              :                     }
   19159              :                 }
   19160            0 :               if (integer_zerop (_q21))
   19161              :                 {
   19162            0 :                   if (integer_zerop (_p1))
   19163              :                     {
   19164            0 :                       switch (TREE_CODE (_p2))
   19165              :                         {
   19166            0 :                         case MINUS_EXPR:
   19167            0 :                           {
   19168            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19169            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19170            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19171              :                               {
   19172            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19173              :                                   {
   19174            0 :                                     {
   19175            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   19176            0 :                                       tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   19177            0 :                                       if (res) return res;
   19178              :                                     }
   19179              :                                   }
   19180              :                               }
   19181              :                             break;
   19182              :                           }
   19183              :                         default:;
   19184              :                         }
   19185              :                     }
   19186              :                 }
   19187              :               break;
   19188              :             }
   19189              :           default:;
   19190              :           }
   19191              :         break;
   19192              :       }
   19193      2953731 :     case NE_EXPR:
   19194      2953731 :       {
   19195      2953731 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19196      2953731 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19197      2953731 :         if (zerop (_q21))
   19198              :           {
   19199      2027773 :             switch (TREE_CODE (_p2))
   19200              :               {
   19201           50 :               case NEGATE_EXPR:
   19202           50 :                 {
   19203           50 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19204           50 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19205              :                     {
   19206           10 :                       {
   19207           10 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19208           10 :                         const enum tree_code cmp = NE_EXPR;
   19209           10 :                         if (!HONOR_SIGNED_ZEROS (type)
   19210           10 :  && bitwise_equal_p (captures[0], captures[1])
   19211              : )
   19212              :                           {
   19213            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1874;
   19214            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1874;
   19215            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1874;
   19216            0 :                             {
   19217            0 :                               tree _r;
   19218            0 :                               _r = captures[1];
   19219            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   19220            0 :                               return _r;
   19221              :                             }
   19222           10 : next_after_fail1874:;
   19223              :                           }
   19224              :                       }
   19225              :                     }
   19226              :                   break;
   19227              :                 }
   19228      2027773 :               default:;
   19229              :               }
   19230      2027773 :           if (integer_zerop (_p2))
   19231              :             {
   19232       342506 :               {
   19233       342506 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19234       342506 :                 const enum tree_code cmp = NE_EXPR;
   19235       342506 :                 if (!HONOR_SIGNED_ZEROS (type)
   19236       342506 :  && bitwise_equal_p (captures[0], captures[1])
   19237              : )
   19238              :                   {
   19239         2849 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1875;
   19240         2815 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1875;
   19241         2815 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1875;
   19242         2815 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1875;
   19243         2815 :                     {
   19244         2815 :                       tree _r;
   19245         2815 :                       _r = captures[1];
   19246         2815 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   19247         2815 :                       return _r;
   19248              :                     }
   19249       339691 : next_after_fail1875:;
   19250              :                   }
   19251              :               }
   19252              :             }
   19253              :           }
   19254      2950916 :         switch (TREE_CODE (_q20))
   19255              :           {
   19256          567 :           case MINUS_EXPR:
   19257          567 :             {
   19258          567 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19259          567 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19260          567 :               if (zerop (_q21))
   19261              :                 {
   19262           80 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19263              :                     {
   19264            0 :                       switch (TREE_CODE (_p2))
   19265              :                         {
   19266            0 :                         case MINUS_EXPR:
   19267            0 :                           {
   19268            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19269            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19270            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19271              :                               {
   19272            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19273              :                                   {
   19274            0 :                                     {
   19275            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19276            0 :                                       const enum tree_code cmp = NE_EXPR;
   19277            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19278              : )
   19279              :                                         {
   19280            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1876;
   19281            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1876;
   19282            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
   19283            0 :                                           {
   19284            0 :                                             tree _r;
   19285            0 :                                             _r = captures[0];
   19286            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   19287            0 :                                             return _r;
   19288              :                                           }
   19289            0 : next_after_fail1876:;
   19290              :                                         }
   19291              :                                     }
   19292              :                                   }
   19293              :                               }
   19294              :                             break;
   19295              :                           }
   19296              :                         default:;
   19297              :                         }
   19298              :                     }
   19299              :                 }
   19300          567 :               if (integer_zerop (_q21))
   19301              :                 {
   19302           29 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19303              :                     {
   19304            0 :                       if (integer_zerop (_p2))
   19305              :                         {
   19306            0 :                           {
   19307            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19308            0 :                             tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   19309            0 :                             if (res) return res;
   19310              :                           }
   19311              :                         }
   19312              :                     }
   19313              :                 }
   19314              :               break;
   19315              :             }
   19316       283787 :           case BIT_AND_EXPR:
   19317       283787 :             {
   19318       283787 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19319       283787 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19320       283787 :               if (integer_pow2p (_q31))
   19321              :                 {
   19322       211465 :                   if (integer_zerop (_q21))
   19323              :                     {
   19324       211465 :                       switch (TREE_CODE (_p1))
   19325              :                         {
   19326         2350 :                         case INTEGER_CST:
   19327         2350 :                           {
   19328         2350 :                             if (integer_zerop (_p2))
   19329              :                               {
   19330         1424 :                                 {
   19331         1424 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   19332         1424 :                                   if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
   19333              : )
   19334              :                                     {
   19335          662 :                                       {
   19336          662 :  int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
   19337          662 :  - wi::exact_log2 (wi::to_wide (captures[1])));
   19338          662 :                                           if (shift > 0
   19339              : )
   19340              :                                             {
   19341          387 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1877;
   19342          387 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1877;
   19343          387 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1877;
   19344          387 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
   19345          387 :                                               {
   19346          387 :                                                 tree res_op0;
   19347          387 :                                                 {
   19348          387 :                                                   tree _o1[2], _r1;
   19349          387 :                                                   {
   19350          387 :                                                     tree _o2[1], _r2;
   19351          387 :                                                     _o2[0] = captures[0];
   19352          387 :                                                     if (TREE_TYPE (_o2[0]) != type)
   19353              :                                                       {
   19354          384 :                                                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
   19355              :                                                       }
   19356              :                                                     else
   19357              :                                                       _r2 = _o2[0];
   19358          387 :                                                     _o1[0] = _r2;
   19359              :                                                   }
   19360          387 :                                                   _o1[1] =  build_int_cst (integer_type_node, shift);
   19361          387 :                                                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   19362          387 :                                                   res_op0 = _r1;
   19363              :                                                 }
   19364          387 :                                                 tree res_op1;
   19365          387 :                                                 res_op1 = captures[2];
   19366          387 :                                                 tree _r;
   19367          387 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19368          387 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   19369          662 :                                                 return _r;
   19370              :                                               }
   19371              : next_after_fail1877:;
   19372              :                                             }
   19373              :                                           else
   19374              :                                             {
   19375          275 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1878;
   19376          275 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1878;
   19377          275 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1878;
   19378          275 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
   19379          275 :                                               {
   19380          275 :                                                 tree res_op0;
   19381          275 :                                                 {
   19382          275 :                                                   tree _o1[1], _r1;
   19383          275 :                                                   {
   19384          275 :                                                     tree _o2[2], _r2;
   19385          275 :                                                     _o2[0] = captures[0];
   19386          275 :                                                     _o2[1] =  build_int_cst (integer_type_node, -shift);
   19387          275 :                                                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   19388          275 :                                                     _o1[0] = _r2;
   19389              :                                                   }
   19390          275 :                                                   if (TREE_TYPE (_o1[0]) != type)
   19391              :                                                     {
   19392          139 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   19393              :                                                     }
   19394              :                                                   else
   19395              :                                                     _r1 = _o1[0];
   19396          275 :                                                   res_op0 = _r1;
   19397              :                                                 }
   19398          275 :                                                 tree res_op1;
   19399          275 :                                                 res_op1 = captures[2];
   19400          275 :                                                 tree _r;
   19401          275 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19402          275 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   19403          275 :                                                 return _r;
   19404              :                                               }
   19405              : next_after_fail1878:;
   19406              :                                             }
   19407              :                                       }
   19408              :                                     }
   19409              :                                 }
   19410              :                               }
   19411              :                             break;
   19412              :                           }
   19413              :                         default:;
   19414              :                         }
   19415              :                     }
   19416              :                 }
   19417              :               break;
   19418              :             }
   19419       329637 :           case CALL_EXPR:
   19420       329637 :             switch (get_call_combined_fn (_q20))
   19421              :               {
   19422           30 :               case CFN_BUILT_IN_SIGNBITF:
   19423           30 :                 if (call_expr_nargs (_q20) == 1)
   19424              :     {
   19425           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19426           30 :                     if (integer_zerop (_q21))
   19427              :                       {
   19428           30 :                         switch (TREE_CODE (_p1))
   19429              :                           {
   19430            0 :                           case NEGATE_EXPR:
   19431            0 :                             {
   19432            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19433            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19434              :                                 {
   19435            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19436              :                                     {
   19437            0 :                                       {
   19438            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19439            0 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITF);
   19440            0 :                                         if (res) return res;
   19441              :                                       }
   19442              :                                     }
   19443              :                                 }
   19444              :                               break;
   19445              :                             }
   19446              :                           default:;
   19447              :                           }
   19448              :                       }
   19449              :                   }
   19450              :                 break;
   19451           30 :               case CFN_BUILT_IN_SIGNBITL:
   19452           30 :                 if (call_expr_nargs (_q20) == 1)
   19453              :     {
   19454           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19455           30 :                     if (integer_zerop (_q21))
   19456              :                       {
   19457           30 :                         switch (TREE_CODE (_p1))
   19458              :                           {
   19459            0 :                           case NEGATE_EXPR:
   19460            0 :                             {
   19461            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19462            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19463              :                                 {
   19464            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19465              :                                     {
   19466            0 :                                       {
   19467            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19468            0 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITL);
   19469            0 :                                         if (res) return res;
   19470              :                                       }
   19471              :                                     }
   19472              :                                 }
   19473              :                               break;
   19474              :                             }
   19475              :                           default:;
   19476              :                           }
   19477              :                       }
   19478              :                   }
   19479              :                 break;
   19480            0 :               case CFN_SIGNBIT:
   19481            0 :                 if (call_expr_nargs (_q20) == 1)
   19482              :     {
   19483            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19484            0 :                     if (integer_zerop (_q21))
   19485              :                       {
   19486            0 :                         switch (TREE_CODE (_p1))
   19487              :                           {
   19488            0 :                           case NEGATE_EXPR:
   19489            0 :                             {
   19490            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19491            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19492              :                                 {
   19493            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19494              :                                     {
   19495            0 :                                       {
   19496            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19497            0 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_SIGNBIT);
   19498            0 :                                         if (res) return res;
   19499              :                                       }
   19500              :                                     }
   19501              :                                 }
   19502              :                               break;
   19503              :                             }
   19504              :                           default:;
   19505              :                           }
   19506              :                       }
   19507              :                   }
   19508              :                 break;
   19509         2896 :               case CFN_BUILT_IN_SIGNBIT:
   19510         2896 :                 if (call_expr_nargs (_q20) == 1)
   19511              :     {
   19512         2896 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19513         2896 :                     if (integer_zerop (_q21))
   19514              :                       {
   19515         2896 :                         switch (TREE_CODE (_p1))
   19516              :                           {
   19517            4 :                           case NEGATE_EXPR:
   19518            4 :                             {
   19519            4 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19520            4 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19521              :                                 {
   19522            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19523              :                                     {
   19524            3 :                                       {
   19525            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19526            3 :                                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBIT);
   19527            3 :                                         if (res) return res;
   19528              :                                       }
   19529              :                                     }
   19530              :                                 }
   19531              :                               break;
   19532              :                             }
   19533              :                           default:;
   19534              :                           }
   19535              :                       }
   19536              :                   }
   19537              :                 break;
   19538              :               default:;
   19539              :               }
   19540              :             break;
   19541      2950251 :           default:;
   19542              :           }
   19543      2950251 :         if (integer_zerop (_q21))
   19544              :           {
   19545      1949941 :             switch (TREE_CODE (_p1))
   19546              :               {
   19547       110302 :               case PLUS_EXPR:
   19548       110302 :                 {
   19549       110302 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   19550       110302 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   19551       110302 :                   {
   19552       110302 :                     tree _q50_pops[1];
   19553       110302 :                     if (tree_nop_convert (_q50, _q50_pops))
   19554              :                       {
   19555        11848 :                         tree _q60 = _q50_pops[0];
   19556        11848 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19557              :                           {
   19558         1615 :                             if (integer_all_onesp (_q51))
   19559              :                               {
   19560         1615 :                                 if (integer_zerop (_p2))
   19561              :                                   {
   19562         1607 :                                     {
   19563         1607 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19564         1607 :                                       tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures);
   19565         1607 :                                       if (res) return res;
   19566              :                                     }
   19567              :                                   }
   19568              :                               }
   19569              :                           }
   19570              :                       }
   19571              :                   }
   19572       108695 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19573              :                     {
   19574         2056 :                       if (integer_all_onesp (_q51))
   19575              :                         {
   19576         2021 :                           if (integer_zerop (_p2))
   19577              :                             {
   19578         2011 :                               {
   19579         2011 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19580         2011 :                                 tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures);
   19581         2011 :                                 if (res) return res;
   19582              :                               }
   19583              :                             }
   19584              :                         }
   19585              :                     }
   19586              :                   break;
   19587              :                 }
   19588       596251 :               case CALL_EXPR:
   19589       596251 :                 switch (get_call_combined_fn (_p1))
   19590              :                   {
   19591            0 :                   case CFN_PARITY:
   19592            0 :                     if (call_expr_nargs (_p1) == 1)
   19593              :     {
   19594            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19595            0 :                         switch (TREE_CODE (_q50))
   19596              :                           {
   19597            0 :                           CASE_CONVERT:
   19598            0 :                             {
   19599            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19600            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19601              :                                 {
   19602            0 :                                   if (integer_zerop (_p2))
   19603              :                                     {
   19604            0 :                                       {
   19605            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19606            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19607            0 :                                         if (res) return res;
   19608              :                                       }
   19609              :                                     }
   19610              :                                 }
   19611              :                               break;
   19612              :                             }
   19613            0 :                           default:;
   19614              :                           }
   19615            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19616              :                           {
   19617            0 :                             if (integer_zerop (_p2))
   19618              :                               {
   19619            0 :                                 {
   19620            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19621            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19622            0 :                                   if (res) return res;
   19623              :                                 }
   19624              :                               }
   19625              :                           }
   19626              :                       }
   19627              :                     break;
   19628            7 :                   case CFN_BUILT_IN_FFS:
   19629            7 :                     if (call_expr_nargs (_p1) == 1)
   19630              :     {
   19631            7 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19632            7 :                         switch (TREE_CODE (_q50))
   19633              :                           {
   19634            0 :                           CASE_CONVERT:
   19635            0 :                             {
   19636            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19637            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19638              :                                 {
   19639            0 :                                   if (integer_zerop (_p2))
   19640              :                                     {
   19641            0 :                                       {
   19642            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19643            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19644            0 :                                         if (res) return res;
   19645              :                                       }
   19646              :                                     }
   19647              :                                 }
   19648              :                               break;
   19649              :                             }
   19650            7 :                           default:;
   19651              :                           }
   19652            7 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19653              :                           {
   19654            0 :                             if (integer_zerop (_p2))
   19655              :                               {
   19656            0 :                                 {
   19657            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19658            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19659            0 :                                   if (res) return res;
   19660              :                                 }
   19661              :                               }
   19662              :                           }
   19663              :                       }
   19664              :                     break;
   19665            0 :                   case CFN_BUILT_IN_FFSIMAX:
   19666            0 :                     if (call_expr_nargs (_p1) == 1)
   19667              :     {
   19668            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19669            0 :                         switch (TREE_CODE (_q50))
   19670              :                           {
   19671            0 :                           CASE_CONVERT:
   19672            0 :                             {
   19673            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19674            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19675              :                                 {
   19676            0 :                                   if (integer_zerop (_p2))
   19677              :                                     {
   19678            0 :                                       {
   19679            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19680            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19681            0 :                                         if (res) return res;
   19682              :                                       }
   19683              :                                     }
   19684              :                                 }
   19685              :                               break;
   19686              :                             }
   19687            0 :                           default:;
   19688              :                           }
   19689            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19690              :                           {
   19691            0 :                             if (integer_zerop (_p2))
   19692              :                               {
   19693            0 :                                 {
   19694            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19695            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19696            0 :                                   if (res) return res;
   19697              :                                 }
   19698              :                               }
   19699              :                           }
   19700              :                       }
   19701              :                     break;
   19702            2 :                   case CFN_BUILT_IN_POPCOUNT:
   19703            2 :                     if (call_expr_nargs (_p1) == 1)
   19704              :     {
   19705            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19706            2 :                         switch (TREE_CODE (_q50))
   19707              :                           {
   19708            1 :                           CASE_CONVERT:
   19709            1 :                             {
   19710            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19711            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19712              :                                 {
   19713            1 :                                   if (integer_zerop (_p2))
   19714              :                                     {
   19715            1 :                                       {
   19716            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19717            1 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19718            1 :                                         if (res) return res;
   19719              :                                       }
   19720              :                                     }
   19721              :                                 }
   19722              :                               break;
   19723              :                             }
   19724            1 :                           default:;
   19725              :                           }
   19726            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19727              :                           {
   19728            0 :                             if (integer_zerop (_p2))
   19729              :                               {
   19730            0 :                                 {
   19731            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19732            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19733            0 :                                   if (res) return res;
   19734              :                                 }
   19735              :                               }
   19736              :                           }
   19737              :                       }
   19738              :                     break;
   19739            2 :                   case CFN_BUILT_IN_PARITYL:
   19740            2 :                     if (call_expr_nargs (_p1) == 1)
   19741              :     {
   19742            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19743            2 :                         switch (TREE_CODE (_q50))
   19744              :                           {
   19745            1 :                           CASE_CONVERT:
   19746            1 :                             {
   19747            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19748            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19749              :                                 {
   19750            1 :                                   if (integer_zerop (_p2))
   19751              :                                     {
   19752            1 :                                       {
   19753            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19754            1 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19755            1 :                                         if (res) return res;
   19756              :                                       }
   19757              :                                     }
   19758              :                                 }
   19759              :                               break;
   19760              :                             }
   19761            1 :                           default:;
   19762              :                           }
   19763            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19764              :                           {
   19765            0 :                             if (integer_zerop (_p2))
   19766              :                               {
   19767            0 :                                 {
   19768            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19769            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19770            0 :                                   if (res) return res;
   19771              :                                 }
   19772              :                               }
   19773              :                           }
   19774              :                       }
   19775              :                     break;
   19776           16 :                   case CFN_BUILT_IN_FFSL:
   19777           16 :                     if (call_expr_nargs (_p1) == 1)
   19778              :     {
   19779           16 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19780           16 :                         switch (TREE_CODE (_q50))
   19781              :                           {
   19782           16 :                           CASE_CONVERT:
   19783           16 :                             {
   19784           16 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19785           16 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19786              :                                 {
   19787            0 :                                   if (integer_zerop (_p2))
   19788              :                                     {
   19789            0 :                                       {
   19790            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19791            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19792            0 :                                         if (res) return res;
   19793              :                                       }
   19794              :                                     }
   19795              :                                 }
   19796              :                               break;
   19797              :                             }
   19798           16 :                           default:;
   19799              :                           }
   19800           16 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19801              :                           {
   19802            0 :                             if (integer_zerop (_p2))
   19803              :                               {
   19804            0 :                                 {
   19805            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19806            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19807            0 :                                   if (res) return res;
   19808              :                                 }
   19809              :                               }
   19810              :                           }
   19811              :                       }
   19812              :                     break;
   19813            2 :                   case CFN_BUILT_IN_POPCOUNTLL:
   19814            2 :                     if (call_expr_nargs (_p1) == 1)
   19815              :     {
   19816            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19817            2 :                         switch (TREE_CODE (_q50))
   19818              :                           {
   19819            1 :                           CASE_CONVERT:
   19820            1 :                             {
   19821            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19822            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19823              :                                 {
   19824            1 :                                   if (integer_zerop (_p2))
   19825              :                                     {
   19826            1 :                                       {
   19827            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19828            1 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19829            1 :                                         if (res) return res;
   19830              :                                       }
   19831              :                                     }
   19832              :                                 }
   19833              :                               break;
   19834              :                             }
   19835            1 :                           default:;
   19836              :                           }
   19837            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19838              :                           {
   19839            0 :                             if (integer_zerop (_p2))
   19840              :                               {
   19841            0 :                                 {
   19842            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19843            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19844            0 :                                   if (res) return res;
   19845              :                                 }
   19846              :                               }
   19847              :                           }
   19848              :                       }
   19849              :                     break;
   19850            0 :                   case CFN_POPCOUNT:
   19851            0 :                     if (call_expr_nargs (_p1) == 1)
   19852              :     {
   19853            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19854            0 :                         switch (TREE_CODE (_q50))
   19855              :                           {
   19856            0 :                           CASE_CONVERT:
   19857            0 :                             {
   19858            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19859            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19860              :                                 {
   19861            0 :                                   if (integer_zerop (_p2))
   19862              :                                     {
   19863            0 :                                       {
   19864            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19865            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19866            0 :                                         if (res) return res;
   19867              :                                       }
   19868              :                                     }
   19869              :                                 }
   19870              :                               break;
   19871              :                             }
   19872            0 :                           default:;
   19873              :                           }
   19874            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19875              :                           {
   19876            0 :                             if (integer_zerop (_p2))
   19877              :                               {
   19878            0 :                                 {
   19879            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19880            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19881            0 :                                   if (res) return res;
   19882              :                                 }
   19883              :                               }
   19884              :                           }
   19885              :                       }
   19886              :                     break;
   19887            0 :                   case CFN_BUILT_IN_PARITYIMAX:
   19888            0 :                     if (call_expr_nargs (_p1) == 1)
   19889              :     {
   19890            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19891            0 :                         switch (TREE_CODE (_q50))
   19892              :                           {
   19893            0 :                           CASE_CONVERT:
   19894            0 :                             {
   19895            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19896            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19897              :                                 {
   19898            0 :                                   if (integer_zerop (_p2))
   19899              :                                     {
   19900            0 :                                       {
   19901            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19902            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19903            0 :                                         if (res) return res;
   19904              :                                       }
   19905              :                                     }
   19906              :                                 }
   19907              :                               break;
   19908              :                             }
   19909            0 :                           default:;
   19910              :                           }
   19911            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19912              :                           {
   19913            0 :                             if (integer_zerop (_p2))
   19914              :                               {
   19915            0 :                                 {
   19916            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19917            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19918            0 :                                   if (res) return res;
   19919              :                                 }
   19920              :                               }
   19921              :                           }
   19922              :                       }
   19923              :                     break;
   19924            2 :                   case CFN_BUILT_IN_CLRSBL:
   19925            2 :                     if (call_expr_nargs (_p1) == 1)
   19926              :     {
   19927            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19928            2 :                         switch (TREE_CODE (_q50))
   19929              :                           {
   19930            0 :                           CASE_CONVERT:
   19931            0 :                             {
   19932            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19933            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19934              :                                 {
   19935            0 :                                   switch (TREE_CODE (_p2))
   19936              :                                     {
   19937            0 :                                     case INTEGER_CST:
   19938            0 :                                       {
   19939            0 :                                         {
   19940            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19941            0 :                                           tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19942            0 :                                           if (res) return res;
   19943              :                                         }
   19944            0 :                                         break;
   19945              :                                       }
   19946              :                                     default:;
   19947              :                                     }
   19948              :                                 }
   19949              :                               break;
   19950              :                             }
   19951            2 :                           default:;
   19952              :                           }
   19953            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19954              :                           {
   19955            1 :                             switch (TREE_CODE (_p2))
   19956              :                               {
   19957            1 :                               case INTEGER_CST:
   19958            1 :                                 {
   19959            1 :                                   {
   19960            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19961            1 :                                     tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19962            1 :                                     if (res) return res;
   19963              :                                   }
   19964            0 :                                   break;
   19965              :                                 }
   19966              :                               default:;
   19967              :                               }
   19968              :                           }
   19969              :                       }
   19970              :                     break;
   19971            0 :                   case CFN_FFS:
   19972            0 :                     if (call_expr_nargs (_p1) == 1)
   19973              :     {
   19974            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19975            0 :                         switch (TREE_CODE (_q50))
   19976              :                           {
   19977            0 :                           CASE_CONVERT:
   19978            0 :                             {
   19979            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19980            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19981              :                                 {
   19982            0 :                                   if (integer_zerop (_p2))
   19983              :                                     {
   19984            0 :                                       {
   19985            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19986            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19987            0 :                                         if (res) return res;
   19988              :                                       }
   19989              :                                     }
   19990              :                                 }
   19991              :                               break;
   19992              :                             }
   19993            0 :                           default:;
   19994              :                           }
   19995            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19996              :                           {
   19997            0 :                             if (integer_zerop (_p2))
   19998              :                               {
   19999            0 :                                 {
   20000            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20001            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   20002            0 :                                   if (res) return res;
   20003              :                                 }
   20004              :                               }
   20005              :                           }
   20006              :                       }
   20007              :                     break;
   20008            2 :                   case CFN_BUILT_IN_PARITY:
   20009            2 :                     if (call_expr_nargs (_p1) == 1)
   20010              :     {
   20011            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20012            2 :                         switch (TREE_CODE (_q50))
   20013              :                           {
   20014            1 :                           CASE_CONVERT:
   20015            1 :                             {
   20016            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20017            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20018              :                                 {
   20019            1 :                                   if (integer_zerop (_p2))
   20020              :                                     {
   20021            1 :                                       {
   20022            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20023            1 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   20024            1 :                                         if (res) return res;
   20025              :                                       }
   20026              :                                     }
   20027              :                                 }
   20028              :                               break;
   20029              :                             }
   20030            1 :                           default:;
   20031              :                           }
   20032            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20033              :                           {
   20034            0 :                             if (integer_zerop (_p2))
   20035              :                               {
   20036            0 :                                 {
   20037            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20038            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   20039            0 :                                   if (res) return res;
   20040              :                                 }
   20041              :                               }
   20042              :                           }
   20043              :                       }
   20044              :                     break;
   20045            0 :                   case CFN_BUILT_IN_POPCOUNTIMAX:
   20046            0 :                     if (call_expr_nargs (_p1) == 1)
   20047              :     {
   20048            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20049            0 :                         switch (TREE_CODE (_q50))
   20050              :                           {
   20051            0 :                           CASE_CONVERT:
   20052            0 :                             {
   20053            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20054            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20055              :                                 {
   20056            0 :                                   if (integer_zerop (_p2))
   20057              :                                     {
   20058            0 :                                       {
   20059            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20060            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   20061            0 :                                         if (res) return res;
   20062              :                                       }
   20063              :                                     }
   20064              :                                 }
   20065              :                               break;
   20066              :                             }
   20067            0 :                           default:;
   20068              :                           }
   20069            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20070              :                           {
   20071            0 :                             if (integer_zerop (_p2))
   20072              :                               {
   20073            0 :                                 {
   20074            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20075            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   20076            0 :                                   if (res) return res;
   20077              :                                 }
   20078              :                               }
   20079              :                           }
   20080              :                       }
   20081              :                     break;
   20082            0 :                   case CFN_BUILT_IN_CLRSBIMAX:
   20083            0 :                     if (call_expr_nargs (_p1) == 1)
   20084              :     {
   20085            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20086            0 :                         switch (TREE_CODE (_q50))
   20087              :                           {
   20088            0 :                           CASE_CONVERT:
   20089            0 :                             {
   20090            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20091            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20092              :                                 {
   20093            0 :                                   switch (TREE_CODE (_p2))
   20094              :                                     {
   20095            0 :                                     case INTEGER_CST:
   20096            0 :                                       {
   20097            0 :                                         {
   20098            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20099            0 :                                           tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   20100            0 :                                           if (res) return res;
   20101              :                                         }
   20102            0 :                                         break;
   20103              :                                       }
   20104              :                                     default:;
   20105              :                                     }
   20106              :                                 }
   20107              :                               break;
   20108              :                             }
   20109            0 :                           default:;
   20110              :                           }
   20111            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20112              :                           {
   20113            0 :                             switch (TREE_CODE (_p2))
   20114              :                               {
   20115            0 :                               case INTEGER_CST:
   20116            0 :                                 {
   20117            0 :                                   {
   20118            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20119            0 :                                     tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   20120            0 :                                     if (res) return res;
   20121              :                                   }
   20122            0 :                                   break;
   20123              :                                 }
   20124              :                               default:;
   20125              :                               }
   20126              :                           }
   20127              :                       }
   20128              :                     break;
   20129            2 :                   case CFN_BUILT_IN_CLRSBLL:
   20130            2 :                     if (call_expr_nargs (_p1) == 1)
   20131              :     {
   20132            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20133            2 :                         switch (TREE_CODE (_q50))
   20134              :                           {
   20135            0 :                           CASE_CONVERT:
   20136            0 :                             {
   20137            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20138            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20139              :                                 {
   20140            0 :                                   switch (TREE_CODE (_p2))
   20141              :                                     {
   20142            0 :                                     case INTEGER_CST:
   20143            0 :                                       {
   20144            0 :                                         {
   20145            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20146            0 :                                           tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   20147            0 :                                           if (res) return res;
   20148              :                                         }
   20149            0 :                                         break;
   20150              :                                       }
   20151              :                                     default:;
   20152              :                                     }
   20153              :                                 }
   20154              :                               break;
   20155              :                             }
   20156            2 :                           default:;
   20157              :                           }
   20158            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20159              :                           {
   20160            1 :                             switch (TREE_CODE (_p2))
   20161              :                               {
   20162            1 :                               case INTEGER_CST:
   20163            1 :                                 {
   20164            1 :                                   {
   20165            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20166            1 :                                     tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   20167            1 :                                     if (res) return res;
   20168              :                                   }
   20169            0 :                                   break;
   20170              :                                 }
   20171              :                               default:;
   20172              :                               }
   20173              :                           }
   20174              :                       }
   20175              :                     break;
   20176            0 :                   case CFN_BSWAP:
   20177            0 :                     if (call_expr_nargs (_p1) == 1)
   20178              :     {
   20179            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20180            0 :                         switch (TREE_CODE (_q50))
   20181              :                           {
   20182            0 :                           CASE_CONVERT:
   20183            0 :                             {
   20184            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20185            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20186              :                                 {
   20187            0 :                                   if (integer_zerop (_p2))
   20188              :                                     {
   20189            0 :                                       {
   20190            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20191            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   20192            0 :                                         if (res) return res;
   20193              :                                       }
   20194              :                                     }
   20195              :                                 }
   20196              :                               break;
   20197              :                             }
   20198            0 :                           default:;
   20199              :                           }
   20200            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20201              :                           {
   20202            0 :                             if (integer_zerop (_p2))
   20203              :                               {
   20204            0 :                                 {
   20205            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20206            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   20207            0 :                                   if (res) return res;
   20208              :                                 }
   20209              :                               }
   20210              :                           }
   20211              :                       }
   20212              :                     break;
   20213            0 :                   case CFN_CLRSB:
   20214            0 :                     if (call_expr_nargs (_p1) == 1)
   20215              :     {
   20216            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20217            0 :                         switch (TREE_CODE (_q50))
   20218              :                           {
   20219            0 :                           CASE_CONVERT:
   20220            0 :                             {
   20221            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20222            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20223              :                                 {
   20224            0 :                                   switch (TREE_CODE (_p2))
   20225              :                                     {
   20226            0 :                                     case INTEGER_CST:
   20227            0 :                                       {
   20228            0 :                                         {
   20229            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20230            0 :                                           tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   20231            0 :                                           if (res) return res;
   20232              :                                         }
   20233            0 :                                         break;
   20234              :                                       }
   20235              :                                     default:;
   20236              :                                     }
   20237              :                                 }
   20238              :                               break;
   20239              :                             }
   20240            0 :                           default:;
   20241              :                           }
   20242            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20243              :                           {
   20244            0 :                             switch (TREE_CODE (_p2))
   20245              :                               {
   20246            0 :                               case INTEGER_CST:
   20247            0 :                                 {
   20248            0 :                                   {
   20249            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20250            0 :                                     tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   20251            0 :                                     if (res) return res;
   20252              :                                   }
   20253            0 :                                   break;
   20254              :                                 }
   20255              :                               default:;
   20256              :                               }
   20257              :                           }
   20258              :                       }
   20259              :                     break;
   20260            0 :                   case CFN_BUILT_IN_BSWAP128:
   20261            0 :                     if (call_expr_nargs (_p1) == 1)
   20262              :     {
   20263            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20264            0 :                         switch (TREE_CODE (_q50))
   20265              :                           {
   20266            0 :                           CASE_CONVERT:
   20267            0 :                             {
   20268            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20269            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20270              :                                 {
   20271            0 :                                   if (integer_zerop (_p2))
   20272              :                                     {
   20273            0 :                                       {
   20274            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20275            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   20276            0 :                                         if (res) return res;
   20277              :                                       }
   20278              :                                     }
   20279              :                                 }
   20280              :                               break;
   20281              :                             }
   20282            0 :                           default:;
   20283              :                           }
   20284            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20285              :                           {
   20286            0 :                             if (integer_zerop (_p2))
   20287              :                               {
   20288            0 :                                 {
   20289            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20290            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   20291            0 :                                   if (res) return res;
   20292              :                                 }
   20293              :                               }
   20294              :                           }
   20295              :                       }
   20296              :                     break;
   20297            2 :                   case CFN_BUILT_IN_POPCOUNTL:
   20298            2 :                     if (call_expr_nargs (_p1) == 1)
   20299              :     {
   20300            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20301            2 :                         switch (TREE_CODE (_q50))
   20302              :                           {
   20303            1 :                           CASE_CONVERT:
   20304            1 :                             {
   20305            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20306            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20307              :                                 {
   20308            1 :                                   if (integer_zerop (_p2))
   20309              :                                     {
   20310            1 :                                       {
   20311            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20312            1 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20313            1 :                                         if (res) return res;
   20314              :                                       }
   20315              :                                     }
   20316              :                                 }
   20317              :                               break;
   20318              :                             }
   20319            1 :                           default:;
   20320              :                           }
   20321            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20322              :                           {
   20323            0 :                             if (integer_zerop (_p2))
   20324              :                               {
   20325            0 :                                 {
   20326            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20327            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20328            0 :                                   if (res) return res;
   20329              :                                 }
   20330              :                               }
   20331              :                           }
   20332              :                       }
   20333              :                     break;
   20334            2 :                   case CFN_BUILT_IN_CLRSB:
   20335            2 :                     if (call_expr_nargs (_p1) == 1)
   20336              :     {
   20337            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20338            2 :                         switch (TREE_CODE (_q50))
   20339              :                           {
   20340            0 :                           CASE_CONVERT:
   20341            0 :                             {
   20342            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20343            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20344              :                                 {
   20345            0 :                                   switch (TREE_CODE (_p2))
   20346              :                                     {
   20347            0 :                                     case INTEGER_CST:
   20348            0 :                                       {
   20349            0 :                                         {
   20350            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20351            0 :                                           tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20352            0 :                                           if (res) return res;
   20353              :                                         }
   20354            0 :                                         break;
   20355              :                                       }
   20356              :                                     default:;
   20357              :                                     }
   20358              :                                 }
   20359              :                               break;
   20360              :                             }
   20361            2 :                           default:;
   20362              :                           }
   20363            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20364              :                           {
   20365            1 :                             switch (TREE_CODE (_p2))
   20366              :                               {
   20367            1 :                               case INTEGER_CST:
   20368            1 :                                 {
   20369            1 :                                   {
   20370            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20371            1 :                                     tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20372            1 :                                     if (res) return res;
   20373              :                                   }
   20374            0 :                                   break;
   20375              :                                 }
   20376              :                               default:;
   20377              :                               }
   20378              :                           }
   20379              :                       }
   20380              :                     break;
   20381            0 :                   case CFN_BUILT_IN_FFSLL:
   20382            0 :                     if (call_expr_nargs (_p1) == 1)
   20383              :     {
   20384            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20385            0 :                         switch (TREE_CODE (_q50))
   20386              :                           {
   20387            0 :                           CASE_CONVERT:
   20388            0 :                             {
   20389            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20390            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20391              :                                 {
   20392            0 :                                   if (integer_zerop (_p2))
   20393              :                                     {
   20394            0 :                                       {
   20395            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20396            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20397            0 :                                         if (res) return res;
   20398              :                                       }
   20399              :                                     }
   20400              :                                 }
   20401              :                               break;
   20402              :                             }
   20403            0 :                           default:;
   20404              :                           }
   20405            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20406              :                           {
   20407            0 :                             if (integer_zerop (_p2))
   20408              :                               {
   20409            0 :                                 {
   20410            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20411            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20412            0 :                                   if (res) return res;
   20413              :                                 }
   20414              :                               }
   20415              :                           }
   20416              :                       }
   20417              :                     break;
   20418            2 :                   case CFN_BUILT_IN_PARITYLL:
   20419            2 :                     if (call_expr_nargs (_p1) == 1)
   20420              :     {
   20421            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20422            2 :                         switch (TREE_CODE (_q50))
   20423              :                           {
   20424            1 :                           CASE_CONVERT:
   20425            1 :                             {
   20426            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20427            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20428              :                                 {
   20429            1 :                                   if (integer_zerop (_p2))
   20430              :                                     {
   20431            1 :                                       {
   20432            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20433            1 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20434            1 :                                         if (res) return res;
   20435              :                                       }
   20436              :                                     }
   20437              :                                 }
   20438              :                               break;
   20439              :                             }
   20440            1 :                           default:;
   20441              :                           }
   20442            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20443              :                           {
   20444            0 :                             if (integer_zerop (_p2))
   20445              :                               {
   20446            0 :                                 {
   20447            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20448            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20449            0 :                                   if (res) return res;
   20450              :                                 }
   20451              :                               }
   20452              :                           }
   20453              :                       }
   20454              :                     break;
   20455            3 :                   case CFN_BUILT_IN_BSWAP16:
   20456            3 :                     if (call_expr_nargs (_p1) == 1)
   20457              :     {
   20458            3 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20459            3 :                         switch (TREE_CODE (_q50))
   20460              :                           {
   20461            0 :                           CASE_CONVERT:
   20462            0 :                             {
   20463            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20464            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20465              :                                 {
   20466            0 :                                   if (integer_zerop (_p2))
   20467              :                                     {
   20468            0 :                                       {
   20469            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20470            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20471            0 :                                         if (res) return res;
   20472              :                                       }
   20473              :                                     }
   20474              :                                 }
   20475              :                               break;
   20476              :                             }
   20477            3 :                           default:;
   20478              :                           }
   20479            3 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20480              :                           {
   20481            1 :                             if (integer_zerop (_p2))
   20482              :                               {
   20483            1 :                                 {
   20484            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20485            1 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20486            1 :                                   if (res) return res;
   20487              :                                 }
   20488              :                               }
   20489              :                           }
   20490              :                       }
   20491              :                     break;
   20492            2 :                   case CFN_BUILT_IN_BSWAP32:
   20493            2 :                     if (call_expr_nargs (_p1) == 1)
   20494              :     {
   20495            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20496            2 :                         switch (TREE_CODE (_q50))
   20497              :                           {
   20498            0 :                           CASE_CONVERT:
   20499            0 :                             {
   20500            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20501            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20502              :                                 {
   20503            0 :                                   if (integer_zerop (_p2))
   20504              :                                     {
   20505            0 :                                       {
   20506            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20507            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20508            0 :                                         if (res) return res;
   20509              :                                       }
   20510              :                                     }
   20511              :                                 }
   20512              :                               break;
   20513              :                             }
   20514            2 :                           default:;
   20515              :                           }
   20516            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20517              :                           {
   20518            1 :                             if (integer_zerop (_p2))
   20519              :                               {
   20520            1 :                                 {
   20521            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20522            1 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20523            1 :                                   if (res) return res;
   20524              :                                 }
   20525              :                               }
   20526              :                           }
   20527              :                       }
   20528              :                     break;
   20529            2 :                   case CFN_BUILT_IN_BSWAP64:
   20530            2 :                     if (call_expr_nargs (_p1) == 1)
   20531              :     {
   20532            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20533            2 :                         switch (TREE_CODE (_q50))
   20534              :                           {
   20535            1 :                           CASE_CONVERT:
   20536            1 :                             {
   20537            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20538            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20539              :                                 {
   20540            1 :                                   if (integer_zerop (_p2))
   20541              :                                     {
   20542            1 :                                       {
   20543            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20544            1 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20545            1 :                                         if (res) return res;
   20546              :                                       }
   20547              :                                     }
   20548              :                                 }
   20549              :                               break;
   20550              :                             }
   20551            1 :                           default:;
   20552              :                           }
   20553            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20554              :                           {
   20555            0 :                             if (integer_zerop (_p2))
   20556              :                               {
   20557            0 :                                 {
   20558            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20559            0 :                                   tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20560            0 :                                   if (res) return res;
   20561              :                                 }
   20562              :                               }
   20563              :                           }
   20564              :                       }
   20565              :                     break;
   20566              :                   default:;
   20567              :                   }
   20568              :                 break;
   20569      1946311 :               default:;
   20570              :               }
   20571      1946311 :           {
   20572      1946311 :             tree _p1_pops[1];
   20573      1946311 :             if (tree_nop_convert (_p1, _p1_pops))
   20574              :               {
   20575       164238 :                 tree _q50 = _p1_pops[0];
   20576       164238 :                 switch (TREE_CODE (_q50))
   20577              :                   {
   20578          339 :                   case PLUS_EXPR:
   20579          339 :                     {
   20580          339 :                       tree _q60 = TREE_OPERAND (_q50, 0);
   20581          339 :                       tree _q61 = TREE_OPERAND (_q50, 1);
   20582          339 :                       {
   20583          339 :                         tree _q60_pops[1];
   20584          339 :                         if (tree_nop_convert (_q60, _q60_pops))
   20585              :                           {
   20586           52 :                             tree _q70 = _q60_pops[0];
   20587           52 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   20588              :                               {
   20589            2 :                                 if (integer_all_onesp (_q61))
   20590              :                                   {
   20591            2 :                                     if (integer_zerop (_p2))
   20592              :                                       {
   20593            2 :                                         {
   20594            2 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20595            2 :                                           tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures);
   20596            2 :                                           if (res) return res;
   20597              :                                         }
   20598              :                                       }
   20599              :                                   }
   20600              :                               }
   20601              :                           }
   20602              :                       }
   20603          337 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20604              :                         {
   20605           14 :                           if (integer_all_onesp (_q61))
   20606              :                             {
   20607            0 :                               if (integer_zerop (_p2))
   20608              :                                 {
   20609            0 :                                   {
   20610            0 :                                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20611            0 :                                     tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures);
   20612            0 :                                     if (res) return res;
   20613              :                                   }
   20614              :                                 }
   20615              :                             }
   20616              :                         }
   20617              :                       break;
   20618              :                     }
   20619              :                   default:;
   20620              :                   }
   20621              :               }
   20622              :           }
   20623              :           }
   20624              :         break;
   20625              :       }
   20626            7 :     case LTGT_EXPR:
   20627            7 :       {
   20628            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20629            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20630            7 :         if (zerop (_q21))
   20631              :           {
   20632            0 :             switch (TREE_CODE (_p2))
   20633              :               {
   20634            0 :               case NEGATE_EXPR:
   20635            0 :                 {
   20636            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20637            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20638              :                     {
   20639            0 :                       {
   20640            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20641            0 :                         const enum tree_code cmp = LTGT_EXPR;
   20642            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   20643            0 :  && bitwise_equal_p (captures[0], captures[1])
   20644              : )
   20645              :                           {
   20646            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1879;
   20647            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1879;
   20648            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
   20649            0 :                             {
   20650            0 :                               tree _r;
   20651            0 :                               _r = captures[1];
   20652            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   20653            0 :                               return _r;
   20654              :                             }
   20655            0 : next_after_fail1879:;
   20656              :                           }
   20657              :                       }
   20658              :                     }
   20659              :                   break;
   20660              :                 }
   20661            0 :               default:;
   20662              :               }
   20663            0 :           if (integer_zerop (_p2))
   20664              :             {
   20665            0 :               {
   20666            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20667            0 :                 const enum tree_code cmp = LTGT_EXPR;
   20668            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   20669            0 :  && bitwise_equal_p (captures[0], captures[1])
   20670              : )
   20671              :                   {
   20672            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1880;
   20673            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1880;
   20674            0 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1880;
   20675            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
   20676            0 :                     {
   20677            0 :                       tree _r;
   20678            0 :                       _r = captures[1];
   20679            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   20680            0 :                       return _r;
   20681              :                     }
   20682            0 : next_after_fail1880:;
   20683              :                   }
   20684              :               }
   20685              :             }
   20686              :           }
   20687            7 :         switch (TREE_CODE (_q20))
   20688              :           {
   20689            0 :           case MINUS_EXPR:
   20690            0 :             {
   20691            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20692            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20693            0 :               if (zerop (_q21))
   20694              :                 {
   20695            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20696              :                     {
   20697            0 :                       switch (TREE_CODE (_p2))
   20698              :                         {
   20699            0 :                         case MINUS_EXPR:
   20700            0 :                           {
   20701            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20702            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20703            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20704              :                               {
   20705            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20706              :                                   {
   20707            0 :                                     {
   20708            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20709            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   20710            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20711              : )
   20712              :                                         {
   20713            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1881;
   20714            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1881;
   20715            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
   20716            0 :                                           {
   20717            0 :                                             tree _r;
   20718            0 :                                             _r = captures[0];
   20719            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   20720            0 :                                             return _r;
   20721              :                                           }
   20722            0 : next_after_fail1881:;
   20723              :                                         }
   20724              :                                     }
   20725              :                                   }
   20726              :                               }
   20727              :                             break;
   20728              :                           }
   20729              :                         default:;
   20730              :                         }
   20731              :                     }
   20732              :                 }
   20733            0 :               if (integer_zerop (_q21))
   20734              :                 {
   20735            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20736              :                     {
   20737            0 :                       if (integer_zerop (_p2))
   20738              :                         {
   20739            0 :                           {
   20740            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20741            0 :                             tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   20742            0 :                             if (res) return res;
   20743              :                           }
   20744              :                         }
   20745              :                     }
   20746              :                 }
   20747              :               break;
   20748              :             }
   20749              :           default:;
   20750              :           }
   20751              :         break;
   20752              :       }
   20753       553419 :     case GE_EXPR:
   20754       553419 :       {
   20755       553419 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20756       553419 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20757       553419 :         switch (TREE_CODE (_q20))
   20758              :           {
   20759        61704 :           CASE_CONVERT:
   20760        61704 :             {
   20761        61704 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20762        61704 :               if (zerop (_q21))
   20763              :                 {
   20764        30706 :                   switch (TREE_CODE (_p2))
   20765              :                     {
   20766           13 :                     case NEGATE_EXPR:
   20767           13 :                       {
   20768           13 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20769           13 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20770              :                           {
   20771           13 :                             {
   20772           13 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20773           13 :                               const enum tree_code cmp = GE_EXPR;
   20774           13 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20775           13 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20776            0 :  && element_precision (captures[1])
   20777            0 :  <= element_precision (captures[0])
   20778            0 :  && bitwise_equal_p (captures[1], captures[2])
   20779           13 :  && (!VECTOR_TYPE_P (type)
   20780            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20781              : )
   20782              :                                 {
   20783            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20784              : )
   20785              :                                     {
   20786            0 :                                       {
   20787            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20788            0 :                                           if (types_match (captures[0], stype)
   20789              : )
   20790              :                                             {
   20791            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1882;
   20792            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1882;
   20793            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
   20794            0 :                                               {
   20795            0 :                                                 tree res_op0;
   20796            0 :                                                 res_op0 = captures[0];
   20797            0 :                                                 tree _r;
   20798            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20799            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   20800            0 :                                                 return _r;
   20801              :                                               }
   20802           13 : next_after_fail1882:;
   20803              :                                             }
   20804              :                                           else
   20805              :                                             {
   20806            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1883;
   20807            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1883;
   20808            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
   20809            0 :                                               {
   20810            0 :                                                 tree res_op0;
   20811            0 :                                                 {
   20812            0 :                                                   tree _o1[1], _r1;
   20813            0 :                                                   _o1[0] = captures[2];
   20814            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20815              :                                                     {
   20816            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20817              :                                                     }
   20818              :                                                   else
   20819              :                                                     _r1 = _o1[0];
   20820            0 :                                                   res_op0 = _r1;
   20821              :                                                 }
   20822            0 :                                                 tree _r;
   20823            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20824            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   20825            0 :                                                 return _r;
   20826              :                                               }
   20827           13 : next_after_fail1883:;
   20828              :                                             }
   20829              :                                       }
   20830              :                                     }
   20831              :                                   else
   20832              :                                     {
   20833            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1884;
   20834            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1884;
   20835            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
   20836            0 :                                       {
   20837            0 :                                         tree res_op0;
   20838            0 :                                         res_op0 = captures[2];
   20839            0 :                                         tree _r;
   20840            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20841            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   20842            0 :                                         return _r;
   20843              :                                       }
   20844           13 : next_after_fail1884:;
   20845              :                                     }
   20846              :                                 }
   20847              :                             }
   20848              :                           }
   20849              :                         break;
   20850              :                       }
   20851              :                     default:;
   20852              :                     }
   20853              :                 }
   20854              :               break;
   20855              :             }
   20856       553419 :           default:;
   20857              :           }
   20858       553419 :         if (zerop (_q21))
   20859              :           {
   20860       151836 :             switch (TREE_CODE (_p2))
   20861              :               {
   20862        32323 :               case NEGATE_EXPR:
   20863        32323 :                 {
   20864        32323 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20865        32323 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20866              :                     {
   20867        32317 :                       {
   20868        32317 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20869        32317 :                         const enum tree_code cmp = GE_EXPR;
   20870        32317 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20871        32309 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20872        64618 :  && element_precision (captures[1])
   20873        32309 :  <= element_precision (captures[0])
   20874        32309 :  && bitwise_equal_p (captures[1], captures[2])
   20875        64528 :  && (!VECTOR_TYPE_P (type)
   20876            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20877              : )
   20878              :                           {
   20879        32211 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20880              : )
   20881              :                               {
   20882           46 :                                 {
   20883           46 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20884           46 :                                     if (types_match (captures[0], stype)
   20885              : )
   20886              :                                       {
   20887           13 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1885;
   20888           13 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1885;
   20889           13 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
   20890           13 :                                         {
   20891           13 :                                           tree res_op0;
   20892           13 :                                           res_op0 = captures[0];
   20893           13 :                                           tree _r;
   20894           13 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20895           13 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   20896           13 :                                           return _r;
   20897              :                                         }
   20898          106 : next_after_fail1885:;
   20899              :                                       }
   20900              :                                     else
   20901              :                                       {
   20902           33 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1886;
   20903           33 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1886;
   20904           33 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
   20905           33 :                                         {
   20906           33 :                                           tree res_op0;
   20907           33 :                                           {
   20908           33 :                                             tree _o1[1], _r1;
   20909           33 :                                             _o1[0] = captures[2];
   20910           33 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20911              :                                               {
   20912           33 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20913              :                                               }
   20914              :                                             else
   20915              :                                               _r1 = _o1[0];
   20916           33 :                                             res_op0 = _r1;
   20917              :                                           }
   20918           33 :                                           tree _r;
   20919           33 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20920           33 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   20921           33 :                                           return _r;
   20922              :                                         }
   20923          106 : next_after_fail1886:;
   20924              :                                       }
   20925              :                                 }
   20926              :                               }
   20927              :                             else
   20928              :                               {
   20929        32165 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1887;
   20930        32165 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1887;
   20931        32165 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
   20932        32165 :                                 {
   20933        32165 :                                   tree res_op0;
   20934        32165 :                                   res_op0 = captures[2];
   20935        32165 :                                   tree _r;
   20936        32165 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20937        32165 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   20938        32165 :                                   return _r;
   20939              :                                 }
   20940          106 : next_after_fail1887:;
   20941              :                               }
   20942              :                           }
   20943              :                       }
   20944              :                     }
   20945              :                   break;
   20946              :                 }
   20947              :               default:;
   20948              :               }
   20949              :           }
   20950       521208 :         switch (TREE_CODE (_q20))
   20951              :           {
   20952        31947 :           case MINUS_EXPR:
   20953        31947 :             {
   20954        31947 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20955        31947 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20956        31947 :               if (zerop (_q21))
   20957              :                 {
   20958        31159 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20959              :                     {
   20960            1 :                       switch (TREE_CODE (_p2))
   20961              :                         {
   20962            1 :                         case MINUS_EXPR:
   20963            1 :                           {
   20964            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20965            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20966            1 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20967              :                               {
   20968            1 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20969              :                                   {
   20970            1 :                                     {
   20971            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20972            1 :                                       const enum tree_code cmp = GE_EXPR;
   20973            1 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20974            1 :  && !TYPE_UNSIGNED (type)
   20975            2 :  && (!VECTOR_TYPE_P (type)
   20976            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20977              : )
   20978              :                                         {
   20979            1 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1888;
   20980            1 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1888;
   20981            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1888;
   20982            1 :                                           {
   20983            1 :                                             tree res_op0;
   20984            1 :                                             res_op0 = captures[0];
   20985            1 :                                             tree _r;
   20986            1 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20987            1 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   20988            1 :                                             return _r;
   20989              :                                           }
   20990            0 : next_after_fail1888:;
   20991              :                                         }
   20992              :                                     }
   20993              :                                   }
   20994              :                               }
   20995              :                             break;
   20996              :                           }
   20997              :                         default:;
   20998              :                         }
   20999              :                     }
   21000              :                 }
   21001              :               break;
   21002              :             }
   21003       521207 :           default:;
   21004              :           }
   21005       521207 :         if (integer_zerop (_q21))
   21006              :           {
   21007       119073 :             switch (TREE_CODE (_p1))
   21008              :               {
   21009           65 :               case BIT_NOT_EXPR:
   21010           65 :                 {
   21011           65 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   21012           65 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   21013              :                     {
   21014            9 :                       {
   21015            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   21016            9 :                         tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   21017            9 :                         if (res) return res;
   21018              :                       }
   21019              :                     }
   21020              :                   break;
   21021              :                 }
   21022       119064 :               default:;
   21023              :               }
   21024       119064 :             switch (TREE_CODE (_p2))
   21025              :               {
   21026           34 :               case BIT_NOT_EXPR:
   21027           34 :                 {
   21028           34 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21029           34 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21030              :                     {
   21031            9 :                       {
   21032            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21033            9 :                         tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   21034            9 :                         if (res) return res;
   21035              :                       }
   21036              :                     }
   21037              :                   break;
   21038              :                 }
   21039              :               default:;
   21040              :               }
   21041              :           }
   21042              :         break;
   21043              :       }
   21044       919989 :     case GT_EXPR:
   21045       919989 :       {
   21046       919989 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21047       919989 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21048       919989 :         switch (TREE_CODE (_q20))
   21049              :           {
   21050        89571 :           CASE_CONVERT:
   21051        89571 :             {
   21052        89571 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21053        89571 :               if (zerop (_q21))
   21054              :                 {
   21055         1484 :                   switch (TREE_CODE (_p2))
   21056              :                     {
   21057            4 :                     case NEGATE_EXPR:
   21058            4 :                       {
   21059            4 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21060            4 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21061              :                           {
   21062            0 :                             {
   21063            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21064            0 :                               const enum tree_code cmp = GT_EXPR;
   21065            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21066            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21067            0 :  && element_precision (captures[1])
   21068            0 :  <= element_precision (captures[0])
   21069            0 :  && bitwise_equal_p (captures[1], captures[2])
   21070            0 :  && (!VECTOR_TYPE_P (type)
   21071            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21072              : )
   21073              :                                 {
   21074            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21075              : )
   21076              :                                     {
   21077            0 :                                       {
   21078            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21079            0 :                                           if (types_match (captures[0], stype)
   21080              : )
   21081              :                                             {
   21082            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1889;
   21083            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1889;
   21084            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1889;
   21085            0 :                                               {
   21086            0 :                                                 tree res_op0;
   21087            0 :                                                 res_op0 = captures[0];
   21088            0 :                                                 tree _r;
   21089            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21090            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   21091            0 :                                                 return _r;
   21092              :                                               }
   21093            0 : next_after_fail1889:;
   21094              :                                             }
   21095              :                                           else
   21096              :                                             {
   21097            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1890;
   21098            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1890;
   21099            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1890;
   21100            0 :                                               {
   21101            0 :                                                 tree res_op0;
   21102            0 :                                                 {
   21103            0 :                                                   tree _o1[1], _r1;
   21104            0 :                                                   _o1[0] = captures[2];
   21105            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   21106              :                                                     {
   21107            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   21108              :                                                     }
   21109              :                                                   else
   21110              :                                                     _r1 = _o1[0];
   21111            0 :                                                   res_op0 = _r1;
   21112              :                                                 }
   21113            0 :                                                 tree _r;
   21114            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21115            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21116            0 :                                                 return _r;
   21117              :                                               }
   21118            0 : next_after_fail1890:;
   21119              :                                             }
   21120              :                                       }
   21121              :                                     }
   21122              :                                   else
   21123              :                                     {
   21124            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1891;
   21125            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1891;
   21126            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
   21127            0 :                                       {
   21128            0 :                                         tree res_op0;
   21129            0 :                                         res_op0 = captures[2];
   21130            0 :                                         tree _r;
   21131            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21132            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   21133            0 :                                         return _r;
   21134              :                                       }
   21135            0 : next_after_fail1891:;
   21136              :                                     }
   21137              :                                 }
   21138              :                             }
   21139              :                           }
   21140              :                         break;
   21141              :                       }
   21142              :                     default:;
   21143              :                     }
   21144              :                 }
   21145              :               break;
   21146              :             }
   21147       919989 :           default:;
   21148              :           }
   21149       919989 :         if (zerop (_q21))
   21150              :           {
   21151       204657 :             switch (TREE_CODE (_p2))
   21152              :               {
   21153          295 :               case NEGATE_EXPR:
   21154          295 :                 {
   21155          295 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21156          295 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21157              :                     {
   21158          147 :                       {
   21159          147 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21160          147 :                         const enum tree_code cmp = GT_EXPR;
   21161          147 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21162          115 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21163          230 :  && element_precision (captures[1])
   21164          115 :  <= element_precision (captures[0])
   21165          115 :  && bitwise_equal_p (captures[1], captures[2])
   21166          257 :  && (!VECTOR_TYPE_P (type)
   21167            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21168              : )
   21169              :                           {
   21170          110 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21171              : )
   21172              :                               {
   21173            0 :                                 {
   21174            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21175            0 :                                     if (types_match (captures[0], stype)
   21176              : )
   21177              :                                       {
   21178            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1892;
   21179            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1892;
   21180            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
   21181            0 :                                         {
   21182            0 :                                           tree res_op0;
   21183            0 :                                           res_op0 = captures[0];
   21184            0 :                                           tree _r;
   21185            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21186            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   21187            0 :                                           return _r;
   21188              :                                         }
   21189           37 : next_after_fail1892:;
   21190              :                                       }
   21191              :                                     else
   21192              :                                       {
   21193            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1893;
   21194            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1893;
   21195            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
   21196            0 :                                         {
   21197            0 :                                           tree res_op0;
   21198            0 :                                           {
   21199            0 :                                             tree _o1[1], _r1;
   21200            0 :                                             _o1[0] = captures[2];
   21201            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   21202              :                                               {
   21203            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   21204              :                                               }
   21205              :                                             else
   21206              :                                               _r1 = _o1[0];
   21207            0 :                                             res_op0 = _r1;
   21208              :                                           }
   21209            0 :                                           tree _r;
   21210            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21211            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21212            0 :                                           return _r;
   21213              :                                         }
   21214           37 : next_after_fail1893:;
   21215              :                                       }
   21216              :                                 }
   21217              :                               }
   21218              :                             else
   21219              :                               {
   21220          110 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1894;
   21221          110 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1894;
   21222          110 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
   21223          110 :                                 {
   21224          110 :                                   tree res_op0;
   21225          110 :                                   res_op0 = captures[2];
   21226          110 :                                   tree _r;
   21227          110 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21228          110 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   21229          110 :                                   return _r;
   21230              :                                 }
   21231           37 : next_after_fail1894:;
   21232              :                               }
   21233              :                           }
   21234              :                       }
   21235              :                     }
   21236              :                   break;
   21237              :                 }
   21238              :               default:;
   21239              :               }
   21240              :           }
   21241       919879 :         switch (TREE_CODE (_q20))
   21242              :           {
   21243         1068 :           case MINUS_EXPR:
   21244         1068 :             {
   21245         1068 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21246         1068 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21247         1068 :               if (zerop (_q21))
   21248              :                 {
   21249          160 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21250              :                     {
   21251           15 :                       switch (TREE_CODE (_p2))
   21252              :                         {
   21253            9 :                         case MINUS_EXPR:
   21254            9 :                           {
   21255            9 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21256            9 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21257            9 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21258              :                               {
   21259            9 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21260              :                                   {
   21261            9 :                                     {
   21262            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21263            9 :                                       const enum tree_code cmp = GT_EXPR;
   21264            9 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21265            9 :  && !TYPE_UNSIGNED (type)
   21266           18 :  && (!VECTOR_TYPE_P (type)
   21267            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21268              : )
   21269              :                                         {
   21270            9 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1895;
   21271            9 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1895;
   21272            9 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
   21273            9 :                                           {
   21274            9 :                                             tree res_op0;
   21275            9 :                                             res_op0 = captures[0];
   21276            9 :                                             tree _r;
   21277            9 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21278            9 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   21279            9 :                                             return _r;
   21280              :                                           }
   21281            0 : next_after_fail1895:;
   21282              :                                         }
   21283              :                                     }
   21284              :                                   }
   21285              :                               }
   21286              :                             break;
   21287              :                           }
   21288              :                         default:;
   21289              :                         }
   21290              :                     }
   21291              :                 }
   21292              :               break;
   21293              :             }
   21294              :           default:;
   21295              :           }
   21296              :         break;
   21297              :       }
   21298      1405993 :     case LE_EXPR:
   21299      1405993 :       {
   21300      1405993 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21301      1405993 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21302      1405993 :         switch (TREE_CODE (_q20))
   21303              :           {
   21304       141827 :           CASE_CONVERT:
   21305       141827 :             {
   21306       141827 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21307       141827 :               if (zerop (_q21))
   21308              :                 {
   21309         1240 :                   switch (TREE_CODE (_p2))
   21310              :                     {
   21311            0 :                     case NEGATE_EXPR:
   21312            0 :                       {
   21313            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21314            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21315              :                           {
   21316            0 :                             {
   21317            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21318            0 :                               const enum tree_code cmp = LE_EXPR;
   21319            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21320            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21321            0 :  && element_precision (captures[1])
   21322            0 :  <= element_precision (captures[0])
   21323            0 :  && bitwise_equal_p (captures[1], captures[2])
   21324            0 :  && (!VECTOR_TYPE_P (type)
   21325            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21326            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21327              : )
   21328              :                                 {
   21329            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21330            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21331            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21332              : )
   21333              :                                     {
   21334            0 :                                       {
   21335            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21336            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21337            0 :                                           if (types_match (captures[0], stype)
   21338              : )
   21339              :                                             {
   21340            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1896;
   21341            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1896;
   21342            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
   21343            0 :                                               {
   21344            0 :                                                 tree res_op0;
   21345            0 :                                                 {
   21346            0 :                                                   tree _o1[1], _r1;
   21347            0 :                                                   {
   21348            0 :                                                     tree _o2[1], _r2;
   21349            0 :                                                     _o2[0] = captures[0];
   21350            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21351            0 :                                                     _o1[0] = _r2;
   21352              :                                                   }
   21353            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21354            0 :                                                   res_op0 = _r1;
   21355              :                                                 }
   21356            0 :                                                 tree _r;
   21357            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21358            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   21359            0 :                                                 return _r;
   21360              :                                               }
   21361            0 : next_after_fail1896:;
   21362              :                                             }
   21363              :                                           else
   21364              :                                             {
   21365            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1897;
   21366            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1897;
   21367            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   21368            0 :                                               {
   21369            0 :                                                 tree res_op0;
   21370            0 :                                                 {
   21371            0 :                                                   tree _o1[1], _r1;
   21372            0 :                                                   {
   21373            0 :                                                     tree _o2[1], _r2;
   21374            0 :                                                     {
   21375            0 :                                                       tree _o3[1], _r3;
   21376            0 :                                                       _o3[0] = captures[2];
   21377            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21378              :                                                         {
   21379            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21380              :                                                         }
   21381              :                                                       else
   21382              :                                                         _r3 = _o3[0];
   21383            0 :                                                       _o2[0] = _r3;
   21384              :                                                     }
   21385            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21386            0 :                                                     _o1[0] = _r2;
   21387              :                                                   }
   21388            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21389            0 :                                                   res_op0 = _r1;
   21390              :                                                 }
   21391            0 :                                                 tree _r;
   21392            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21393            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   21394            0 :                                                 return _r;
   21395              :                                               }
   21396            0 : next_after_fail1897:;
   21397              :                                             }
   21398              :                                       }
   21399              :                                     }
   21400              :                                   else
   21401              :                                     {
   21402            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1898;
   21403            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1898;
   21404            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   21405            0 :                                       {
   21406            0 :                                         tree res_op0;
   21407            0 :                                         {
   21408            0 :                                           tree _o1[1], _r1;
   21409            0 :                                           {
   21410            0 :                                             tree _o2[1], _r2;
   21411            0 :                                             _o2[0] = captures[2];
   21412            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21413            0 :                                             _o1[0] = _r2;
   21414              :                                           }
   21415            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21416            0 :                                           res_op0 = _r1;
   21417              :                                         }
   21418            0 :                                         tree _r;
   21419            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21420            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   21421            0 :                                         return _r;
   21422              :                                       }
   21423            0 : next_after_fail1898:;
   21424              :                                     }
   21425              :                                 }
   21426              :                             }
   21427              :                           }
   21428              :                         break;
   21429              :                       }
   21430              :                     default:;
   21431              :                     }
   21432              :                 }
   21433              :               break;
   21434              :             }
   21435      1405993 :           default:;
   21436              :           }
   21437      1405993 :         if (zerop (_q21))
   21438              :           {
   21439       126230 :             switch (TREE_CODE (_p2))
   21440              :               {
   21441            7 :               case NEGATE_EXPR:
   21442            7 :                 {
   21443            7 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21444            7 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21445              :                     {
   21446            7 :                       {
   21447            7 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21448            7 :                         const enum tree_code cmp = LE_EXPR;
   21449            7 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21450            7 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21451           14 :  && element_precision (captures[1])
   21452            7 :  <= element_precision (captures[0])
   21453            7 :  && bitwise_equal_p (captures[1], captures[2])
   21454           14 :  && (!VECTOR_TYPE_P (type)
   21455            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21456            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21457              : )
   21458              :                           {
   21459           14 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21460            7 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21461            7 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21462              : )
   21463              :                               {
   21464            7 :                                 {
   21465            7 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21466            7 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21467            7 :                                     if (types_match (captures[0], stype)
   21468              : )
   21469              :                                       {
   21470            7 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1899;
   21471            7 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1899;
   21472            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   21473            7 :                                         {
   21474            7 :                                           tree res_op0;
   21475            7 :                                           {
   21476            7 :                                             tree _o1[1], _r1;
   21477            7 :                                             {
   21478            7 :                                               tree _o2[1], _r2;
   21479            7 :                                               _o2[0] = captures[0];
   21480            7 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21481            7 :                                               _o1[0] = _r2;
   21482              :                                             }
   21483            7 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21484            7 :                                             res_op0 = _r1;
   21485              :                                           }
   21486            7 :                                           tree _r;
   21487            7 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21488            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   21489            7 :                                           return _r;
   21490              :                                         }
   21491            0 : next_after_fail1899:;
   21492              :                                       }
   21493              :                                     else
   21494              :                                       {
   21495            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1900;
   21496            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1900;
   21497            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   21498            0 :                                         {
   21499            0 :                                           tree res_op0;
   21500            0 :                                           {
   21501            0 :                                             tree _o1[1], _r1;
   21502            0 :                                             {
   21503            0 :                                               tree _o2[1], _r2;
   21504            0 :                                               {
   21505            0 :                                                 tree _o3[1], _r3;
   21506            0 :                                                 _o3[0] = captures[2];
   21507            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21508              :                                                   {
   21509            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21510              :                                                   }
   21511              :                                                 else
   21512              :                                                   _r3 = _o3[0];
   21513            0 :                                                 _o2[0] = _r3;
   21514              :                                               }
   21515            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21516            0 :                                               _o1[0] = _r2;
   21517              :                                             }
   21518            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21519            0 :                                             res_op0 = _r1;
   21520              :                                           }
   21521            0 :                                           tree _r;
   21522            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21523            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   21524            0 :                                           return _r;
   21525              :                                         }
   21526            0 : next_after_fail1900:;
   21527              :                                       }
   21528              :                                 }
   21529              :                               }
   21530              :                             else
   21531              :                               {
   21532            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1901;
   21533            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1901;
   21534            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   21535            0 :                                 {
   21536            0 :                                   tree res_op0;
   21537            0 :                                   {
   21538            0 :                                     tree _o1[1], _r1;
   21539            0 :                                     {
   21540            0 :                                       tree _o2[1], _r2;
   21541            0 :                                       _o2[0] = captures[2];
   21542            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21543            0 :                                       _o1[0] = _r2;
   21544              :                                     }
   21545            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21546            0 :                                     res_op0 = _r1;
   21547              :                                   }
   21548            0 :                                   tree _r;
   21549            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21550            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   21551            0 :                                   return _r;
   21552              :                                 }
   21553            0 : next_after_fail1901:;
   21554              :                               }
   21555              :                           }
   21556              :                       }
   21557              :                     }
   21558              :                   break;
   21559              :                 }
   21560              :               default:;
   21561              :               }
   21562              :           }
   21563      1405986 :         switch (TREE_CODE (_q20))
   21564              :           {
   21565          190 :           case MINUS_EXPR:
   21566          190 :             {
   21567          190 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21568          190 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21569          190 :               if (zerop (_q21))
   21570              :                 {
   21571          148 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21572              :                     {
   21573            0 :                       switch (TREE_CODE (_p2))
   21574              :                         {
   21575            0 :                         case MINUS_EXPR:
   21576            0 :                           {
   21577            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21578            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21579            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21580              :                               {
   21581            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21582              :                                   {
   21583            0 :                                     {
   21584            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21585            0 :                                       const enum tree_code cmp = LE_EXPR;
   21586            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21587            0 :  && !TYPE_UNSIGNED (type)
   21588              : )
   21589              :                                         {
   21590            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21591            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21592            0 :  && (!VECTOR_TYPE_P (type)
   21593            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21594            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21595              : )
   21596              :                                             {
   21597            0 :                                               {
   21598            0 :  tree utype = unsigned_type_for (type);
   21599            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1902;
   21600            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1902;
   21601            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   21602            0 :                                                   {
   21603            0 :                                                     tree res_op0;
   21604            0 :                                                     {
   21605            0 :                                                       tree _o1[1], _r1;
   21606            0 :                                                       {
   21607            0 :                                                         tree _o2[1], _r2;
   21608            0 :                                                         _o2[0] = captures[0];
   21609            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21610            0 :                                                         _o1[0] = _r2;
   21611              :                                                       }
   21612            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21613            0 :                                                       res_op0 = _r1;
   21614              :                                                     }
   21615            0 :                                                     tree _r;
   21616            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21617            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   21618            0 :                                                     return _r;
   21619              :                                                   }
   21620            0 : next_after_fail1902:;
   21621              :                                               }
   21622              :                                             }
   21623              :                                           else
   21624              :                                             {
   21625            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1903;
   21626            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1903;
   21627            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   21628            0 :                                               {
   21629            0 :                                                 tree res_op0;
   21630            0 :                                                 {
   21631            0 :                                                   tree _o1[1], _r1;
   21632            0 :                                                   _o1[0] = captures[0];
   21633            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21634            0 :                                                   res_op0 = _r1;
   21635              :                                                 }
   21636            0 :                                                 tree _r;
   21637            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21638            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   21639            0 :                                                 return _r;
   21640              :                                               }
   21641            0 : next_after_fail1903:;
   21642              :                                             }
   21643              :                                         }
   21644              :                                     }
   21645              :                                   }
   21646              :                               }
   21647              :                             break;
   21648              :                           }
   21649              :                         default:;
   21650              :                         }
   21651              :                     }
   21652              :                 }
   21653              :               break;
   21654              :             }
   21655              :           default:;
   21656              :           }
   21657              :         break;
   21658              :       }
   21659      1821322 :     case LT_EXPR:
   21660      1821322 :       {
   21661      1821322 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21662      1821322 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21663      1821322 :         switch (TREE_CODE (_q20))
   21664              :           {
   21665       101304 :           CASE_CONVERT:
   21666       101304 :             {
   21667       101304 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21668       101304 :               if (zerop (_q21))
   21669              :                 {
   21670        19256 :                   switch (TREE_CODE (_p2))
   21671              :                     {
   21672            8 :                     case NEGATE_EXPR:
   21673            8 :                       {
   21674            8 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21675            8 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21676              :                           {
   21677            0 :                             {
   21678            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21679            0 :                               const enum tree_code cmp = LT_EXPR;
   21680            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21681            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21682            0 :  && element_precision (captures[1])
   21683            0 :  <= element_precision (captures[0])
   21684            0 :  && bitwise_equal_p (captures[1], captures[2])
   21685            0 :  && (!VECTOR_TYPE_P (type)
   21686            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21687            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21688              : )
   21689              :                                 {
   21690            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21691            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21692            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21693              : )
   21694              :                                     {
   21695            0 :                                       {
   21696            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21697            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21698            0 :                                           if (types_match (captures[0], stype)
   21699              : )
   21700              :                                             {
   21701            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1904;
   21702            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1904;
   21703            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   21704            0 :                                               {
   21705            0 :                                                 tree res_op0;
   21706            0 :                                                 {
   21707            0 :                                                   tree _o1[1], _r1;
   21708            0 :                                                   {
   21709            0 :                                                     tree _o2[1], _r2;
   21710            0 :                                                     _o2[0] = captures[0];
   21711            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21712            0 :                                                     _o1[0] = _r2;
   21713              :                                                   }
   21714            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21715            0 :                                                   res_op0 = _r1;
   21716              :                                                 }
   21717            0 :                                                 tree _r;
   21718            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21719            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   21720            0 :                                                 return _r;
   21721              :                                               }
   21722            0 : next_after_fail1904:;
   21723              :                                             }
   21724              :                                           else
   21725              :                                             {
   21726            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1905;
   21727            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1905;
   21728            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   21729            0 :                                               {
   21730            0 :                                                 tree res_op0;
   21731            0 :                                                 {
   21732            0 :                                                   tree _o1[1], _r1;
   21733            0 :                                                   {
   21734            0 :                                                     tree _o2[1], _r2;
   21735            0 :                                                     {
   21736            0 :                                                       tree _o3[1], _r3;
   21737            0 :                                                       _o3[0] = captures[2];
   21738            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21739              :                                                         {
   21740            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21741              :                                                         }
   21742              :                                                       else
   21743              :                                                         _r3 = _o3[0];
   21744            0 :                                                       _o2[0] = _r3;
   21745              :                                                     }
   21746            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21747            0 :                                                     _o1[0] = _r2;
   21748              :                                                   }
   21749            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21750            0 :                                                   res_op0 = _r1;
   21751              :                                                 }
   21752            0 :                                                 tree _r;
   21753            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21754            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   21755            0 :                                                 return _r;
   21756              :                                               }
   21757            0 : next_after_fail1905:;
   21758              :                                             }
   21759              :                                       }
   21760              :                                     }
   21761              :                                   else
   21762              :                                     {
   21763            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1906;
   21764            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1906;
   21765            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   21766            0 :                                       {
   21767            0 :                                         tree res_op0;
   21768            0 :                                         {
   21769            0 :                                           tree _o1[1], _r1;
   21770            0 :                                           {
   21771            0 :                                             tree _o2[1], _r2;
   21772            0 :                                             _o2[0] = captures[2];
   21773            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21774            0 :                                             _o1[0] = _r2;
   21775              :                                           }
   21776            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21777            0 :                                           res_op0 = _r1;
   21778              :                                         }
   21779            0 :                                         tree _r;
   21780            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21781            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   21782            0 :                                         return _r;
   21783              :                                       }
   21784            0 : next_after_fail1906:;
   21785              :                                     }
   21786              :                                 }
   21787              :                             }
   21788              :                           }
   21789              :                         break;
   21790              :                       }
   21791              :                     default:;
   21792              :                     }
   21793              :                 }
   21794              :               break;
   21795              :             }
   21796      1821322 :           default:;
   21797              :           }
   21798      1821322 :         if (zerop (_q21))
   21799              :           {
   21800       384760 :             switch (TREE_CODE (_p2))
   21801              :               {
   21802           33 :               case NEGATE_EXPR:
   21803           33 :                 {
   21804           33 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21805           33 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21806              :                     {
   21807           25 :                       {
   21808           25 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21809           25 :                         const enum tree_code cmp = LT_EXPR;
   21810           25 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21811           25 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21812           50 :  && element_precision (captures[1])
   21813           25 :  <= element_precision (captures[0])
   21814           25 :  && bitwise_equal_p (captures[1], captures[2])
   21815           50 :  && (!VECTOR_TYPE_P (type)
   21816            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21817            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21818              : )
   21819              :                           {
   21820           50 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21821           25 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21822           26 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21823              : )
   21824              :                               {
   21825           24 :                                 {
   21826           24 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21827           24 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21828           24 :                                     if (types_match (captures[0], stype)
   21829              : )
   21830              :                                       {
   21831           24 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1907;
   21832           24 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1907;
   21833           24 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   21834           24 :                                         {
   21835           24 :                                           tree res_op0;
   21836           24 :                                           {
   21837           24 :                                             tree _o1[1], _r1;
   21838           24 :                                             {
   21839           24 :                                               tree _o2[1], _r2;
   21840           24 :                                               _o2[0] = captures[0];
   21841           24 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21842           24 :                                               _o1[0] = _r2;
   21843              :                                             }
   21844           24 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21845           24 :                                             res_op0 = _r1;
   21846              :                                           }
   21847           24 :                                           tree _r;
   21848           24 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21849           24 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   21850           24 :                                           return _r;
   21851              :                                         }
   21852            0 : next_after_fail1907:;
   21853              :                                       }
   21854              :                                     else
   21855              :                                       {
   21856            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1908;
   21857            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1908;
   21858            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   21859            0 :                                         {
   21860            0 :                                           tree res_op0;
   21861            0 :                                           {
   21862            0 :                                             tree _o1[1], _r1;
   21863            0 :                                             {
   21864            0 :                                               tree _o2[1], _r2;
   21865            0 :                                               {
   21866            0 :                                                 tree _o3[1], _r3;
   21867            0 :                                                 _o3[0] = captures[2];
   21868            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21869              :                                                   {
   21870            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21871              :                                                   }
   21872              :                                                 else
   21873              :                                                   _r3 = _o3[0];
   21874            0 :                                                 _o2[0] = _r3;
   21875              :                                               }
   21876            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21877            0 :                                               _o1[0] = _r2;
   21878              :                                             }
   21879            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21880            0 :                                             res_op0 = _r1;
   21881              :                                           }
   21882            0 :                                           tree _r;
   21883            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21884            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   21885            0 :                                           return _r;
   21886              :                                         }
   21887            0 : next_after_fail1908:;
   21888              :                                       }
   21889              :                                 }
   21890              :                               }
   21891              :                             else
   21892              :                               {
   21893            1 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1909;
   21894            1 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1909;
   21895            1 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   21896            1 :                                 {
   21897            1 :                                   tree res_op0;
   21898            1 :                                   {
   21899            1 :                                     tree _o1[1], _r1;
   21900            1 :                                     {
   21901            1 :                                       tree _o2[1], _r2;
   21902            1 :                                       _o2[0] = captures[2];
   21903            1 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21904            1 :                                       _o1[0] = _r2;
   21905              :                                     }
   21906            1 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21907            1 :                                     res_op0 = _r1;
   21908              :                                   }
   21909            1 :                                   tree _r;
   21910            1 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21911            1 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   21912            1 :                                   return _r;
   21913              :                                 }
   21914            0 : next_after_fail1909:;
   21915              :                               }
   21916              :                           }
   21917              :                       }
   21918              :                     }
   21919              :                   break;
   21920              :                 }
   21921              :               default:;
   21922              :               }
   21923              :           }
   21924      1821297 :         switch (TREE_CODE (_q20))
   21925              :           {
   21926        11321 :           case MINUS_EXPR:
   21927        11321 :             {
   21928        11321 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21929        11321 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21930        11321 :               if (zerop (_q21))
   21931              :                 {
   21932         7395 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21933              :                     {
   21934            0 :                       switch (TREE_CODE (_p2))
   21935              :                         {
   21936            0 :                         case MINUS_EXPR:
   21937            0 :                           {
   21938            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21939            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21940            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21941              :                               {
   21942            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21943              :                                   {
   21944            0 :                                     {
   21945            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21946            0 :                                       const enum tree_code cmp = LT_EXPR;
   21947            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21948            0 :  && !TYPE_UNSIGNED (type)
   21949              : )
   21950              :                                         {
   21951            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21952            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21953            0 :  && (!VECTOR_TYPE_P (type)
   21954            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21955            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21956              : )
   21957              :                                             {
   21958            0 :                                               {
   21959            0 :  tree utype = unsigned_type_for (type);
   21960            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1910;
   21961            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1910;
   21962            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   21963            0 :                                                   {
   21964            0 :                                                     tree res_op0;
   21965            0 :                                                     {
   21966            0 :                                                       tree _o1[1], _r1;
   21967            0 :                                                       {
   21968            0 :                                                         tree _o2[1], _r2;
   21969            0 :                                                         _o2[0] = captures[0];
   21970            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21971            0 :                                                         _o1[0] = _r2;
   21972              :                                                       }
   21973            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21974            0 :                                                       res_op0 = _r1;
   21975              :                                                     }
   21976            0 :                                                     tree _r;
   21977            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21978            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   21979            0 :                                                     return _r;
   21980              :                                                   }
   21981            0 : next_after_fail1910:;
   21982              :                                               }
   21983              :                                             }
   21984              :                                           else
   21985              :                                             {
   21986            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1911;
   21987            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1911;
   21988            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   21989            0 :                                               {
   21990            0 :                                                 tree res_op0;
   21991            0 :                                                 {
   21992            0 :                                                   tree _o1[1], _r1;
   21993            0 :                                                   _o1[0] = captures[0];
   21994            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21995            0 :                                                   res_op0 = _r1;
   21996              :                                                 }
   21997            0 :                                                 tree _r;
   21998            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21999            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   22000            0 :                                                 return _r;
   22001              :                                               }
   22002            0 : next_after_fail1911:;
   22003              :                                             }
   22004              :                                         }
   22005              :                                     }
   22006              :                                   }
   22007              :                               }
   22008              :                             break;
   22009              :                           }
   22010              :                         default:;
   22011              :                         }
   22012              :                     }
   22013              :                 }
   22014              :               break;
   22015              :             }
   22016      1821297 :           default:;
   22017              :           }
   22018      1821297 :         if (integer_zerop (_q21))
   22019              :           {
   22020       327385 :             switch (TREE_CODE (_p1))
   22021              :               {
   22022           25 :               case BIT_NOT_EXPR:
   22023           25 :                 {
   22024           25 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   22025           25 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   22026              :                     {
   22027           13 :                       {
   22028           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   22029           13 :                         tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   22030           13 :                         if (res) return res;
   22031              :                       }
   22032              :                     }
   22033              :                   break;
   22034              :                 }
   22035       327372 :               default:;
   22036              :               }
   22037       327372 :             switch (TREE_CODE (_p2))
   22038              :               {
   22039            8 :               case BIT_NOT_EXPR:
   22040            8 :                 {
   22041            8 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   22042            8 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   22043              :                     {
   22044            8 :                       {
   22045            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   22046            8 :                         tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   22047            8 :                         if (res) return res;
   22048              :                       }
   22049              :                     }
   22050              :                   break;
   22051              :                 }
   22052       327364 :               default:;
   22053              :               }
   22054       327364 :             switch (TREE_CODE (_p1))
   22055              :               {
   22056       290172 :               case INTEGER_CST:
   22057       290172 :                 {
   22058       290172 :                   if (integer_zerop (_p2))
   22059              :                     {
   22060         8888 :                       {
   22061         8888 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   22062         8888 :                         if (integer_pow2p (captures[1])
   22063         8888 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   22064              : )
   22065              :                           {
   22066         8623 :                             {
   22067         8623 :  int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
   22068         8623 :                                 if (shift >= 0
   22069              : )
   22070              :                                   {
   22071         8608 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1912;
   22072         8608 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1912;
   22073         8608 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1912;
   22074         8608 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   22075         8608 :                                     {
   22076         8608 :                                       tree res_op0;
   22077         8608 :                                       {
   22078         8608 :                                         tree _o1[1], _r1;
   22079         8608 :                                         {
   22080         8608 :                                           tree _o2[2], _r2;
   22081         8608 :                                           _o2[0] = captures[0];
   22082         8608 :                                           _o2[1] =  build_int_cst (integer_type_node, shift);
   22083         8608 :                                           _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   22084         8608 :                                           _o1[0] = _r2;
   22085              :                                         }
   22086         8608 :                                         if (TREE_TYPE (_o1[0]) != type)
   22087              :                                           {
   22088         8583 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   22089              :                                           }
   22090              :                                         else
   22091              :                                           _r1 = _o1[0];
   22092         8608 :                                         res_op0 = _r1;
   22093              :                                       }
   22094         8608 :                                       tree res_op1;
   22095         8608 :                                       res_op1 = captures[1];
   22096         8608 :                                       tree _r;
   22097         8608 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   22098         8608 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
   22099         8623 :                                       return _r;
   22100              :                                     }
   22101              : next_after_fail1912:;
   22102              :                                   }
   22103              :                                 else
   22104              :                                   {
   22105           15 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   22106           15 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1913;
   22107           15 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1913;
   22108           15 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   22109           15 :                                     {
   22110           15 :                                       tree res_op0;
   22111           15 :                                       {
   22112           15 :                                         tree _o1[1], _r1;
   22113           15 :                                         _o1[0] = captures[0];
   22114           15 :                                         if (TREE_TYPE (_o1[0]) != type)
   22115              :                                           {
   22116           15 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   22117              :                                           }
   22118              :                                         else
   22119              :                                           _r1 = _o1[0];
   22120           15 :                                         res_op0 = _r1;
   22121              :                                       }
   22122           15 :                                       tree res_op1;
   22123           15 :                                       res_op1 = captures[1];
   22124           15 :                                       tree _r;
   22125           15 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   22126           15 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   22127           15 :                                       return _r;
   22128              :                                     }
   22129              : next_after_fail1913:;
   22130              :                                   }
   22131              :                             }
   22132              :                           }
   22133              :                       }
   22134              :                     }
   22135              :                   break;
   22136              :                 }
   22137              :               default:;
   22138              :               }
   22139              :           }
   22140              :         break;
   22141              :       }
   22142     12074556 :     default:;
   22143              :     }
   22144     12074556 : {
   22145     12074556 :   tree _p0_pops[1];
   22146     12074556 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   22147              :     {
   22148       494864 :       tree _q20 = _p0_pops[0];
   22149       494864 :       if (tree_truth_valued_p (_q20))
   22150              :         {
   22151         4464 :           {
   22152         4464 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   22153         8928 :             if (COND_EXPR == VEC_COND_EXPR
   22154         4464 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   22155              : )
   22156              :               {
   22157         3150 :                 if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1914;
   22158           46 :                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1914;
   22159           37 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   22160           37 :                 {
   22161           37 :                   tree res_op0;
   22162           37 :                   res_op0 = captures[0];
   22163           37 :                   tree res_op1;
   22164           37 :                   res_op1 = captures[2];
   22165           37 :                   tree res_op2;
   22166           37 :                   res_op2 = captures[1];
   22167           37 :                   tree _r;
   22168           37 :                   _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   22169           37 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   22170           37 :                   return _r;
   22171              :                 }
   22172         4427 : next_after_fail1914:;
   22173              :               }
   22174              :           }
   22175              :         }
   22176              :     }
   22177              : }
   22178     12074519 :   return NULL_TREE;
   22179              : }
   22180              : #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.