LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-9.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 48.8 % 11805 5760
Test Date: 2026-06-20 15:32:29 Functions: 62.1 % 87 54
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    113151286 : tree_bit_not_with_nop (tree t, tree *res_ops)
      11              : {
      12    113151286 :   const tree type = TREE_TYPE (t);
      13    113151286 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    113151286 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    113151286 :   switch (TREE_CODE (t))
      16              :     {
      17       146205 :     case BIT_NOT_EXPR:
      18       146205 :       {
      19       146205 :         tree _p0 = TREE_OPERAND (t, 0);
      20       146205 :         {
      21       146205 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22       146205 :           {
      23       146205 :             res_ops[0] = captures[0];
      24       146205 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 2, __FILE__, __LINE__, false);
      25              :             return true;
      26              :           }
      27              :         }
      28     24273369 :         break;
      29              :       }
      30     24273369 :     CASE_CONVERT:
      31     24273369 :       {
      32     24273369 :         tree _p0 = TREE_OPERAND (t, 0);
      33     24273369 :         switch (TREE_CODE (_p0))
      34              :           {
      35         1100 :           case BIT_NOT_EXPR:
      36         1100 :             {
      37         1100 :               tree _q20 = TREE_OPERAND (_p0, 0);
      38         1100 :               {
      39         1100 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
      40         1100 :                 if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      41              : )
      42              :                   {
      43          615 :                     {
      44          615 :                       res_ops[0] = captures[0];
      45          615 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 3, __FILE__, __LINE__, false);
      46          615 :                       return true;
      47              :                     }
      48              :                   }
      49              :               }
      50              :               break;
      51              :             }
      52              :           default:;
      53              :           }
      54              :         break;
      55              :       }
      56              :     default:;
      57              :     }
      58              :   return false;
      59              : }
      60              : 
      61              : bool
      62     83769116 : tree_with_known_nonzero_bits_1 (tree t)
      63              : {
      64     83769116 :   const tree type = TREE_TYPE (t);
      65     83769116 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      66     83769116 :   if (TREE_SIDE_EFFECTS (t)) return false;
      67     83769116 :   switch (TREE_CODE (t))
      68              :     {
      69     20257336 :     case INTEGER_CST:
      70     20257336 :       {
      71     20257336 :         {
      72     20257336 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      73     20257336 :           {
      74     20257336 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 37, __FILE__, __LINE__, false);
      75     20257336 :             return true;
      76              :           }
      77              :         }
      78     27191167 :         break;
      79              :       }
      80     27191167 :     case SSA_NAME:
      81     27191167 :       {
      82     27191167 :         {
      83     27191167 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      84     27191167 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
      85              : )
      86              :             {
      87     19288757 :               {
      88     19288757 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 38, __FILE__, __LINE__, false);
      89     19288757 :                 return true;
      90              :               }
      91              :             }
      92              :         }
      93              :         break;
      94              :       }
      95              :     default:;
      96              :     }
      97              :   return false;
      98              : }
      99              : 
     100              : bool
     101            0 : tree_compositional_complex (tree t)
     102              : {
     103            0 :   const tree type = TREE_TYPE (t);
     104            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     105            0 :   if (TREE_SIDE_EFFECTS (t)) return false;
     106            0 :   switch (TREE_CODE (t))
     107              :     {
     108            0 :     CASE_CONVERT:
     109            0 :       {
     110            0 :         tree _p0 = TREE_OPERAND (t, 0);
     111            0 :         switch (TREE_CODE (_p0))
     112              :           {
     113            0 :           case COMPLEX_EXPR:
     114            0 :             {
     115            0 :               tree _q20 = TREE_OPERAND (_p0, 0);
     116            0 :               tree _q21 = TREE_OPERAND (_p0, 1);
     117            0 :               {
     118            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
     119            0 :                 {
     120            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 43, __FILE__, __LINE__, false);
     121            0 :                   return true;
     122              :                 }
     123              :               }
     124              :               break;
     125              :             }
     126              :           default:;
     127              :           }
     128              :         break;
     129              :       }
     130            0 :     case COMPLEX_EXPR:
     131            0 :       {
     132            0 :         tree _p0 = TREE_OPERAND (t, 0);
     133            0 :         tree _p1 = TREE_OPERAND (t, 1);
     134            0 :         {
     135            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     136            0 :           {
     137            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 43, __FILE__, __LINE__, false);
     138            0 :             return true;
     139              :           }
     140              :         }
     141              :         break;
     142              :       }
     143              :     default:;
     144              :     }
     145              :   return false;
     146              : }
     147              : 
     148              : tree
     149            0 : generic_simplify_10 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     150              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     151              :  const enum tree_code ARG_UNUSED (bit_op))
     152              : {
     153            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     154            0 :   if (bit_op == BIT_AND_EXPR
     155              : )
     156              :     {
     157            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail83;
     158            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail83;
     159            0 :       {
     160            0 :         tree _r;
     161            0 :         _r =  build_zero_cst (type);
     162            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 58, __FILE__, __LINE__, true);
     163            0 :         return _r;
     164              :       }
     165              : next_after_fail83:;
     166              :     }
     167              :   else
     168              :     {
     169            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail84;
     170            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail84;
     171            0 :       {
     172            0 :         tree _r;
     173            0 :         _r =  build_minus_one_cst (type);
     174            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 59, __FILE__, __LINE__, true);
     175            0 :         return _r;
     176              :       }
     177              : next_after_fail84:;
     178              :     }
     179              :   return NULL_TREE;
     180              : }
     181              : 
     182              : tree
     183          608 : generic_simplify_19 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     184              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     185              : {
     186          608 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     187          608 :   if (bitwise_equal_p (captures[0], captures[2])
     188              : )
     189              :     {
     190           88 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail94;
     191           88 :       {
     192           88 :         tree res_op0;
     193           88 :         {
     194           88 :           tree _o1[1], _r1;
     195           88 :           {
     196           88 :             tree _o2[2], _r2;
     197           88 :             _o2[0] = captures[0];
     198           88 :             {
     199           88 :               tree _o3[1], _r3;
     200           88 :               _o3[0] = captures[1];
     201           88 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     202              :                 {
     203            8 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     204              :                 }
     205              :               else
     206              :                 _r3 = _o3[0];
     207           88 :               _o2[1] = _r3;
     208              :             }
     209           88 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     210           88 :             _o1[0] = _r2;
     211              :           }
     212           88 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     213           88 :           res_op0 = _r1;
     214              :         }
     215           88 :         tree _r;
     216           88 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     217           88 :         if (TREE_SIDE_EFFECTS (captures[2]))
     218            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     219           88 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 67, __FILE__, __LINE__, true);
     220           88 :         return _r;
     221              :       }
     222            0 : next_after_fail94:;
     223              :     }
     224              :   return NULL_TREE;
     225              : }
     226              : 
     227              : tree
     228      3083441 : generic_simplify_33 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     229              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     230              :  const enum tree_code ARG_UNUSED (bitop))
     231              : {
     232      3083441 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     233      3083441 :   if (((TREE_CODE (captures[3]) == INTEGER_CST
     234       922135 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     235       741026 :  && (int_fits_type_p (captures[3], TREE_TYPE (captures[1]))
     236        11101 :  || tree_nop_conversion_p (TREE_TYPE (captures[1]), type)))
     237      2351255 :  || types_match (captures[1], captures[3]))
     238      1142970 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
     239      1142970 :  && !VECTOR_TYPE_P (TREE_TYPE (captures[1]))
     240      1142878 :  && TREE_CODE (TREE_TYPE (captures[1])) != OFFSET_TYPE
     241      1142878 :  && (bitop != BIT_AND_EXPR ||
     242              : 
     243              : )
     244      3083441 :  && (
     245        60224 :  TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
     246              :  || (
     247              : 
     248              :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
     249        59034 :  || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
     250        59034 :  || !type_has_mode_precision_p (type)
     251        59034 :  || (
     252              : 
     253              :  && TREE_CODE (captures[3]) != INTEGER_CST
     254              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     255              :  && single_use (captures[0])
     256              :  && single_use (captures[2])))
     257              : )
     258              :     {
     259         1193 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail108;
     260         1193 :       {
     261         1193 :         tree res_op0;
     262         1193 :         {
     263         1193 :           tree _o1[2], _r1;
     264         1193 :           _o1[0] = captures[1];
     265         1193 :           {
     266         1193 :             tree _o2[1], _r2;
     267         1193 :             _o2[0] = captures[3];
     268         1193 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     269              :               {
     270         1193 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     271              :               }
     272              :             else
     273              :               _r2 = _o2[0];
     274         1193 :             _o1[1] = _r2;
     275              :           }
     276         1193 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     277         1193 :           res_op0 = _r1;
     278              :         }
     279         1193 :         tree _r;
     280         1193 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     281         1193 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 80, __FILE__, __LINE__, true);
     282         1193 :         return _r;
     283              :       }
     284            0 : next_after_fail108:;
     285              :     }
     286              :   return NULL_TREE;
     287              : }
     288              : 
     289              : tree
     290            2 : generic_simplify_47 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     291              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     292              : {
     293            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     294            2 :   if (INTEGRAL_TYPE_P (type)
     295            2 :  && (
     296              : 
     297            2 :  || !TREE_SIDE_EFFECTS (captures[1]))
     298              : )
     299              :     {
     300            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail125;
     301            2 :       {
     302            2 :         tree res_op0;
     303            2 :         {
     304            2 :           tree _o1[1], _r1;
     305            2 :           _o1[0] = captures[2];
     306            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     307              :             {
     308            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     309              :             }
     310              :           else
     311              :             _r1 = _o1[0];
     312            2 :           res_op0 = _r1;
     313              :         }
     314            2 :         tree res_op1;
     315            2 :         res_op1 = captures[1];
     316            2 :         tree res_op2;
     317            2 :         res_op2 = captures[0];
     318            2 :         tree _r;
     319            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     320            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 93, __FILE__, __LINE__, true);
     321            2 :         return _r;
     322              :       }
     323            0 : next_after_fail125:;
     324              :     }
     325              :   return NULL_TREE;
     326              : }
     327              : 
     328              : tree
     329            5 : generic_simplify_52 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     330              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     331              : {
     332            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     333           10 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     334            5 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     335           10 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
     336              : )
     337              :     {
     338            5 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail131;
     339            5 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail131;
     340            5 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail131;
     341            5 :       {
     342            5 :         tree res_op0;
     343            5 :         {
     344            5 :           tree _o1[2], _r1;
     345            5 :           _o1[0] = captures[1];
     346            5 :           _o1[1] = captures[3];
     347            5 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     348            5 :           res_op0 = _r1;
     349              :         }
     350            5 :         tree res_op1;
     351            5 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
     352            5 :         tree _r;
     353            5 :         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     354            5 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 99, __FILE__, __LINE__, true);
     355            5 :         return _r;
     356              :       }
     357              : next_after_fail131:;
     358              :     }
     359              :   return NULL_TREE;
     360              : }
     361              : 
     362              : tree
     363       321320 : generic_simplify_62 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     364              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     365              : {
     366       321320 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     367       321320 :   if (!TYPE_SATURATING (type)
     368              : )
     369              :     {
     370       321320 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     371       321320 :  && !TYPE_OVERFLOW_SANITIZED (type)
     372              : )
     373              :         {
     374       319029 :           {
     375       319029 :  tree t1 = type;
     376       319029 :  if (INTEGRAL_TYPE_P (type)
     377       636885 :  && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
     378         4210 :  t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
     379       319029 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail143;
     380       319029 :               {
     381       319029 :                 tree res_op0;
     382       319029 :                 {
     383       319029 :                   tree _o1[2], _r1;
     384       319029 :                   {
     385       319029 :                     tree _o2[1], _r2;
     386       319029 :                     _o2[0] = captures[0];
     387       319029 :                     if (TREE_TYPE (_o2[0]) != t1)
     388              :                       {
     389         3954 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     390              :                       }
     391              :                     else
     392              :                       _r2 = _o2[0];
     393       319029 :                     _o1[0] = _r2;
     394              :                   }
     395       319029 :                   {
     396       319029 :                     tree _o2[1], _r2;
     397       319029 :                     _o2[0] = captures[1];
     398       319029 :                     if (TREE_TYPE (_o2[0]) != t1)
     399              :                       {
     400          942 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     401              :                       }
     402              :                     else
     403              :                       _r2 = _o2[0];
     404       319029 :                     _o1[1] = _r2;
     405              :                   }
     406       319029 :                   _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     407       319029 :                   res_op0 = _r1;
     408              :                 }
     409       319029 :                 tree _r;
     410       319029 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     411       319029 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 111, __FILE__, __LINE__, true);
     412       319029 :                 return _r;
     413              :               }
     414            0 : next_after_fail143:;
     415              :           }
     416              :         }
     417              :     }
     418              :   return NULL_TREE;
     419              : }
     420              : 
     421              : tree
     422      3904129 : generic_simplify_74 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     423              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     424              : {
     425      3904129 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     426      3904129 :   if (!TYPE_SATURATING (type)
     427      3904129 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     428              : )
     429              :     {
     430      3904129 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     431              : )
     432              :         {
     433      7808258 :           if (TREE_CODE (type) == INTEGER_TYPE
     434      3904129 :  && wi::neg_p (wi::to_wide (captures[3]))
     435     11712387 :  && wi::to_wide (captures[3]) != wi::min_value (TYPE_PRECISION (type), SIGNED)
     436              : )
     437              :             {
     438      1040444 :               {
     439      1040444 :  wide_int c0 = wi::to_wide (captures[1]);
     440      1040444 :  wide_int c2 = wi::to_wide (captures[3]);
     441      1040444 :  wide_int c2_abs = wi::abs (c2);
     442      1040444 :                   if (wi::multiple_of_p (c2_abs, c0, TYPE_SIGN (type))
     443              : )
     444              :                     {
     445       514055 :                       {
     446       514055 :  wide_int div_res = wi::sdiv_trunc (c2, c0);
     447       514055 :  tree div_cst = wide_int_to_tree (type, div_res);
     448       514055 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail164;
     449       514055 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail164;
     450       514055 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail164;
     451       514055 :                           {
     452       514055 :                             tree res_op0;
     453       514055 :                             {
     454       514055 :                               tree _o1[2], _r1;
     455       514055 :                               _o1[0] = captures[2];
     456       514055 :                               _o1[1] =  div_cst;
     457       514055 :                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     458       514055 :                               res_op0 = _r1;
     459              :                             }
     460       514055 :                             tree res_op1;
     461       514055 :                             res_op1 = captures[1];
     462       514055 :                             tree _r;
     463       514055 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     464       514055 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 132, __FILE__, __LINE__, true);
     465       514055 :                             return _r;
     466              :                           }
     467            0 : next_after_fail164:;
     468       514055 :                       }
     469              :                     }
     470      1040444 :               }
     471              :             }
     472              :         }
     473              :     }
     474              :   return NULL_TREE;
     475              : }
     476              : 
     477              : tree
     478            4 : generic_simplify_83 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     479              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     480              :  const enum tree_code ARG_UNUSED (log1),
     481              :  const enum tree_code ARG_UNUSED (log2),
     482              :  const combined_fn ARG_UNUSED (popcount))
     483              : {
     484            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     485            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail174;
     486            4 :   {
     487            4 :     tree res_op0;
     488            4 :     {
     489            4 :       tree _o1[2], _r1;
     490            4 :       _o1[0] = captures[2];
     491            4 :       _o1[1] = captures[5];
     492            4 :       _r1 = fold_build2_loc (loc, log2, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     493            4 :       res_op0 = _r1;
     494              :     }
     495            4 :     tree _r;
     496            4 :     _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
     497            4 :     if (!_r)
     498            0 :       goto next_after_fail174;
     499            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 142, __FILE__, __LINE__, true);
     500              :     return _r;
     501              :   }
     502              : next_after_fail174:;
     503              :   return NULL_TREE;
     504              : }
     505              : 
     506              : tree
     507            0 : generic_simplify_89 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     508              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     509              : {
     510            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     511            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail180;
     512            0 :   {
     513            0 :     tree res_op0;
     514            0 :     res_op0 = unshare_expr (captures[2]);
     515            0 :     tree res_op1;
     516            0 :     {
     517            0 :       tree _o1[2], _r1;
     518            0 :       _o1[0] = captures[1];
     519            0 :       _o1[1] = captures[2];
     520            0 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     521            0 :       res_op1 = _r1;
     522              :     }
     523            0 :     tree _r;
     524            0 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     525            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 148, __FILE__, __LINE__, true);
     526              :     return _r;
     527              :   }
     528            0 : next_after_fail180:;
     529            0 :   return NULL_TREE;
     530              : }
     531              : 
     532              : tree
     533         3087 : generic_simplify_97 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     534              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     535              : {
     536         3087 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     537         3087 :   if (!TYPE_SATURATING (type)
     538              : )
     539              :     {
     540         3087 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     541         6174 :  && !FIXED_POINT_TYPE_P (type)
     542              : )
     543              :         {
     544            0 :           if (!ANY_INTEGRAL_TYPE_P (type)
     545         3087 :  || TYPE_OVERFLOW_WRAPS (type)
     546              : )
     547              :             {
     548          250 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail188;
     549          250 :               {
     550          250 :                 tree res_op0;
     551          250 :                 {
     552          250 :                   tree _o1[1], _r1;
     553          250 :                   _o1[0] = captures[1];
     554          250 :                   if (TREE_TYPE (_o1[0]) != type)
     555              :                     {
     556            0 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     557              :                     }
     558              :                   else
     559              :                     _r1 = _o1[0];
     560          250 :                   res_op0 = _r1;
     561              :                 }
     562          250 :                 tree _r;
     563          250 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     564          250 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     565            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     566          250 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 155, __FILE__, __LINE__, true);
     567          250 :                 return _r;
     568              :               }
     569            0 : next_after_fail188:;
     570              :             }
     571              :           else
     572              :             {
     573         2837 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail189;
     574         2837 :               {
     575         2837 :                 tree res_op0;
     576         2837 :                 {
     577         2837 :                   tree _o1[1], _r1;
     578         2837 :                   _o1[0] = captures[1];
     579         2837 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     580         2837 :                   res_op0 = _r1;
     581              :                 }
     582         2837 :                 tree _r;
     583         2837 :                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     584         2837 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     585            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     586         2837 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 156, __FILE__, __LINE__, true);
     587         2837 :                 return _r;
     588              :               }
     589            0 : next_after_fail189:;
     590              :             }
     591              :         }
     592              :     }
     593              :   return NULL_TREE;
     594              : }
     595              : 
     596              : tree
     597            4 : generic_simplify_109 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     598              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     599              :  const enum tree_code ARG_UNUSED (log1),
     600              :  const enum tree_code ARG_UNUSED (log2),
     601              :  const combined_fn ARG_UNUSED (popcount))
     602              : {
     603            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     604            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail206;
     605            4 :   {
     606            4 :     tree res_op0;
     607            4 :     {
     608            4 :       tree _o1[2], _r1;
     609            4 :       _o1[0] = captures[2];
     610            4 :       _o1[1] = captures[4];
     611            4 :       _r1 = fold_build2_loc (loc, log2, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     612            4 :       res_op0 = _r1;
     613              :     }
     614            4 :     tree _r;
     615            4 :     _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
     616            4 :     if (!_r)
     617            0 :       goto next_after_fail206;
     618            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 173, __FILE__, __LINE__, true);
     619              :     return _r;
     620              :   }
     621              : next_after_fail206:;
     622              :   return NULL_TREE;
     623              : }
     624              : 
     625              : tree
     626            0 : generic_simplify_113 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     627              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     628              :  const enum tree_code ARG_UNUSED (bitop),
     629              :  const enum tree_code ARG_UNUSED (cmp))
     630              : {
     631            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     632            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     633            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     634            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
     635              : )
     636              :     {
     637            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail210;
     638            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail210;
     639            0 :       {
     640            0 :         tree res_op0;
     641            0 :         {
     642            0 :           tree _o1[2], _r1;
     643            0 :           _o1[0] = captures[0];
     644            0 :           {
     645            0 :             tree _o2[1], _r2;
     646            0 :             _o2[0] = captures[2];
     647            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     648              :               {
     649            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     650              :               }
     651              :             else
     652              :               _r2 = _o2[0];
     653            0 :             _o1[1] = _r2;
     654              :           }
     655            0 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     656            0 :           res_op0 = _r1;
     657              :         }
     658            0 :         tree res_op1;
     659            0 :         res_op1 = captures[1];
     660            0 :         tree _r;
     661            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     662            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 177, __FILE__, __LINE__, true);
     663            0 :         return _r;
     664              :       }
     665              : next_after_fail210:;
     666              :     }
     667              :   return NULL_TREE;
     668              : }
     669              : 
     670              : tree
     671            0 : generic_simplify_128 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     672              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     673              : {
     674            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     675            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     676            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     677              : )
     678              :     {
     679            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail225;
     680            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail225;
     681            0 :       {
     682            0 :         tree _r;
     683            0 :         _r = captures[2];
     684            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 186, __FILE__, __LINE__, true);
     685            0 :         return _r;
     686              :       }
     687              : next_after_fail225:;
     688              :     }
     689              :   return NULL_TREE;
     690              : }
     691              : 
     692              : tree
     693            0 : generic_simplify_139 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     694              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     695              :  const enum tree_code ARG_UNUSED (op))
     696              : {
     697            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     698            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     699            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     700              : )
     701              :     {
     702            0 :       if (single_use (captures[4]) && single_use (captures[5])
     703              : )
     704              :         {
     705            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail237;
     706            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail237;
     707            0 :           {
     708            0 :             tree res_op0;
     709            0 :             res_op0 = captures[0];
     710            0 :             tree res_op1;
     711            0 :             {
     712            0 :               tree _o1[1], _r1;
     713            0 :               _o1[0] = captures[6];
     714            0 :               if (TREE_TYPE (_o1[0]) != type)
     715              :                 {
     716            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     717              :                 }
     718              :               else
     719              :                 _r1 = _o1[0];
     720            0 :               res_op1 = _r1;
     721              :             }
     722            0 :             tree _r;
     723            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     724            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     725            0 :             return _r;
     726              :           }
     727              : next_after_fail237:;
     728              :         }
     729              :       else
     730              :         {
     731              :           if (single_use (captures[0]) && single_use (captures[1])
     732              : )
     733              :             {
     734              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail238;
     735              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail238;
     736              :               {
     737              :                 tree res_op0;
     738              :                 {
     739              :                   tree _o1[1], _r1;
     740              :                   _o1[0] = captures[3];
     741              :                   if (TREE_TYPE (_o1[0]) != type)
     742              :                     {
     743              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     744              :                     }
     745              :                   else
     746              :                     _r1 = _o1[0];
     747              :                   res_op0 = _r1;
     748              :                 }
     749              :                 tree res_op1;
     750              :                 res_op1 = captures[4];
     751              :                 tree _r;
     752              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     753              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 196, __FILE__, __LINE__, true);
     754              :                 return _r;
     755              :               }
     756              : next_after_fail238:;
     757              :             }
     758              :         }
     759              :     }
     760              :   return NULL_TREE;
     761              : }
     762              : 
     763              : tree
     764          300 : generic_simplify_154 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     765              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     766              : {
     767          300 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     768          300 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail259;
     769          300 :   {
     770          300 :     if (! tree_invariant_p (captures[1])) goto next_after_fail259;
     771            0 :     tree res_op0;
     772            0 :     {
     773            0 :       tree _o1[2], _r1;
     774            0 :       {
     775            0 :         tree _o2[2], _r2;
     776            0 :         _o2[0] = unshare_expr (captures[1]);
     777            0 :         _o2[1] = captures[4];
     778            0 :         _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     779            0 :         _o1[0] = _r2;
     780              :       }
     781            0 :       _o1[1] = captures[2];
     782            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     783            0 :       res_op0 = _r1;
     784              :     }
     785            0 :     tree res_op1;
     786            0 :     res_op1 = captures[1];
     787            0 :     tree _r;
     788            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     789            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 208, __FILE__, __LINE__, true);
     790              :     return _r;
     791              :   }
     792              : next_after_fail259:;
     793              :   return NULL_TREE;
     794              : }
     795              : 
     796              : tree
     797            0 : generic_simplify_164 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     798              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     799              : {
     800            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     801            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail287;
     802            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail287;
     803            0 :   {
     804            0 :     tree _r;
     805            0 :     _r =  constant_boolean_node (true, type);
     806            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     807            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     808            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     809              :     return _r;
     810              :   }
     811              : next_after_fail287:;
     812              :   return NULL_TREE;
     813              : }
     814              : 
     815              : tree
     816            4 : generic_simplify_169 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     817              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     818              : {
     819            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     820            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail305;
     821            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail305;
     822            4 :   {
     823            4 :     tree _r;
     824            4 :     _r =  constant_boolean_node (true, type);
     825            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     826            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     827            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     828              :     return _r;
     829              :   }
     830              : next_after_fail305:;
     831              :   return NULL_TREE;
     832              : }
     833              : 
     834              : tree
     835            2 : generic_simplify_172 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     836              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     837              : {
     838            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     839            4 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     840            4 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     841              : )
     842              :     {
     843            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail309;
     844            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail309;
     845            2 :       {
     846            2 :         tree res_op0;
     847            2 :         res_op0 = captures[3];
     848            2 :         tree res_op1;
     849            2 :         {
     850            2 :           tree _o1[2], _r1;
     851            2 :           _o1[0] = captures[1];
     852            2 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
     853            2 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     854            2 :           res_op1 = _r1;
     855              :         }
     856            2 :         tree _r;
     857            2 :         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     858            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     859            2 :         return _r;
     860              :       }
     861              : next_after_fail309:;
     862              :     }
     863              :   return NULL_TREE;
     864              : }
     865              : 
     866              : tree
     867            7 : generic_simplify_178 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     868              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     869              : {
     870            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     871            7 :   if (type_has_mode_precision_p (type)
     872            0 :  && tree_fits_uhwi_p (captures[1])
     873            0 :  && tree_fits_uhwi_p (captures[2])
     874            0 :  && tree_fits_uhwi_p (captures[4])
     875            0 :  && (((((HOST_WIDE_INT_1U << tree_to_uhwi (captures[1])) - 1)) & tree_to_uhwi (captures[2])) == 0)
     876            0 :  && (tree_to_uhwi (captures[1]) + tree_to_uhwi (captures[4])) == TYPE_PRECISION (type)
     877            0 :  && TYPE_UNSIGNED (type)
     878            7 :  && captures[0] == captures[3]
     879              : )
     880              :     {
     881            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail315;
     882            0 :       {
     883            0 :         tree res_op0;
     884            0 :         {
     885            0 :           tree _o1[2], _r1;
     886            0 :           _o1[0] = captures[0];
     887            0 :           _o1[1] = captures[4];
     888            0 :           _r1 = fold_build2_loc (loc, RROTATE_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     889            0 :           res_op0 = _r1;
     890              :         }
     891            0 :         tree res_op1;
     892            0 :         res_op1 = captures[2];
     893            0 :         tree _r;
     894            0 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     895            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
     896            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     897            0 :         if (TREE_SIDE_EFFECTS (captures[3]))
     898            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
     899            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 236, __FILE__, __LINE__, true);
     900            0 :         return _r;
     901              :       }
     902            0 : next_after_fail315:;
     903              :     }
     904              :   return NULL_TREE;
     905              : }
     906              : 
     907              : tree
     908         3645 : generic_simplify_185 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     910              : {
     911         3645 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     912         3645 :   if (! FLOAT_TYPE_P (type)
     913         7290 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     914              : )
     915              :     {
     916         3644 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail322;
     917         3644 :       {
     918         3644 :         tree res_op0;
     919         3644 :         res_op0 = captures[0];
     920         3644 :         tree res_op1;
     921         3644 :         res_op1 = captures[2];
     922         3644 :         tree _r;
     923         3644 :         _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
     924         3644 :         if (TREE_SIDE_EFFECTS (captures[1]))
     925            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     926         3644 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 241, __FILE__, __LINE__, true);
     927         3644 :         return _r;
     928              :       }
     929            0 : next_after_fail322:;
     930              :     }
     931              :   return NULL_TREE;
     932              : }
     933              : 
     934              : tree
     935          545 : generic_simplify_192 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     936              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     937              : {
     938          545 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     939          545 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail331;
     940          545 :   {
     941          545 :     tree res_op0;
     942          545 :     {
     943          545 :       tree _o1[2], _r1;
     944          545 :       _o1[0] = captures[0];
     945          545 :       _o1[1] = captures[1];
     946          545 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     947          545 :       res_op0 = _r1;
     948              :     }
     949          545 :     tree _r;
     950          545 :     _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     951          545 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 247, __FILE__, __LINE__, true);
     952              :     return _r;
     953              :   }
     954            0 : next_after_fail331:;
     955            0 :   return NULL_TREE;
     956              : }
     957              : 
     958              : tree
     959           14 : generic_simplify_194 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     960              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     961              : {
     962           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     963           14 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     964           14 :  && wi::ltu_p (wi::to_widest (captures[1]), TYPE_PRECISION (type))
     965              : )
     966              :     {
     967           14 :       {
     968           14 :  unsigned int shift = tree_to_uhwi (captures[1]);
     969           14 :  unsigned int prec = TYPE_PRECISION (type);
     970           14 :           if ((prec <= TYPE_PRECISION (TREE_TYPE (captures[2])) + shift
     971            0 :  || tree_int_cst_sgn (captures[2]) >= 0)
     972           28 :  && wi::to_wide (captures[3]) == wi::set_bit_in_zero (shift, prec)
     973              : )
     974              :             {
     975            6 :               {
     976            6 :  auto mask = wide_int::from (wi::to_wide (captures[2]), prec, UNSIGNED);
     977            6 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail333;
     978            6 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail333;
     979            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail333;
     980            6 :                   {
     981            6 :                     tree res_op0;
     982            6 :                     {
     983            6 :                       tree _o1[1], _r1;
     984            6 :                       _o1[0] = captures[0];
     985            6 :                       if (TREE_TYPE (_o1[0]) != type)
     986              :                         {
     987            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     988              :                         }
     989              :                       else
     990              :                         _r1 = _o1[0];
     991            6 :                       res_op0 = _r1;
     992              :                     }
     993            6 :                     tree res_op1;
     994            6 :                     res_op1 =  wide_int_to_tree (type, mask << shift);
     995            6 :                     tree _r;
     996            6 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     997            6 :                     if (TREE_SIDE_EFFECTS (captures[3]))
     998            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
     999            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 248, __FILE__, __LINE__, true);
    1000            6 :                     return _r;
    1001              :                   }
    1002            0 : next_after_fail333:;
    1003            6 :               }
    1004              :             }
    1005              :       }
    1006              :     }
    1007              :   return NULL_TREE;
    1008              : }
    1009              : 
    1010              : tree
    1011          171 : generic_simplify_206 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1012              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1013              :  const enum tree_code ARG_UNUSED (cmp))
    1014              : {
    1015          171 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1016          342 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1017          338 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE(captures[0]))
    1018              : )
    1019              :     {
    1020            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail346;
    1021            3 :       {
    1022            3 :         tree res_op0;
    1023            3 :         res_op0 = captures[0];
    1024            3 :         tree res_op1;
    1025            3 :         res_op1 =  build_zero_cst (TREE_TYPE(captures[0]));
    1026            3 :         tree _r;
    1027            3 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1028            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 261, __FILE__, __LINE__, true);
    1029            3 :         return _r;
    1030              :       }
    1031            0 : next_after_fail346:;
    1032              :     }
    1033              :   return NULL_TREE;
    1034              : }
    1035              : 
    1036              : tree
    1037           31 : generic_simplify_215 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1038              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1039              :  const enum tree_code ARG_UNUSED (cmp),
    1040              :  const enum tree_code ARG_UNUSED (icmp))
    1041              : {
    1042           31 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1043           62 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1044           29 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1045           13 :  && type_has_mode_precision_p (TREE_TYPE (captures[0]))
    1046           13 :  && types_match (captures[0], captures[2])
    1047           13 :  && tree_fits_shwi_p (captures[1])
    1048           13 :  && tree_to_shwi (captures[1]) > 0
    1049           44 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    1050              : )
    1051              :     {
    1052           13 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail358;
    1053           13 :       {
    1054           13 :         tree res_op0;
    1055           13 :         {
    1056           13 :           tree _o1[2], _r1;
    1057           13 :           _o1[0] = captures[0];
    1058           13 :           _o1[1] = captures[2];
    1059           13 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1060           13 :           res_op0 = _r1;
    1061              :         }
    1062           13 :         tree res_op1;
    1063           13 :         {
    1064           13 :           tree _o1[2], _r1;
    1065           13 :           _o1[0] =  build_one_cst (TREE_TYPE (captures[0]));
    1066           13 :           _o1[1] = captures[1];
    1067           13 :           _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1068           13 :           res_op1 = _r1;
    1069              :         }
    1070           13 :         tree _r;
    1071           13 :         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1072           13 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 272, __FILE__, __LINE__, true);
    1073           13 :         return _r;
    1074              :       }
    1075            0 : next_after_fail358:;
    1076              :     }
    1077              :   return NULL_TREE;
    1078              : }
    1079              : 
    1080              : tree
    1081           43 : generic_simplify_223 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1082              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1083              :  const enum tree_code ARG_UNUSED (op))
    1084              : {
    1085           43 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1086           43 :   if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
    1087              : )
    1088              :     {
    1089           43 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail379;
    1090           43 :       {
    1091           43 :         tree res_op0;
    1092           43 :         res_op0 = captures[1];
    1093           43 :         tree res_op1;
    1094           43 :         res_op1 = captures[3];
    1095           43 :         tree _r;
    1096           43 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1097           43 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1098            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1099           43 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 293, __FILE__, __LINE__, true);
    1100           43 :         return _r;
    1101              :       }
    1102            0 : next_after_fail379:;
    1103              :     }
    1104              :   return NULL_TREE;
    1105              : }
    1106              : 
    1107              : tree
    1108            0 : generic_simplify_231 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1109              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1110              :  const enum tree_code ARG_UNUSED (cmp1),
    1111              :  const enum tree_code ARG_UNUSED (cmp2),
    1112              :  const enum tree_code ARG_UNUSED (rcmp))
    1113              : {
    1114            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1115            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1116            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1117            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[0]))
    1118            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    1119              : )
    1120              :     {
    1121            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail387;
    1122            0 :       {
    1123            0 :         tree res_op0;
    1124            0 :         res_op0 = captures[0];
    1125            0 :         tree res_op1;
    1126            0 :         res_op1 = captures[1];
    1127            0 :         tree _r;
    1128            0 :         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1129            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 300, __FILE__, __LINE__, true);
    1130            0 :         return _r;
    1131              :       }
    1132            0 : next_after_fail387:;
    1133              :     }
    1134              :   return NULL_TREE;
    1135              : }
    1136              : 
    1137              : tree
    1138            2 : generic_simplify_239 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1139              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1140              :  const enum tree_code ARG_UNUSED (cmp),
    1141              :  const enum tree_code ARG_UNUSED (icmp))
    1142              : {
    1143            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1144            2 :   if (tree_int_cst_sgn (captures[0]) > 0
    1145              : )
    1146              :     {
    1147            2 :       {
    1148            2 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1149            2 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1150            2 :           if (c1 > c2
    1151              : )
    1152              :             {
    1153            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail399;
    1154            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail399;
    1155            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail399;
    1156            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail399;
    1157            0 :               {
    1158            0 :                 tree _r;
    1159            0 :                 _r =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
    1160            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1161            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1162            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 312, __FILE__, __LINE__, true);
    1163            0 :                 return _r;
    1164              :               }
    1165              : next_after_fail399:;
    1166              :             }
    1167              :           else
    1168              :             {
    1169            2 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail400;
    1170            2 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail400;
    1171            2 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail400;
    1172            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail400;
    1173            2 :               {
    1174            2 :                 tree res_op0;
    1175            2 :                 res_op0 = captures[1];
    1176            2 :                 tree res_op1;
    1177            2 :                 res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c2 - c1);
    1178            2 :                 tree _r;
    1179            2 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1180            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 313, __FILE__, __LINE__, true);
    1181            2 :                 return _r;
    1182              :               }
    1183              : next_after_fail400:;
    1184              :             }
    1185              :       }
    1186              :     }
    1187              :   return NULL_TREE;
    1188              : }
    1189              : 
    1190              : tree
    1191          179 : generic_simplify_248 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1192              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1193              :  const enum tree_code ARG_UNUSED (cmp),
    1194              :  const enum tree_code ARG_UNUSED (icmp),
    1195              :  const enum tree_code ARG_UNUSED (ncmp))
    1196              : {
    1197          179 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1198          179 :   if (types_match (type, TREE_TYPE (captures[0]))
    1199              : )
    1200              :     {
    1201          125 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail416;
    1202          125 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail416;
    1203          125 :       {
    1204          125 :         tree res_op0;
    1205          125 :         res_op0 = captures[1];
    1206          125 :         tree res_op1;
    1207          125 :         res_op1 = captures[2];
    1208          125 :         tree _r;
    1209          125 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1210          125 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 329, __FILE__, __LINE__, true);
    1211          125 :         return _r;
    1212              :       }
    1213              : next_after_fail416:;
    1214              :     }
    1215              :   return NULL_TREE;
    1216              : }
    1217              : 
    1218              : tree
    1219     45015934 : generic_simplify_255 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1220              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1221              :  const enum tree_code ARG_UNUSED (cmp))
    1222              : {
    1223     45015934 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1224     45015934 :   {
    1225     45015934 :  bool wascmp;
    1226     45015934 :       if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1227     45015934 :  && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    1228              : )
    1229              :         {
    1230            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail429;
    1231            5 :           {
    1232            5 :             tree _r;
    1233            5 :             _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1234            5 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1235            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1236            5 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1237            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1238            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 341, __FILE__, __LINE__, true);
    1239            5 :             return _r;
    1240              :           }
    1241            0 : next_after_fail429:;
    1242              :         }
    1243              :   }
    1244     45015929 :   return NULL_TREE;
    1245              : }
    1246              : 
    1247              : tree
    1248         8863 : generic_simplify_260 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1249              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1250              :  const enum tree_code ARG_UNUSED (op),
    1251              :  const enum tree_code ARG_UNUSED (cmp))
    1252              : {
    1253         8863 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1254         8863 :   if (flag_unsafe_math_optimizations
    1255              : )
    1256              :     {
    1257            5 :       {
    1258            8 :  tree tem = const_binop (op == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR,
    1259            5 :  TREE_TYPE (captures[1]), captures[2], captures[1]);
    1260            5 :           if (tem && !TREE_OVERFLOW (tem)
    1261              : )
    1262              :             {
    1263            4 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail448;
    1264            4 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail448;
    1265            4 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail448;
    1266            4 :               {
    1267            4 :                 tree res_op0;
    1268            4 :                 res_op0 = captures[0];
    1269            4 :                 tree res_op1;
    1270            4 :                 res_op1 =  tem;
    1271            4 :                 tree _r;
    1272            4 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1273            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 359, __FILE__, __LINE__, true);
    1274            4 :                 return _r;
    1275              :               }
    1276              : next_after_fail448:;
    1277              :             }
    1278              :       }
    1279              :     }
    1280              :   return NULL_TREE;
    1281              : }
    1282              : 
    1283              : tree
    1284           69 : generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1285              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1286              :  const enum tree_code ARG_UNUSED (cmp))
    1287              : {
    1288           69 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1289           69 :   if (!integer_zerop (captures[1])
    1290              : )
    1291              :     {
    1292           69 :       if (wi::to_wide (captures[2]) == 0
    1293              : )
    1294              :         {
    1295           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail479;
    1296           22 :           {
    1297           22 :             tree res_op0;
    1298           22 :             res_op0 = captures[0];
    1299           22 :             tree res_op1;
    1300           22 :             res_op1 = captures[2];
    1301           22 :             tree _r;
    1302           22 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1303           22 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1304            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1305           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 390, __FILE__, __LINE__, true);
    1306           22 :             return _r;
    1307              :           }
    1308            0 : next_after_fail479:;
    1309              :         }
    1310              :       else
    1311              :         {
    1312           47 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    1313              : )
    1314              :             {
    1315           47 :               {
    1316           47 :  wi::overflow_type ovf;
    1317           47 :  wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
    1318           94 :  TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
    1319           47 :                   if (ovf
    1320              : )
    1321              :                     {
    1322            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail480;
    1323            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail480;
    1324            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail480;
    1325            0 :                       {
    1326            0 :                         tree _r;
    1327            0 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1328            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1329            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1330            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 391, __FILE__, __LINE__, true);
    1331            0 :                         return _r;
    1332              :                       }
    1333            0 : next_after_fail480:;
    1334              :                     }
    1335              :                   else
    1336              :                     {
    1337           47 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail481;
    1338           47 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail481;
    1339           47 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail481;
    1340           47 :                       {
    1341           47 :                         tree res_op0;
    1342           47 :                         res_op0 = captures[0];
    1343           47 :                         tree res_op1;
    1344           47 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
    1345           47 :                         tree _r;
    1346           47 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1347           47 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 392, __FILE__, __LINE__, true);
    1348           47 :                         return _r;
    1349              :                       }
    1350            0 : next_after_fail481:;
    1351              :                     }
    1352           47 :               }
    1353              :             }
    1354              :         }
    1355              :     }
    1356              :   return NULL_TREE;
    1357              : }
    1358              : 
    1359              : tree
    1360        25879 : generic_simplify_273 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1361              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1362              :  const enum tree_code ARG_UNUSED (cmp))
    1363              : {
    1364        25879 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1365        25879 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail505;
    1366        25879 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail505;
    1367        25879 :   {
    1368        25879 :     tree res_op0;
    1369        25879 :     res_op0 = captures[0];
    1370        25879 :     tree res_op1;
    1371        25879 :     res_op1 = captures[1];
    1372        25879 :     tree _r;
    1373        25879 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1374        25879 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 408, __FILE__, __LINE__, true);
    1375              :     return _r;
    1376              :   }
    1377              : next_after_fail505:;
    1378              :   return NULL_TREE;
    1379              : }
    1380              : 
    1381              : tree
    1382       145443 : generic_simplify_275 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1383              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1384              :  const enum tree_code ARG_UNUSED (cmp))
    1385              : {
    1386       145443 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1387       145443 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail507;
    1388       145443 :   {
    1389       145443 :     tree res_op0;
    1390       145443 :     {
    1391       145443 :       tree _o1[2], _r1;
    1392       145443 :       _o1[0] = captures[0];
    1393       145443 :       {
    1394       145443 :         tree _o2[1], _r2;
    1395       145443 :         _o2[0] = captures[1];
    1396       145443 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1397       145443 :         if (EXPR_P (_r2))
    1398       145414 :           goto next_after_fail507;
    1399           29 :         _o1[1] = _r2;
    1400              :       }
    1401           29 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1402           29 :       res_op0 = _r1;
    1403              :     }
    1404           29 :     tree res_op1;
    1405           29 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1406           29 :     tree _r;
    1407           29 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1408           29 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 410, __FILE__, __LINE__, true);
    1409              :     return _r;
    1410              :   }
    1411              : next_after_fail507:;
    1412              :   return NULL_TREE;
    1413              : }
    1414              : 
    1415              : tree
    1416        37303 : generic_simplify_280 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1417              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1418              :  const enum tree_code ARG_UNUSED (cmp))
    1419              : {
    1420        37303 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1421        37303 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail512;
    1422        37303 :   {
    1423        37303 :     tree res_op0;
    1424        37303 :     {
    1425        37303 :       tree _o1[2], _r1;
    1426        37303 :       {
    1427        37303 :         tree _o2[2], _r2;
    1428        37303 :         _o2[0] = captures[1];
    1429        37303 :         _o2[1] = captures[4];
    1430        37303 :         _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1431        37303 :         _o1[0] = _r2;
    1432              :       }
    1433        37303 :       _o1[1] = captures[2];
    1434        37303 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1435        37303 :       res_op0 = _r1;
    1436              :     }
    1437        37303 :     tree res_op1;
    1438        37303 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1439        37303 :     tree _r;
    1440        37303 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1441        37303 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 415, __FILE__, __LINE__, true);
    1442              :     return _r;
    1443              :   }
    1444            0 : next_after_fail512:;
    1445            0 :   return NULL_TREE;
    1446              : }
    1447              : 
    1448              : tree
    1449            0 : generic_simplify_287 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1450              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1451              :  const enum tree_code ARG_UNUSED (cmp))
    1452              : {
    1453            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1454            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail519;
    1455            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail519;
    1456            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail519;
    1457            0 :   {
    1458            0 :     tree res_op0;
    1459            0 :     res_op0 = captures[0];
    1460            0 :     tree res_op1;
    1461            0 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1462            0 :     tree _r;
    1463            0 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1464            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 420, __FILE__, __LINE__, true);
    1465              :     return _r;
    1466              :   }
    1467              : next_after_fail519:;
    1468              :   return NULL_TREE;
    1469              : }
    1470              : 
    1471              : tree
    1472      1072760 : generic_simplify_291 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1473              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1474              :  const enum tree_code ARG_UNUSED (cmp))
    1475              : {
    1476      1072760 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1477      1638461 :   if (((POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1478       508898 :  && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[0])))
    1479       471895 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1480         9326 :  && !(
    1481              : 1
    1482         9258 :  && TREE_CODE (TREE_TYPE (captures[0])) == REFERENCE_TYPE
    1483           68 :  && (flag_sanitize & (SANITIZE_NULL | SANITIZE_ALIGNMENT))))
    1484      1063514 :  || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1485       563733 :  && POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1486         2183 :  && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1])))))
    1487      1083685 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
    1488              : )
    1489              :     {
    1490         9923 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail537;
    1491         9923 :       {
    1492         9923 :         tree res_op0;
    1493         9923 :         res_op0 = captures[0];
    1494         9923 :         tree res_op1;
    1495         9923 :         {
    1496         9923 :           tree _o1[1], _r1;
    1497         9923 :           _o1[0] = captures[1];
    1498         9923 :           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1499              :             {
    1500         9923 :               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1501              :             }
    1502              :           else
    1503              :             _r1 = _o1[0];
    1504         9923 :           res_op1 = _r1;
    1505              :         }
    1506         9923 :         tree _r;
    1507         9923 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1508         9923 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 430, __FILE__, __LINE__, true);
    1509         9923 :         return _r;
    1510              :       }
    1511            0 : next_after_fail537:;
    1512              :     }
    1513              :   return NULL_TREE;
    1514              : }
    1515              : 
    1516              : tree
    1517       592913 : generic_simplify_295 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1518              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1519              :  const enum tree_code ARG_UNUSED (cmp),
    1520              :  const enum tree_code ARG_UNUSED (rcmp))
    1521              : {
    1522       592913 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1523      1185826 :   if (!TREE_OVERFLOW (captures[0]) && !TREE_OVERFLOW (captures[2])
    1524      1185826 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1525              : )
    1526              :     {
    1527         2965 :       {
    1528         2965 :  tree res = int_const_binop (MINUS_EXPR, captures[0], captures[2]);
    1529         2965 :           if (TREE_OVERFLOW (res)
    1530              : )
    1531              :             {
    1532           48 :               if (cmp == NE_EXPR
    1533              : )
    1534              :                 {
    1535            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail546;
    1536            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail546;
    1537            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail546;
    1538            0 :                   {
    1539            0 :                     tree _r;
    1540            0 :                     _r =  constant_boolean_node (true, type);
    1541            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1542            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1543            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 439, __FILE__, __LINE__, true);
    1544            0 :                     return _r;
    1545              :                   }
    1546              : next_after_fail546:;
    1547              :                 }
    1548              :               else
    1549              :                 {
    1550           48 :                   if (cmp == EQ_EXPR
    1551              : )
    1552              :                     {
    1553            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail547;
    1554            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail547;
    1555            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail547;
    1556            0 :                       {
    1557            0 :                         tree _r;
    1558            0 :                         _r =  constant_boolean_node (false, type);
    1559            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1560            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1561            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 440, __FILE__, __LINE__, true);
    1562            0 :                         return _r;
    1563              :                       }
    1564              : next_after_fail547:;
    1565              :                     }
    1566              :                   else
    1567              :                     {
    1568           48 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail548;
    1569           48 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail548;
    1570           48 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail548;
    1571           48 :                       {
    1572           48 :                         tree _r;
    1573           48 :  bool less = cmp == LE_EXPR || cmp == LT_EXPR;
    1574           48 :  bool ovf_high = wi::lt_p (wi::to_wide (captures[0]), 0,
    1575           48 :  TYPE_SIGN (TREE_TYPE (captures[0])));                  _r = 
    1576           48 :  constant_boolean_node (less == ovf_high, type);
    1577           48 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1578            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1579           48 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 441, __FILE__, __LINE__, true);
    1580           48 :                         return _r;
    1581              :                       }
    1582              : next_after_fail548:;
    1583              :                     }
    1584              :                 }
    1585              :             }
    1586              :           else
    1587              :             {
    1588         2917 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail549;
    1589         2917 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail549;
    1590         2917 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail549;
    1591         2917 :               {
    1592         2917 :                 tree res_op0;
    1593         2917 :                 res_op0 = captures[1];
    1594         2917 :                 tree res_op1;
    1595         2917 :                 res_op1 =  res;
    1596         2917 :                 tree _r;
    1597         2917 :                 _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1598         2917 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 442, __FILE__, __LINE__, true);
    1599         2917 :                 return _r;
    1600              :               }
    1601              : next_after_fail549:;
    1602              :             }
    1603              :       }
    1604              :     }
    1605              :   else
    1606              :     {
    1607       589948 :       if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1608              : )
    1609              :         {
    1610       589854 :           if (cmp == EQ_EXPR || cmp == NE_EXPR
    1611              : )
    1612              :             {
    1613        37118 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail550;
    1614        37118 :               {
    1615        37118 :                 tree res_op0;
    1616        37118 :                 res_op0 = captures[1];
    1617        37118 :                 tree res_op1;
    1618        37118 :                 {
    1619        37118 :                   tree _o1[2], _r1;
    1620        37118 :                   _o1[0] = captures[0];
    1621        37118 :                   _o1[1] = captures[2];
    1622        37118 :                   _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1623        37118 :                   res_op1 = _r1;
    1624              :                 }
    1625        37118 :                 tree _r;
    1626        37118 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1627        37118 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 443, __FILE__, __LINE__, true);
    1628        37118 :                 return _r;
    1629              :               }
    1630            0 : next_after_fail550:;
    1631              :             }
    1632              :           else
    1633              :             {
    1634       552736 :               if (cmp == LE_EXPR || cmp == GT_EXPR
    1635              : )
    1636              :                 {
    1637       552736 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail551;
    1638       552736 :                   {
    1639       552736 :                     if (! tree_invariant_p (captures[2])) goto next_after_fail551;
    1640       552736 :                     tree res_op0;
    1641       552736 :                     {
    1642       552736 :                       tree _o1[2], _r1;
    1643       552736 :                       _o1[0] = captures[1];
    1644       552736 :                       {
    1645       552736 :                         tree _o2[2], _r2;
    1646       552736 :                         _o2[0] = unshare_expr (captures[2]);
    1647       552736 :                         _o2[1] = captures[0];
    1648       552736 :                         _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1649       552736 :                         _o1[1] = _r2;
    1650              :                       }
    1651       552736 :                       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1652       552736 :                       res_op0 = _r1;
    1653              :                     }
    1654       552736 :                     tree res_op1;
    1655       552736 :                     res_op1 = captures[2];
    1656       552736 :                     tree _r;
    1657       552736 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1658       552736 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 444, __FILE__, __LINE__, true);
    1659       552736 :                     return _r;
    1660              :                   }
    1661              : next_after_fail551:;
    1662              :                 }
    1663              :               else
    1664              :                 {
    1665            0 :                   if (cmp == LT_EXPR || cmp == GE_EXPR
    1666              : )
    1667              :                     {
    1668            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail552;
    1669            0 :                       {
    1670            0 :                         if (! tree_invariant_p (captures[2])) goto next_after_fail552;
    1671            0 :                         tree res_op0;
    1672            0 :                         {
    1673            0 :                           tree _o1[2], _r1;
    1674            0 :                           _o1[0] = captures[1];
    1675            0 :                           {
    1676            0 :                             tree _o2[2], _r2;
    1677            0 :                             _o2[0] = unshare_expr (captures[2]);
    1678            0 :                             {
    1679            0 :                               tree _o3[2], _r3;
    1680            0 :                               _o3[0] = captures[0];
    1681            0 :                               _o3[1] =  build_one_cst (TREE_TYPE (captures[1]));
    1682            0 :                               _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    1683            0 :                               _o2[1] = _r3;
    1684              :                             }
    1685            0 :                             _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1686            0 :                             _o1[1] = _r2;
    1687              :                           }
    1688            0 :                           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1689            0 :                           res_op0 = _r1;
    1690              :                         }
    1691            0 :                         tree res_op1;
    1692            0 :                         res_op1 = captures[2];
    1693            0 :                         tree _r;
    1694            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1695            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 445, __FILE__, __LINE__, true);
    1696            0 :                         return _r;
    1697              :                       }
    1698              : next_after_fail552:;
    1699              :                     }
    1700              :                 }
    1701              :             }
    1702              :         }
    1703              :       else
    1704              :         {
    1705           94 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1706           94 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    1707              : )
    1708              :             {
    1709           94 :               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1710              : )
    1711              :                 {
    1712            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail553;
    1713            0 :                   {
    1714            0 :                     tree res_op0;
    1715            0 :                     res_op0 = captures[1];
    1716            0 :                     tree res_op1;
    1717            0 :                     {
    1718            0 :                       tree _o1[2], _r1;
    1719            0 :                       _o1[0] = captures[0];
    1720            0 :                       _o1[1] = captures[2];
    1721            0 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1722            0 :                       res_op1 = _r1;
    1723              :                     }
    1724            0 :                     tree _r;
    1725            0 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1726            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 446, __FILE__, __LINE__, true);
    1727            0 :                     return _r;
    1728              :                   }
    1729            0 : next_after_fail553:;
    1730              :                 }
    1731              :               else
    1732              :                 {
    1733           94 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail554;
    1734           94 :                   {
    1735           94 :                     tree res_op0;
    1736           94 :                     {
    1737           94 :                       tree _o1[2], _r1;
    1738           94 :                       _o1[0] = captures[1];
    1739           94 :                       {
    1740           94 :                         tree _o2[2], _r2;
    1741           94 :                         _o2[0] = captures[0];
    1742           94 :                         _o2[1] =  build_one_cst (TREE_TYPE (captures[1]));
    1743           94 :                         _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1744           94 :                         _o1[1] = _r2;
    1745              :                       }
    1746           94 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1747           94 :                       res_op0 = _r1;
    1748              :                     }
    1749           94 :                     tree res_op1;
    1750           94 :                     {
    1751           94 :                       tree _o1[1], _r1;
    1752           94 :                       _o1[0] = captures[2];
    1753           94 :                       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1754           94 :                       res_op1 = _r1;
    1755              :                     }
    1756           94 :                     tree _r;
    1757           94 :                     _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1758           94 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 447, __FILE__, __LINE__, true);
    1759           94 :                     return _r;
    1760              :                   }
    1761            0 : next_after_fail554:;
    1762              :                 }
    1763              :             }
    1764              :         }
    1765              :     }
    1766              :   return NULL_TREE;
    1767              : }
    1768              : 
    1769              : tree
    1770            2 : generic_simplify_333 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1771              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1772              : {
    1773            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1774            0 :   if (FLOAT_TYPE_P (type)
    1775            2 :  && ! HONOR_NANS (type)
    1776            2 :  && ! HONOR_INFINITIES (type)
    1777              : )
    1778              :     {
    1779            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail602;
    1780            0 :       {
    1781            0 :         tree _r;
    1782            0 :         _r =  build_minus_one_cst (type);
    1783            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1784            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1785            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 493, __FILE__, __LINE__, true);
    1786            0 :         return _r;
    1787              :       }
    1788            0 : next_after_fail602:;
    1789              :     }
    1790              :   return NULL_TREE;
    1791              : }
    1792              : 
    1793              : tree
    1794            6 : generic_simplify_341 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1795              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1796              :  const combined_fn ARG_UNUSED (TAN),
    1797              :  const combined_fn ARG_UNUSED (SIN),
    1798              :  const combined_fn ARG_UNUSED (COS))
    1799              : {
    1800            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1801            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1802              : )
    1803              :     {
    1804            6 :       if (! HONOR_NANS (captures[1])
    1805            6 :  && ! HONOR_INFINITIES (captures[1])
    1806              : )
    1807              :         {
    1808            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail612;
    1809            6 :           {
    1810            6 :             tree res_op0;
    1811            6 :             res_op0 =  build_one_cst (type);
    1812            6 :             tree res_op1;
    1813            6 :             {
    1814            6 :               tree _o1[1], _r1;
    1815            6 :               _o1[0] = captures[1];
    1816            6 :               _r1 = maybe_build_call_expr_loc (loc, COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1817            6 :               if (!_r1)
    1818            0 :                 goto next_after_fail612;
    1819            6 :               res_op1 = _r1;
    1820              :             }
    1821            6 :             tree _r;
    1822            6 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1823            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 503, __FILE__, __LINE__, true);
    1824            6 :             return _r;
    1825              :           }
    1826              : next_after_fail612:;
    1827              :         }
    1828              :     }
    1829              :   return NULL_TREE;
    1830              : }
    1831              : 
    1832              : tree
    1833            0 : generic_simplify_351 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1834              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1835              :  const enum tree_code ARG_UNUSED (cmp))
    1836              : {
    1837            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1838            0 :   if (INTEGRAL_TYPE_P (type)
    1839              : )
    1840              :     {
    1841            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail628;
    1842            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail628;
    1843            0 :       {
    1844            0 :         tree _r;
    1845            0 :         _r = captures[2];
    1846            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1847            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1848            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 519, __FILE__, __LINE__, true);
    1849            0 :         return _r;
    1850              :       }
    1851              : next_after_fail628:;
    1852              :     }
    1853              :   return NULL_TREE;
    1854              : }
    1855              : 
    1856              : tree
    1857           21 : generic_simplify_355 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1858              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1859              : {
    1860           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1861           21 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail632;
    1862           21 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail632;
    1863           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail632;
    1864           21 :   {
    1865           21 :     tree _r;
    1866           21 :     _r = captures[2];
    1867           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 523, __FILE__, __LINE__, true);
    1868              :     return _r;
    1869              :   }
    1870              : next_after_fail632:;
    1871              :   return NULL_TREE;
    1872              : }
    1873              : 
    1874              : tree
    1875            0 : generic_simplify_358 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1876              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1877              :  const enum tree_code ARG_UNUSED (op))
    1878              : {
    1879            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1880            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail635;
    1881            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail635;
    1882            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail635;
    1883            0 :   {
    1884            0 :     tree _r;
    1885            0 :     _r = captures[2];
    1886            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 526, __FILE__, __LINE__, true);
    1887              :     return _r;
    1888              :   }
    1889              : next_after_fail635:;
    1890              :   return NULL_TREE;
    1891              : }
    1892              : 
    1893              : tree
    1894            0 : generic_simplify_365 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1895              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1896              : {
    1897            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1898            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail642;
    1899            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail642;
    1900            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail642;
    1901            0 :   {
    1902            0 :     tree _r;
    1903            0 :     _r = captures[2];
    1904            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 533, __FILE__, __LINE__, true);
    1905              :     return _r;
    1906              :   }
    1907              : next_after_fail642:;
    1908              :   return NULL_TREE;
    1909              : }
    1910              : 
    1911              : tree
    1912            0 : generic_simplify_371 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1913              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1914              :  const combined_fn ARG_UNUSED (func))
    1915              : {
    1916            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1917            0 :   if (wi::to_widest (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[3])) - 1
    1918              : )
    1919              :     {
    1920            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail649;
    1921            0 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail649;
    1922            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail649;
    1923            0 :       {
    1924            0 :         tree _r;
    1925            0 :         _r = captures[2];
    1926            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1927            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1928            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 540, __FILE__, __LINE__, true);
    1929            0 :         return _r;
    1930              :       }
    1931              : next_after_fail649:;
    1932              :     }
    1933              :   return NULL_TREE;
    1934              : }
    1935              : 
    1936              : tree
    1937        20193 : generic_simplify_379 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1938              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1939              :  const enum tree_code ARG_UNUSED (cmp))
    1940              : {
    1941        20193 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1942        40386 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1943        40325 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1944              : )
    1945              :     {
    1946        16559 :       if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
    1947              : )
    1948              :         {
    1949        13044 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail660;
    1950        13044 :           {
    1951        13044 :             tree res_op0;
    1952        13044 :             res_op0 = captures[0];
    1953        13044 :             tree res_op1;
    1954        13044 :             res_op1 = captures[2];
    1955        13044 :             tree _r;
    1956        13044 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1957        13044 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1958            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1959        13044 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 549, __FILE__, __LINE__, true);
    1960        13044 :             return _r;
    1961              :           }
    1962            0 : next_after_fail660:;
    1963              :         }
    1964              :       else
    1965              :         {
    1966         3515 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    1967         3515 :  && wi::neg_p (wi::to_wide (captures[1]), TYPE_SIGN (TREE_TYPE (captures[1])))
    1968              : )
    1969              :             {
    1970         1115 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail661;
    1971         1115 :               {
    1972         1115 :                 tree res_op0;
    1973         1115 :                 res_op0 = captures[2];
    1974         1115 :                 tree res_op1;
    1975         1115 :                 res_op1 = captures[0];
    1976         1115 :                 tree _r;
    1977         1115 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1978         1115 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1979            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1980         1115 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 550, __FILE__, __LINE__, true);
    1981         1115 :                 return _r;
    1982              :               }
    1983            0 : next_after_fail661:;
    1984              :             }
    1985              :         }
    1986              :     }
    1987              :   return NULL_TREE;
    1988              : }
    1989              : 
    1990              : tree
    1991      9506603 : generic_simplify_391 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1992              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1993              :  const enum tree_code ARG_UNUSED (cmp),
    1994              :  const enum tree_code ARG_UNUSED (acmp))
    1995              : {
    1996      9506603 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1997      9506603 :   {
    1998      9506603 :  tree cst = uniform_integer_cst_p (captures[1]);
    1999      9506603 :       if (tree_int_cst_sgn (cst) == 1
    2000              : )
    2001              :         {
    2002      3950984 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail674;
    2003      3950984 :           {
    2004      3950984 :             tree res_op0;
    2005      3950984 :             res_op0 = captures[0];
    2006      3950984 :             tree res_op1;
    2007      3950984 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2008      3950984 :  wide_int_to_tree (TREE_TYPE (cst),
    2009      3950984 :  wi::to_wide (cst) - 1));
    2010      3950984 :             tree _r;
    2011      3950984 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2012      3950984 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2013            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2014      3950984 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 563, __FILE__, __LINE__, true);
    2015      3950984 :             return _r;
    2016              :           }
    2017            0 : next_after_fail674:;
    2018              :         }
    2019              :   }
    2020              :   return NULL_TREE;
    2021              : }
    2022              : 
    2023              : tree
    2024            0 : generic_simplify_401 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2025              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2026              :  const enum tree_code ARG_UNUSED (cmp),
    2027              :  const enum tree_code ARG_UNUSED (out))
    2028              : {
    2029            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2030            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2031            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2032              : )
    2033              :     {
    2034            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail716;
    2035            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail716;
    2036            0 :       {
    2037            0 :         tree res_op0;
    2038            0 :         {
    2039            0 :           tree _o1[1], _r1;
    2040            0 :           _o1[0] = captures[0];
    2041            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2042            0 :           res_op0 = _r1;
    2043              :         }
    2044            0 :         tree res_op1;
    2045            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2046            0 :         tree _r;
    2047            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2048            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 588, __FILE__, __LINE__, true);
    2049            0 :         return _r;
    2050              :       }
    2051              : next_after_fail716:;
    2052              :     }
    2053              :   return NULL_TREE;
    2054              : }
    2055              : 
    2056              : tree
    2057     20185321 : generic_simplify_408 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2058              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2059              :  const enum tree_code ARG_UNUSED (cmp),
    2060              :  const enum tree_code ARG_UNUSED (acmp))
    2061              : {
    2062     20185321 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2063     20185321 :   {
    2064     20185321 :  tree cst = uniform_integer_cst_p (captures[1]);
    2065     20185321 :       if (tree_int_cst_sgn (cst) == -1
    2066              : )
    2067              :         {
    2068       177156 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail730;
    2069       177156 :           {
    2070       177156 :             tree res_op0;
    2071       177156 :             res_op0 = captures[0];
    2072       177156 :             tree res_op1;
    2073       177156 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2074       177156 :  wide_int_to_tree (TREE_TYPE (cst),
    2075       177156 :  wi::to_wide (cst)
    2076       354312 :  + 1));
    2077       177156 :             tree _r;
    2078       177156 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2079       177156 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2080            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2081       177156 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 602, __FILE__, __LINE__, true);
    2082       177156 :             return _r;
    2083              :           }
    2084            0 : next_after_fail730:;
    2085              :         }
    2086              :   }
    2087              :   return NULL_TREE;
    2088              : }
    2089              : 
    2090              : tree
    2091            0 : generic_simplify_411 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2092              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2093              :  const enum tree_code ARG_UNUSED (cmp),
    2094              :  const enum tree_code ARG_UNUSED (out))
    2095              : {
    2096            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2097            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2098            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2099              : )
    2100              :     {
    2101            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail733;
    2102            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail733;
    2103            0 :       {
    2104            0 :         tree res_op0;
    2105            0 :         {
    2106            0 :           tree _o1[1], _r1;
    2107            0 :           _o1[0] = captures[0];
    2108            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2109            0 :           res_op0 = _r1;
    2110              :         }
    2111            0 :         tree res_op1;
    2112            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2113            0 :         tree _r;
    2114            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2115            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 587, __FILE__, __LINE__, true);
    2116            0 :         return _r;
    2117              :       }
    2118              : next_after_fail733:;
    2119              :     }
    2120              :   return NULL_TREE;
    2121              : }
    2122              : 
    2123              : tree
    2124           43 : generic_simplify_416 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2125              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2126              :  const enum tree_code ARG_UNUSED (cmp),
    2127              :  const enum tree_code ARG_UNUSED (cmp2),
    2128              :  const enum tree_code ARG_UNUSED (cmp3),
    2129              :  const enum tree_code ARG_UNUSED (bit_op),
    2130              :  const combined_fn ARG_UNUSED (ffs))
    2131              : {
    2132           43 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2133           43 :   {
    2134           43 :  int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2135           43 :       if (integer_zerop (captures[2])
    2136              : )
    2137              :         {
    2138           11 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail738;
    2139           11 :           {
    2140           11 :             tree res_op0;
    2141           11 :             res_op0 = captures[1];
    2142           11 :             tree res_op1;
    2143           11 :             res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2144           11 :             tree _r;
    2145           11 :             _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2146           11 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2147            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2148           11 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 606, __FILE__, __LINE__, true);
    2149           27 :             return _r;
    2150              :           }
    2151            0 : next_after_fail738:;
    2152              :         }
    2153              :       else
    2154              :         {
    2155           32 :           if (tree_int_cst_sgn (captures[2]) < 0
    2156              : )
    2157              :             {
    2158            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail739;
    2159            0 :               {
    2160            0 :                 tree _r;
    2161            0 :                 _r =  constant_boolean_node (cmp == GT_EXPR ? true : false, type);
    2162            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2163            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2164            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    2165            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2166            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 607, __FILE__, __LINE__, true);
    2167            0 :                 return _r;
    2168              :               }
    2169            0 : next_after_fail739:;
    2170              :             }
    2171              :           else
    2172              :             {
    2173           32 :               if (wi::to_widest (captures[2]) >= prec
    2174              : )
    2175              :                 {
    2176           14 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail740;
    2177           14 :                   {
    2178           14 :                     tree _r;
    2179           14 :                     _r =  constant_boolean_node (cmp == GT_EXPR ? false : true, type);
    2180           14 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2181            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2182           14 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2183            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2184           14 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 608, __FILE__, __LINE__, true);
    2185           14 :                     return _r;
    2186              :                   }
    2187            0 : next_after_fail740:;
    2188              :                 }
    2189              :               else
    2190              :                 {
    2191           18 :                   if (wi::to_widest (captures[2]) == prec - 1
    2192              : )
    2193              :                     {
    2194            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail741;
    2195            2 :                       {
    2196            2 :                         tree res_op0;
    2197            2 :                         res_op0 = captures[1];
    2198            2 :                         tree res_op1;
    2199            2 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2200            2 :  wi::shifted_mask (prec - 1, 1,
    2201              :  false, prec));
    2202            2 :                         tree _r;
    2203            2 :                         _r = fold_build2_loc (loc, cmp3, type, res_op0, res_op1);
    2204            2 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2205            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2206            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 609, __FILE__, __LINE__, true);
    2207            2 :                         return _r;
    2208              :                       }
    2209            0 : next_after_fail741:;
    2210              :                     }
    2211              :                   else
    2212              :                     {
    2213           16 :                       if (single_use (captures[0])
    2214              : )
    2215              :                         {
    2216           16 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail742;
    2217           16 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail742;
    2218           16 :                           {
    2219           16 :                             if (! tree_invariant_p (captures[1])) goto next_after_fail742;
    2220            0 :                             tree res_op0;
    2221            0 :                             {
    2222            0 :                               tree _o1[2], _r1;
    2223            0 :                               _o1[0] = unshare_expr (captures[1]);
    2224            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2225            0 :                               _r1 = fold_build2_loc (loc, cmp2, type, _o1[0], _o1[1]);
    2226            0 :                               res_op0 = _r1;
    2227              :                             }
    2228            0 :                             tree res_op1;
    2229            0 :                             {
    2230            0 :                               tree _o1[2], _r1;
    2231            0 :                               {
    2232            0 :                                 tree _o2[2], _r2;
    2233            0 :                                 _o2[0] = captures[1];
    2234            0 :                                 _o2[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2235            0 :  wi::mask (tree_to_uhwi (captures[2]),
    2236              :  false, prec));
    2237            0 :                                 _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2238            0 :                                 _o1[0] = _r2;
    2239              :                               }
    2240            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2241            0 :                               _r1 = fold_build2_loc (loc, cmp3, type, _o1[0], _o1[1]);
    2242            0 :                               res_op1 = _r1;
    2243              :                             }
    2244            0 :                             tree _r;
    2245            0 :                             _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2246            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 610, __FILE__, __LINE__, true);
    2247            0 :                             return _r;
    2248              :                           }
    2249           16 : next_after_fail742:;
    2250              :                         }
    2251              :                     }
    2252              :                 }
    2253              :             }
    2254              :         }
    2255              :   }
    2256           16 :   return NULL_TREE;
    2257              : }
    2258              : 
    2259              : tree
    2260      4952370 : generic_simplify_439 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2261              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2262              : {
    2263      4952370 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2264      4952370 :   if (INTEGRAL_TYPE_P (type)
    2265      2799848 :  && TYPE_PRECISION (type) == 1
    2266      4966440 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    2267              : )
    2268              :     {
    2269        14070 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail786;
    2270        14070 :       {
    2271        14070 :         tree res_op0;
    2272        14070 :         res_op0 = captures[0];
    2273        14070 :         tree _r;
    2274        14070 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2275        14070 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 640, __FILE__, __LINE__, true);
    2276        14070 :         return _r;
    2277              :       }
    2278            0 : next_after_fail786:;
    2279              :     }
    2280              :   return NULL_TREE;
    2281              : }
    2282              : 
    2283              : tree
    2284            0 : generic_simplify_442 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2285              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2286              :  const combined_fn ARG_UNUSED (coshs),
    2287              :  const combined_fn ARG_UNUSED (atanhs),
    2288              :  const combined_fn ARG_UNUSED (sqrts))
    2289              : {
    2290            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2291            0 :   if (!flag_errno_math
    2292              : )
    2293              :     {
    2294            0 :       {
    2295            0 :  tree t_one = build_one_cst (type);
    2296            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail789;
    2297            0 :           {
    2298            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail789;
    2299            0 :             tree res_op0;
    2300            0 :             res_op0 =  t_one;
    2301            0 :             tree res_op1;
    2302            0 :             {
    2303            0 :               tree _o1[1], _r1;
    2304            0 :               {
    2305            0 :                 tree _o2[2], _r2;
    2306            0 :                 {
    2307            0 :                   tree _o3[2], _r3;
    2308            0 :                   _o3[0] =  t_one;
    2309            0 :                   _o3[1] = unshare_expr (captures[1]);
    2310            0 :                   _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2311            0 :                   _o2[0] = _r3;
    2312              :                 }
    2313            0 :                 {
    2314            0 :                   tree _o3[2], _r3;
    2315            0 :                   _o3[0] =  t_one;
    2316            0 :                   _o3[1] = captures[1];
    2317            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2318            0 :                   _o2[1] = _r3;
    2319              :                 }
    2320            0 :                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2321            0 :                 _o1[0] = _r2;
    2322              :               }
    2323            0 :               _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2324            0 :               if (!_r1)
    2325            0 :                 goto next_after_fail789;
    2326            0 :               res_op1 = _r1;
    2327              :             }
    2328            0 :             tree _r;
    2329            0 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    2330            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 643, __FILE__, __LINE__, true);
    2331            0 :             return _r;
    2332              :           }
    2333              : next_after_fail789:;
    2334              :       }
    2335              :     }
    2336              :   return NULL_TREE;
    2337              : }
    2338              : 
    2339              : tree
    2340            0 : generic_simplify_446 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2341              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2342              :  const combined_fn ARG_UNUSED (POW))
    2343              : {
    2344            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2345            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail793;
    2346            0 :   {
    2347            0 :     tree _r;
    2348            0 :     _r = captures[0];
    2349            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2350            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2351            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 647, __FILE__, __LINE__, true);
    2352              :     return _r;
    2353              :   }
    2354            0 : next_after_fail793:;
    2355            0 :   return NULL_TREE;
    2356              : }
    2357              : 
    2358              : tree
    2359            0 : generic_simplify_449 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2360              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2361              :  const combined_fn ARG_UNUSED (copysigns),
    2362              :  const combined_fn ARG_UNUSED (hypots))
    2363              : {
    2364            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2365            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail796;
    2366            0 :   {
    2367            0 :     tree res_op0;
    2368            0 :     res_op0 = captures[0];
    2369            0 :     tree res_op1;
    2370            0 :     res_op1 = captures[1];
    2371            0 :     tree _r;
    2372            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2373            0 :     if (!_r)
    2374            0 :       goto next_after_fail796;
    2375            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
    2376            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2377            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 650, __FILE__, __LINE__, true);
    2378              :     return _r;
    2379              :   }
    2380              : next_after_fail796:;
    2381              :   return NULL_TREE;
    2382              : }
    2383              : 
    2384              : tree
    2385           21 : generic_simplify_454 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2386              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2387              : {
    2388           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2389           42 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2390           42 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2391              : )
    2392              :     {
    2393            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail801;
    2394            0 :       {
    2395            0 :         tree res_op0;
    2396            0 :         res_op0 = captures[0];
    2397            0 :         tree res_op1;
    2398            0 :         res_op1 = captures[1];
    2399            0 :         tree _r;
    2400            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2401            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 655, __FILE__, __LINE__, true);
    2402            0 :         return _r;
    2403              :       }
    2404            0 : next_after_fail801:;
    2405              :     }
    2406              :   return NULL_TREE;
    2407              : }
    2408              : 
    2409              : tree
    2410            0 : generic_simplify_459 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2411              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2412              : {
    2413            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2414            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail806;
    2415            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail806;
    2416            0 :   {
    2417            0 :     tree res_op0;
    2418            0 :     res_op0 = captures[0];
    2419            0 :     tree res_op1;
    2420            0 :     {
    2421            0 :       tree _o1[1], _r1;
    2422            0 :       _o1[0] = captures[5];
    2423            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2424            0 :       res_op1 = _r1;
    2425              :     }
    2426            0 :     tree _r;
    2427            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2428            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 659, __FILE__, __LINE__, true);
    2429              :     return _r;
    2430              :   }
    2431              : next_after_fail806:;
    2432              :   return NULL_TREE;
    2433              : }
    2434              : 
    2435              : tree
    2436            0 : generic_simplify_465 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2437              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2438              : {
    2439            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2440            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail812;
    2441            0 :   {
    2442            0 :     tree res_op0;
    2443            0 :     res_op0 = captures[0];
    2444            0 :     tree res_op1;
    2445            0 :     res_op1 = captures[1];
    2446            0 :     tree _r;
    2447            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2448            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
    2449              :     return _r;
    2450              :   }
    2451            0 : next_after_fail812:;
    2452            0 :   return NULL_TREE;
    2453              : }
    2454              : 
    2455              : tree
    2456         1667 : generic_simplify_468 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2457              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2458              : {
    2459         1667 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2460         1667 :   {
    2461         1667 :  bool wascmp;
    2462         1667 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2463         1667 :  || bitwise_inverted_equal_p (captures[1], captures[2], wascmp)
    2464              : )
    2465              :         {
    2466            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail815;
    2467            8 :           {
    2468            8 :             tree _r;
    2469            8 :             _r =  wascmp ? constant_boolean_node (false, type) : build_zero_cst (type);
    2470            8 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2471            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2472            8 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2473            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2474            8 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2475            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2476            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
    2477            8 :             return _r;
    2478              :           }
    2479            0 : next_after_fail815:;
    2480              :         }
    2481              :   }
    2482         1659 :   return NULL_TREE;
    2483              : }
    2484              : 
    2485              : tree
    2486            0 : generic_simplify_480 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2487              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2488              :  const enum tree_code ARG_UNUSED (eqne))
    2489              : {
    2490            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2491            0 :   if (eqne == EQ_EXPR
    2492              : )
    2493              :     {
    2494            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail848;
    2495            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail848;
    2496            0 :       {
    2497            0 :         tree _r;
    2498            0 :         _r =  constant_boolean_node (false, type);
    2499            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2500            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2501            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2502            0 :         return _r;
    2503              :       }
    2504              : next_after_fail848:;
    2505              :     }
    2506              :   else
    2507              :     {
    2508            0 :       if (eqne == NE_EXPR
    2509              : )
    2510              :         {
    2511            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail849;
    2512            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail849;
    2513            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail849;
    2514            0 :           {
    2515            0 :             tree _r;
    2516            0 :             _r = captures[0];
    2517            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 675, __FILE__, __LINE__, true);
    2518            0 :             return _r;
    2519              :           }
    2520              : next_after_fail849:;
    2521              :         }
    2522              :     }
    2523              :   return NULL_TREE;
    2524              : }
    2525              : 
    2526              : tree
    2527            4 : generic_simplify_488 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2528              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2529              : {
    2530            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2531            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail869;
    2532            4 :   {
    2533            4 :     tree res_op0;
    2534            4 :     res_op0 = captures[1];
    2535            4 :     tree res_op1;
    2536            4 :     {
    2537            4 :       tree _o1[2], _r1;
    2538            4 :       _o1[0] = captures[2];
    2539            4 :       _o1[1] = captures[3];
    2540            4 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2541            4 :       if (EXPR_P (_r1))
    2542            2 :         goto next_after_fail869;
    2543            2 :       res_op1 = _r1;
    2544              :     }
    2545            2 :     tree _r;
    2546            2 :     _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2547            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 693, __FILE__, __LINE__, true);
    2548              :     return _r;
    2549              :   }
    2550              : next_after_fail869:;
    2551              :   return NULL_TREE;
    2552              : }
    2553              : 
    2554              : tree
    2555        39032 : generic_simplify_492 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2556              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2557              :  const enum tree_code ARG_UNUSED (shift))
    2558              : {
    2559        39032 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2560        39032 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2561        23502 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2562        23502 :  && tree_fits_uhwi_p (captures[4])
    2563        23502 :  && tree_to_uhwi (captures[4]) > 0
    2564        62532 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2565              : )
    2566              :     {
    2567        23500 :       {
    2568        23500 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2569        23500 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2570        23500 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2571        23500 :  tree shift_type = TREE_TYPE (captures[2]);
    2572        23500 :  unsigned int prec;
    2573        23500 :  if (shift == LSHIFT_EXPR)
    2574            0 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2575        23500 :  else if (shift == RSHIFT_EXPR
    2576        23500 :  && type_has_mode_precision_p (shift_type))
    2577              :  {
    2578        23500 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2579        23500 :  tree arg00 = captures[3];
    2580        23500 :  if (captures[2] != captures[3]
    2581        23500 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2582              :  {
    2583            0 :  tree inner_type = TREE_TYPE (captures[3]);
    2584            0 :  if (type_has_mode_precision_p (inner_type)
    2585            0 :  && TYPE_PRECISION (inner_type) < prec)
    2586              :  {
    2587            0 :  prec = TYPE_PRECISION (inner_type);
    2588            0 :  if (shiftc < prec)
    2589            0 :  shift_type = inner_type;
    2590              :  }
    2591              :  }
    2592        23500 :  zerobits = HOST_WIDE_INT_M1U;
    2593        23500 :  if (shiftc < prec)
    2594              :  {
    2595        23500 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2596        23500 :  zerobits <<= prec - shiftc;
    2597              :  }
    2598        23500 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2599        23500 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2600              :  {
    2601           98 :  if ((mask & zerobits) == 0)
    2602           82 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2603              :  else
    2604              :  zerobits = 0;
    2605              :  }
    2606              :  }
    2607        23484 :           if ((mask & zerobits) == mask
    2608              : )
    2609              :             {
    2610            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail879;
    2611            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail879;
    2612            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail879;
    2613            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail879;
    2614            0 :               {
    2615            0 :                 tree _r;
    2616            0 :                 _r =  build_int_cst (type, 0);
    2617            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 694, __FILE__, __LINE__, true);
    2618            0 :                 return _r;
    2619              :               }
    2620              : next_after_fail879:;
    2621              :             }
    2622              :           else
    2623              :             {
    2624        23500 :               {
    2625        23500 :  newmask = mask | zerobits;
    2626        23500 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2627              : )
    2628              :                     {
    2629              :                       {
    2630          109 :  for (prec = BITS_PER_UNIT;
    2631          181 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2632          171 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2633              :  break;
    2634           72 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2635           10 :  || newmask == HOST_WIDE_INT_M1U
    2636              : )
    2637              :                             {
    2638           72 :                               {
    2639           72 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2640           72 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2641              : )
    2642              :                                     {
    2643           72 :                                       if (shift_type != TREE_TYPE (captures[2])
    2644              : )
    2645              :                                         {
    2646           11 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail880;
    2647           11 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail880;
    2648           11 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail880;
    2649           11 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail880;
    2650           11 :                                           {
    2651           11 :                                             tree res_op0;
    2652           11 :                                             {
    2653           11 :                                               tree _o1[1], _r1;
    2654           11 :                                               {
    2655           11 :                                                 tree _o2[2], _r2;
    2656           11 :                                                 {
    2657           11 :                                                   tree _o3[1], _r3;
    2658           11 :                                                   _o3[0] = captures[2];
    2659           11 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2660              :                                                     {
    2661           11 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2662              :                                                     }
    2663              :                                                   else
    2664              :                                                     _r3 = _o3[0];
    2665           11 :                                                   _o2[0] = _r3;
    2666              :                                                 }
    2667           11 :                                                 _o2[1] = captures[4];
    2668           11 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2669           11 :                                                 _o1[0] = _r2;
    2670              :                                               }
    2671           11 :                                               if (TREE_TYPE (_o1[0]) != type)
    2672              :                                                 {
    2673           11 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2674              :                                                 }
    2675              :                                               else
    2676              :                                                 _r1 = _o1[0];
    2677           11 :                                               res_op0 = _r1;
    2678              :                                             }
    2679           11 :                                             tree res_op1;
    2680           11 :                                             res_op1 =  newmaskt;
    2681           11 :                                             tree _r;
    2682           11 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2683           11 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 695, __FILE__, __LINE__, true);
    2684           11 :                                             return _r;
    2685              :                                           }
    2686              : next_after_fail880:;
    2687              :                                         }
    2688              :                                       else
    2689              :                                         {
    2690           61 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail881;
    2691           61 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail881;
    2692           61 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail881;
    2693           61 :                                           {
    2694           61 :                                             tree res_op0;
    2695           61 :                                             res_op0 = captures[0];
    2696           61 :                                             tree res_op1;
    2697           61 :                                             res_op1 =  newmaskt;
    2698           61 :                                             tree _r;
    2699           61 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2700           61 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 696, __FILE__, __LINE__, true);
    2701           61 :                                             return _r;
    2702              :                                           }
    2703              : next_after_fail881:;
    2704              :                                         }
    2705              :                                     }
    2706              :                               }
    2707              :                             }
    2708              :                       }
    2709              :                     }
    2710              :               }
    2711              :             }
    2712              :       }
    2713              :     }
    2714              :   return NULL_TREE;
    2715              : }
    2716              : 
    2717              : tree
    2718           17 : generic_simplify_503 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2719              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2720              : {
    2721           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2722           17 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail894;
    2723           17 :   {
    2724           17 :     tree res_op0;
    2725           17 :     res_op0 = captures[0];
    2726           17 :     tree res_op1;
    2727           17 :     res_op1 = captures[1];
    2728           17 :     tree _r;
    2729           17 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2730           17 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 708, __FILE__, __LINE__, true);
    2731              :     return _r;
    2732              :   }
    2733            0 : next_after_fail894:;
    2734            0 :   return NULL_TREE;
    2735              : }
    2736              : 
    2737              : tree
    2738            4 : generic_simplify_509 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2739              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2740              : {
    2741            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2742            4 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2743            7 :  && (element_precision (TREE_TYPE (captures[2]))
    2744            3 :  <= element_precision (TREE_TYPE (captures[3]))
    2745            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2746              : )
    2747              :     {
    2748            3 :       {
    2749            3 :  tree shift_type = TREE_TYPE (captures[2]);
    2750            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail900;
    2751            3 :           {
    2752            3 :             tree res_op0;
    2753            3 :             {
    2754            3 :               tree _o1[2], _r1;
    2755            3 :               {
    2756            3 :                 tree _o2[1], _r2;
    2757            3 :                 _o2[0] = captures[3];
    2758            3 :                 if (TREE_TYPE (_o2[0]) != shift_type)
    2759              :                   {
    2760            1 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
    2761              :                   }
    2762              :                 else
    2763              :                   _r2 = _o2[0];
    2764            3 :                 _o1[0] = _r2;
    2765              :               }
    2766            3 :               _o1[1] = captures[4];
    2767            3 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2768            3 :               res_op0 = _r1;
    2769              :             }
    2770            3 :             tree _r;
    2771            3 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2772            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 710, __FILE__, __LINE__, true);
    2773            3 :             return _r;
    2774              :           }
    2775            0 : next_after_fail900:;
    2776              :       }
    2777              :     }
    2778              :   return NULL_TREE;
    2779              : }
    2780              : 
    2781              : tree
    2782         2443 : generic_simplify_518 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2783              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2784              : {
    2785         2443 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2786         2443 :   if (! TYPE_UNSIGNED (type)
    2787         2051 :  && ! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2788         2443 :  && single_use (captures[0])
    2789              : )
    2790              :     {
    2791         2051 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail910;
    2792         2051 :       {
    2793         2051 :         tree res_op0;
    2794         2051 :         res_op0 = captures[1];
    2795         2051 :         tree res_op1;
    2796         2051 :         {
    2797         2051 :           tree _o1[1], _r1;
    2798         2051 :           _o1[0] = captures[2];
    2799         2051 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2800         2051 :           res_op1 = _r1;
    2801              :         }
    2802         2051 :         tree _r;
    2803         2051 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2804         2051 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 722, __FILE__, __LINE__, true);
    2805         2051 :         return _r;
    2806              :       }
    2807            0 : next_after_fail910:;
    2808              :     }
    2809              :   return NULL_TREE;
    2810              : }
    2811              : 
    2812              : tree
    2813            0 : generic_simplify_528 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2814              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2815              :  const enum tree_code ARG_UNUSED (minmax))
    2816              : {
    2817            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2818            0 :   if (TYPE_UNSIGNED (type)
    2819            0 :  || (tree_int_cst_sgn (captures[2]) == tree_int_cst_sgn (captures[4]))
    2820              : )
    2821              :     {
    2822            0 :       {
    2823            0 :  auto andvalue = wi::to_wide (captures[2]) & wi::to_wide (captures[4]);
    2824            0 :           if (andvalue == ((minmax == MIN_EXPR)
    2825            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    2826              : )
    2827              :             {
    2828            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail921;
    2829            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail921;
    2830            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail921;
    2831            0 :               {
    2832            0 :                 tree _r;
    2833            0 :                 _r = captures[0];
    2834            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 732, __FILE__, __LINE__, true);
    2835            0 :                 return _r;
    2836              :               }
    2837            0 : next_after_fail921:;
    2838              :             }
    2839              :           else
    2840              :             {
    2841            0 :               if (andvalue == ((minmax != MIN_EXPR)
    2842            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    2843              : )
    2844              :                 {
    2845            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail922;
    2846            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail922;
    2847            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail922;
    2848            0 :                   {
    2849            0 :                     tree _r;
    2850            0 :                     _r = captures[3];
    2851            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 733, __FILE__, __LINE__, true);
    2852            0 :                     return _r;
    2853              :                   }
    2854            0 : next_after_fail922:;
    2855              :                 }
    2856              :             }
    2857            0 :       }
    2858              :     }
    2859              :   return NULL_TREE;
    2860              : }
    2861              : 
    2862              : tree
    2863            0 : generic_simplify_540 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2864              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2865              :  const combined_fn ARG_UNUSED (FMIN_ALL))
    2866              : {
    2867            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2868            0 :   if (flag_finite_math_only
    2869              : )
    2870              :     {
    2871            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail947;
    2872            0 :       {
    2873            0 :         tree res_op0;
    2874            0 :         res_op0 = captures[0];
    2875            0 :         tree res_op1;
    2876            0 :         res_op1 = captures[1];
    2877            0 :         tree _r;
    2878            0 :         _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    2879            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 746, __FILE__, __LINE__, true);
    2880            0 :         return _r;
    2881              :       }
    2882            0 : next_after_fail947:;
    2883              :     }
    2884              :   return NULL_TREE;
    2885              : }
    2886              : 
    2887              : tree
    2888            0 : generic_simplify_546 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2889              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2890              :  const enum tree_code ARG_UNUSED (cmp))
    2891              : {
    2892            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2893            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail953;
    2894            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail953;
    2895            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail953;
    2896            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail953;
    2897            0 :   {
    2898            0 :     tree _r;
    2899            0 :     _r = captures[0];
    2900            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
    2901              :     return _r;
    2902              :   }
    2903              : next_after_fail953:;
    2904              :   return NULL_TREE;
    2905              : }
    2906              : 
    2907              : tree
    2908            0 : generic_simplify_556 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2910              :  const combined_fn ARG_UNUSED (cond_op))
    2911              : {
    2912            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2913            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail963;
    2914            0 :   {
    2915            0 :     tree res_op0;
    2916            0 :     {
    2917            0 :       tree _o1[2], _r1;
    2918            0 :       _o1[0] = captures[2];
    2919            0 :       _o1[1] = captures[0];
    2920            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2921            0 :       res_op0 = _r1;
    2922              :     }
    2923            0 :     tree res_op1;
    2924            0 :     res_op1 = captures[3];
    2925            0 :     tree res_op2;
    2926            0 :     res_op2 = captures[4];
    2927            0 :     tree res_op3;
    2928            0 :     res_op3 = captures[5];
    2929            0 :     tree res_op4;
    2930            0 :     res_op4 = captures[6];
    2931            0 :     tree _r;
    2932            0 :     _r = maybe_build_call_expr_loc (loc, cond_op, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    2933            0 :     if (!_r)
    2934            0 :       goto next_after_fail963;
    2935            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 757, __FILE__, __LINE__, true);
    2936              :     return _r;
    2937              :   }
    2938              : next_after_fail963:;
    2939              :   return NULL_TREE;
    2940              : }
    2941              : 
    2942              : tree
    2943            0 : generic_simplify_562 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2944              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2945              :  const combined_fn ARG_UNUSED (bswap))
    2946              : {
    2947            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2948            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail972;
    2949            0 :   {
    2950            0 :     tree res_op0;
    2951            0 :     res_op0 = captures[0];
    2952            0 :     tree _r;
    2953            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2954            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 766, __FILE__, __LINE__, true);
    2955              :     return _r;
    2956              :   }
    2957            0 : next_after_fail972:;
    2958            0 :   return NULL_TREE;
    2959              : }
    2960              : 
    2961              : tree
    2962            0 : generic_simplify_569 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2963              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2964              :  const combined_fn ARG_UNUSED (logs))
    2965              : {
    2966            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2967            0 :   if (flag_unsafe_math_optimizations
    2968              : )
    2969              :     {
    2970            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2971            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2972            0 :  && ! flag_trapping_math
    2973            0 :  && ! flag_errno_math
    2974              : )
    2975              :         {
    2976            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail979;
    2977            0 :           {
    2978            0 :             tree res_op0;
    2979            0 :             {
    2980            0 :               tree _o1[1], _r1;
    2981            0 :               _o1[0] = captures[2];
    2982            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2983            0 :               if (!_r1)
    2984            0 :                 goto next_after_fail979;
    2985            0 :               res_op0 = _r1;
    2986              :             }
    2987            0 :             tree _r;
    2988            0 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    2989            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2990            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2991            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 773, __FILE__, __LINE__, true);
    2992            0 :             return _r;
    2993              :           }
    2994              : next_after_fail979:;
    2995              :         }
    2996              :     }
    2997              :   return NULL_TREE;
    2998              : }
    2999              : 
    3000              : tree
    3001            0 : generic_simplify_578 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3002              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3003              :  const combined_fn ARG_UNUSED (froms),
    3004              :  const combined_fn ARG_UNUSED (tos))
    3005              : {
    3006            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3007            0 :   if (optimize && canonicalize_math_p ()
    3008              : )
    3009              :     {
    3010            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail988;
    3011            0 :       {
    3012            0 :         tree res_op0;
    3013            0 :         {
    3014            0 :           tree _o1[1], _r1;
    3015            0 :           _o1[0] = captures[0];
    3016            0 :           _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3017            0 :           if (!_r1)
    3018            0 :             goto next_after_fail988;
    3019            0 :           res_op0 = _r1;
    3020              :         }
    3021            0 :         tree _r;
    3022            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3023            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 782, __FILE__, __LINE__, true);
    3024            0 :         return _r;
    3025              :       }
    3026              : next_after_fail988:;
    3027              :     }
    3028              :   return NULL_TREE;
    3029              : }
    3030              : 
    3031              : tree
    3032            0 : generic_simplify_587 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3033              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3034              :  const combined_fn ARG_UNUSED (ifn),
    3035              :  const combined_fn ARG_UNUSED (lfn),
    3036              :  const combined_fn ARG_UNUSED (llfn))
    3037              : {
    3038            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3039            0 :   if (canonicalize_math_p ()
    3040              : )
    3041              :     {
    3042            0 :       if (TYPE_PRECISION (long_long_integer_type_node)
    3043            0 :  == TYPE_PRECISION (long_integer_type_node)
    3044              : )
    3045              :         {
    3046            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail997;
    3047            0 :           {
    3048            0 :             tree res_op0;
    3049            0 :             res_op0 = captures[0];
    3050            0 :             tree _r;
    3051            0 :             _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
    3052            0 :             if (!_r)
    3053            0 :               goto next_after_fail997;
    3054            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 791, __FILE__, __LINE__, true);
    3055            0 :             return _r;
    3056              :           }
    3057              : next_after_fail997:;
    3058              :         }
    3059              :     }
    3060              :   return NULL_TREE;
    3061              : }
    3062              : 
    3063              : tree
    3064            0 : generic_simplify_598 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3065              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3066              : {
    3067            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3068            0 :   if (canonicalize_math_after_vectorization_p ()
    3069              : )
    3070              :     {
    3071              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1008;
    3072              :       {
    3073              :         tree res_op0;
    3074              :         res_op0 = captures[0];
    3075              :         tree res_op1;
    3076              :         res_op1 = captures[1];
    3077              :         tree res_op2;
    3078              :         res_op2 = captures[2];
    3079              :         tree _r;
    3080              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3081              :         if (!_r)
    3082              :           goto next_after_fail1008;
    3083              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 802, __FILE__, __LINE__, true);
    3084              :         return _r;
    3085              :       }
    3086            0 : next_after_fail1008:;
    3087              :     }
    3088            0 :   return NULL_TREE;
    3089              : }
    3090              : 
    3091              : tree
    3092            0 : generic_simplify_607 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3093              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3094              : {
    3095            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3096            0 :   if (canonicalize_math_after_vectorization_p ()
    3097              : )
    3098              :     {
    3099              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1017;
    3100              :       {
    3101              :         tree res_op0;
    3102              :         res_op0 = captures[0];
    3103              :         tree res_op1;
    3104              :         res_op1 = captures[1];
    3105              :         tree res_op2;
    3106              :         res_op2 = captures[2];
    3107              :         tree res_op3;
    3108              :         res_op3 = captures[3];
    3109              :         tree res_op4;
    3110              :         res_op4 = captures[4];
    3111              :         tree _r;
    3112              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3113              :         if (!_r)
    3114              :           goto next_after_fail1017;
    3115              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 811, __FILE__, __LINE__, true);
    3116              :         return _r;
    3117              :       }
    3118            0 : next_after_fail1017:;
    3119              :     }
    3120            0 :   return NULL_TREE;
    3121              : }
    3122              : 
    3123              : tree
    3124            0 : generic_simplify_617 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3125              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3126              :  const enum tree_code ARG_UNUSED (rot),
    3127              :  const combined_fn ARG_UNUSED (popcount))
    3128              : {
    3129            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3130            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3131            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3132            0 :  && (
    3133              : 
    3134            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3135              : )
    3136              :     {
    3137            0 :       {
    3138            0 :  tree type0 = TREE_TYPE (captures[0]);
    3139            0 :  tree type1 = TREE_TYPE (captures[1]);
    3140            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3141            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3142            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3143              : )
    3144              :             {
    3145            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1027;
    3146            0 :               {
    3147            0 :                 tree res_op0;
    3148            0 :                 {
    3149            0 :                   tree _o1[1], _r1;
    3150            0 :                   _o1[0] = captures[2];
    3151            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3152              :                     {
    3153            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3154              :                     }
    3155              :                   else
    3156              :                     _r1 = _o1[0];
    3157            0 :                   res_op0 = _r1;
    3158              :                 }
    3159            0 :                 tree _r;
    3160            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3161            0 :                 if (!_r)
    3162            0 :                   goto next_after_fail1027;
    3163            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    3164            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3165            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 815, __FILE__, __LINE__, true);
    3166            0 :                 return _r;
    3167              :               }
    3168              : next_after_fail1027:;
    3169              :             }
    3170              :       }
    3171              :     }
    3172              :   return NULL_TREE;
    3173              : }
    3174              : 
    3175              : tree
    3176            0 : generic_simplify_627 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3177              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3178              : {
    3179            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3180            0 :   {
    3181            0 :  bool can_fold = false;
    3182            0 :  unsigned HOST_WIDE_INT nelts;
    3183            0 :  vec_perm_builder builder;
    3184            0 :  if (TYPE_VECTOR_SUBPARTS (type).is_constant (&nelts)
    3185            0 :  && tree_to_vec_perm_builder (&builder, captures[2]))
    3186              :  {
    3187            0 :  vec_perm_indices sel0 (builder, 2, VECTOR_CST_NELTS (captures[2]));
    3188            0 :  unsigned int sel0_first_idx = sel0[0].to_constant ();
    3189            0 :  unsigned int elt_size = vector_element_bits (TREE_TYPE (captures[0]));
    3190            0 :  unsigned int ia_size = tree_to_uhwi (TYPE_SIZE (type))
    3191            0 :  - elt_size * sel0_first_idx;
    3192            0 :  unsigned int ib_start;
    3193            0 :  if (sel0.series_p (0, 1, sel0_first_idx, 1)
    3194            0 :  && multiple_p (ia_size, vector_element_bits (type), &ib_start)
    3195            0 :  && tree_to_vec_perm_builder (&builder, captures[5]))
    3196              :  {
    3197            0 :  vec_perm_indices sel1 (builder, 2, VECTOR_CST_NELTS (captures[5]));
    3198            0 :  can_fold = sel1.series_p (ib_start, 1, nelts + ib_start, 1);
    3199            0 :  if (can_fold)
    3200            0 :  for (unsigned int i = 0; i < ib_start; i++)
    3201            0 :  if (sel1[i].to_constant () != i)
    3202              :  {
    3203              :  can_fold = false;
    3204              :  break;
    3205              :  }
    3206            0 :  }
    3207            0 :  }
    3208            0 :       if (can_fold
    3209              : )
    3210              :         {
    3211            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1039;
    3212            0 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1039;
    3213            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1039;
    3214            0 :           {
    3215            0 :             tree res_op0;
    3216            0 :             {
    3217            0 :               tree _o1[3], _r1;
    3218            0 :               _o1[0] = captures[0];
    3219            0 :               _o1[1] = captures[4];
    3220            0 :               _o1[2] = captures[2];
    3221            0 :               _r1 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1], _o1[2]);
    3222            0 :               res_op0 = _r1;
    3223              :             }
    3224            0 :             tree _r;
    3225            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3226            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3227            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3228            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3229            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3230            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 826, __FILE__, __LINE__, true);
    3231            0 :             return _r;
    3232              :           }
    3233            0 : next_after_fail1039:;
    3234              :         }
    3235            0 :   }
    3236            0 :   return NULL_TREE;
    3237              : }
    3238              : 
    3239              : tree
    3240         3678 : generic_simplify_PAREN_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3241              : {
    3242         3678 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3243         3678 :   switch (TREE_CODE (_p0))
    3244              :     {
    3245            2 :     case PAREN_EXPR:
    3246            2 :       {
    3247            2 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3248            2 :         {
    3249            2 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3250            2 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1133;
    3251            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1133;
    3252            2 :           {
    3253            2 :             tree _r;
    3254            2 :             _r = captures[0];
    3255            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    3256            2 :             return _r;
    3257              :           }
    3258            0 : next_after_fail1133:;
    3259              :         }
    3260            0 :         break;
    3261              :       }
    3262         3676 :     default:;
    3263              :     }
    3264         3676 : if (CONSTANT_CLASS_P (_p0))
    3265              :   {
    3266            1 :     {
    3267            1 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3268            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1134;
    3269            1 :       {
    3270            1 :         tree _r;
    3271            1 :         _r = captures[0];
    3272            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3273            1 :         return _r;
    3274              :       }
    3275            0 : next_after_fail1134:;
    3276              :     }
    3277              :   }
    3278              :   return NULL_TREE;
    3279              : }
    3280              : 
    3281              : tree
    3282      1655890 : generic_simplify_REALPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3283              : {
    3284      1655890 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3285      1655890 :   switch (TREE_CODE (_p0))
    3286              :     {
    3287         9611 :     case COMPLEX_EXPR:
    3288         9611 :       {
    3289         9611 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3290         9611 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3291         9611 :         {
    3292         9611 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3293         9611 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1135;
    3294         9611 :           {
    3295         9611 :             tree _r;
    3296         9611 :             _r = captures[0];
    3297         9611 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3298         1366 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3299         9611 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3300         9611 :             return _r;
    3301              :           }
    3302            0 : next_after_fail1135:;
    3303              :         }
    3304            0 :         break;
    3305              :       }
    3306        45288 :     CASE_CONVERT:
    3307        45288 :       {
    3308        45288 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3309        45288 :         switch (TREE_CODE (_q20))
    3310              :           {
    3311            0 :           case CONJ_EXPR:
    3312            0 :             {
    3313            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3314            0 :               {
    3315            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3316            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1136;
    3317            0 :                 {
    3318            0 :                   tree res_op0;
    3319            0 :                   {
    3320            0 :                     tree _o1[1], _r1;
    3321            0 :                     _o1[0] = captures[2];
    3322            0 :                     _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    3323            0 :                     res_op0 = _r1;
    3324              :                   }
    3325            0 :                   tree _r;
    3326            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3327            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 881, __FILE__, __LINE__, true);
    3328            0 :                   return _r;
    3329              :                 }
    3330            0 : next_after_fail1136:;
    3331              :               }
    3332            0 :               break;
    3333              :             }
    3334            0 :           case PLUS_EXPR:
    3335            0 :             {
    3336            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3337            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3338            0 :               {
    3339            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3340            0 :                 const enum tree_code op = PLUS_EXPR;
    3341            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1137;
    3342            0 :                 {
    3343            0 :                   tree res_op0;
    3344            0 :                   {
    3345            0 :                     tree _o1[2], _r1;
    3346            0 :                     {
    3347            0 :                       tree _o2[1], _r2;
    3348            0 :                       _o2[0] = captures[2];
    3349            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3350            0 :                       _o1[0] = _r2;
    3351              :                     }
    3352            0 :                     {
    3353            0 :                       tree _o2[1], _r2;
    3354            0 :                       _o2[0] = captures[3];
    3355            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3356            0 :                       _o1[1] = _r2;
    3357              :                     }
    3358            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3359            0 :                     res_op0 = _r1;
    3360              :                   }
    3361            0 :                   tree _r;
    3362            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3363            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3364            0 :                   return _r;
    3365              :                 }
    3366            0 : next_after_fail1137:;
    3367              :               }
    3368            0 :               break;
    3369              :             }
    3370            0 :           case MINUS_EXPR:
    3371            0 :             {
    3372            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3373            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3374            0 :               {
    3375            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3376            0 :                 const enum tree_code op = MINUS_EXPR;
    3377            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1138;
    3378            0 :                 {
    3379            0 :                   tree res_op0;
    3380            0 :                   {
    3381            0 :                     tree _o1[2], _r1;
    3382            0 :                     {
    3383            0 :                       tree _o2[1], _r2;
    3384            0 :                       _o2[0] = captures[2];
    3385            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3386            0 :                       _o1[0] = _r2;
    3387              :                     }
    3388            0 :                     {
    3389            0 :                       tree _o2[1], _r2;
    3390            0 :                       _o2[0] = captures[3];
    3391            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3392            0 :                       _o1[1] = _r2;
    3393              :                     }
    3394            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3395            0 :                     res_op0 = _r1;
    3396              :                   }
    3397            0 :                   tree _r;
    3398            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3399            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3400            0 :                   return _r;
    3401              :                 }
    3402            0 : next_after_fail1138:;
    3403              :               }
    3404            0 :               break;
    3405              :             }
    3406            0 :           case CALL_EXPR:
    3407            0 :             switch (get_call_combined_fn (_q20))
    3408              :               {
    3409            0 :               case CFN_BUILT_IN_CEXPIF:
    3410            0 :                 if (call_expr_nargs (_q20) == 1)
    3411              :     {
    3412            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3413            0 :                     {
    3414            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3415            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3416              : )
    3417              :                         {
    3418            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1139;
    3419            0 :                           {
    3420            0 :                             tree res_op0;
    3421            0 :                             {
    3422            0 :                               tree _o1[1], _r1;
    3423            0 :                               _o1[0] = captures[2];
    3424            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3425            0 :                               if (!_r1)
    3426            0 :                                 goto next_after_fail1139;
    3427            0 :                               res_op0 = _r1;
    3428              :                             }
    3429            0 :                             tree _r;
    3430            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3431            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3432            0 :                             return _r;
    3433              :                           }
    3434            0 : next_after_fail1139:;
    3435              :                         }
    3436              :                     }
    3437              :                   }
    3438              :                 break;
    3439            0 :               case CFN_BUILT_IN_CEXPIL:
    3440            0 :                 if (call_expr_nargs (_q20) == 1)
    3441              :     {
    3442            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3443            0 :                     {
    3444            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3445            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3446              : )
    3447              :                         {
    3448            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1140;
    3449            0 :                           {
    3450            0 :                             tree res_op0;
    3451            0 :                             {
    3452            0 :                               tree _o1[1], _r1;
    3453            0 :                               _o1[0] = captures[2];
    3454            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3455            0 :                               if (!_r1)
    3456            0 :                                 goto next_after_fail1140;
    3457            0 :                               res_op0 = _r1;
    3458              :                             }
    3459            0 :                             tree _r;
    3460            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3461            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3462            0 :                             return _r;
    3463              :                           }
    3464            0 : next_after_fail1140:;
    3465              :                         }
    3466              :                     }
    3467              :                   }
    3468              :                 break;
    3469            0 :               case CFN_BUILT_IN_CEXPI:
    3470            0 :                 if (call_expr_nargs (_q20) == 1)
    3471              :     {
    3472            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3473            0 :                     {
    3474            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3475            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3476              : )
    3477              :                         {
    3478            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1141;
    3479            0 :                           {
    3480            0 :                             tree res_op0;
    3481            0 :                             {
    3482            0 :                               tree _o1[1], _r1;
    3483            0 :                               _o1[0] = captures[2];
    3484            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3485            0 :                               if (!_r1)
    3486            0 :                                 goto next_after_fail1141;
    3487            0 :                               res_op0 = _r1;
    3488              :                             }
    3489            0 :                             tree _r;
    3490            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3491            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3492            0 :                             return _r;
    3493              :                           }
    3494            0 : next_after_fail1141:;
    3495              :                         }
    3496              :                     }
    3497              :                   }
    3498              :                 break;
    3499              :               default:;
    3500              :               }
    3501              :             break;
    3502              :           default:;
    3503              :           }
    3504              :         break;
    3505              :       }
    3506           16 :     case CONJ_EXPR:
    3507           16 :       {
    3508           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3509           16 :         {
    3510           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3511           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1142;
    3512           16 :           {
    3513           16 :             tree res_op0;
    3514           16 :             {
    3515           16 :               tree _o1[1], _r1;
    3516           16 :               _o1[0] = captures[2];
    3517           16 :               _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    3518           16 :               res_op0 = _r1;
    3519              :             }
    3520           16 :             tree _r;
    3521           16 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3522           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 881, __FILE__, __LINE__, true);
    3523           16 :             return _r;
    3524              :           }
    3525            0 : next_after_fail1142:;
    3526              :         }
    3527            0 :         break;
    3528              :       }
    3529          407 :     case PLUS_EXPR:
    3530          407 :       {
    3531          407 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3532          407 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3533          407 :         {
    3534          407 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3535          407 :           const enum tree_code op = PLUS_EXPR;
    3536          407 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1143;
    3537          407 :           {
    3538          407 :             tree res_op0;
    3539          407 :             {
    3540          407 :               tree _o1[2], _r1;
    3541          407 :               {
    3542          407 :                 tree _o2[1], _r2;
    3543          407 :                 _o2[0] = captures[2];
    3544          407 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3545          407 :                 _o1[0] = _r2;
    3546              :               }
    3547          407 :               {
    3548          407 :                 tree _o2[1], _r2;
    3549          407 :                 _o2[0] = captures[3];
    3550          407 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3551          407 :                 _o1[1] = _r2;
    3552              :               }
    3553          407 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3554          407 :               res_op0 = _r1;
    3555              :             }
    3556          407 :             tree _r;
    3557          407 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3558          407 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3559          407 :             return _r;
    3560              :           }
    3561            0 : next_after_fail1143:;
    3562              :         }
    3563            0 :         break;
    3564              :       }
    3565           47 :     case MINUS_EXPR:
    3566           47 :       {
    3567           47 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3568           47 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3569           47 :         {
    3570           47 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3571           47 :           const enum tree_code op = MINUS_EXPR;
    3572           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1144;
    3573           47 :           {
    3574           47 :             tree res_op0;
    3575           47 :             {
    3576           47 :               tree _o1[2], _r1;
    3577           47 :               {
    3578           47 :                 tree _o2[1], _r2;
    3579           47 :                 _o2[0] = captures[2];
    3580           47 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3581           47 :                 _o1[0] = _r2;
    3582              :               }
    3583           47 :               {
    3584           47 :                 tree _o2[1], _r2;
    3585           47 :                 _o2[0] = captures[3];
    3586           47 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3587           47 :                 _o1[1] = _r2;
    3588              :               }
    3589           47 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3590           47 :               res_op0 = _r1;
    3591              :             }
    3592           47 :             tree _r;
    3593           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3594           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3595           47 :             return _r;
    3596              :           }
    3597            0 : next_after_fail1144:;
    3598              :         }
    3599            0 :         break;
    3600              :       }
    3601          263 :     case CALL_EXPR:
    3602          263 :       switch (get_call_combined_fn (_p0))
    3603              :         {
    3604            0 :         case CFN_BUILT_IN_CEXPIF:
    3605            0 :           if (call_expr_nargs (_p0) == 1)
    3606              :     {
    3607            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3608            0 :               {
    3609            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3610            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3611              : )
    3612              :                   {
    3613            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1145;
    3614            0 :                     {
    3615            0 :                       tree res_op0;
    3616            0 :                       {
    3617            0 :                         tree _o1[1], _r1;
    3618            0 :                         _o1[0] = captures[2];
    3619            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3620            0 :                         if (!_r1)
    3621            0 :                           goto next_after_fail1145;
    3622            0 :                         res_op0 = _r1;
    3623              :                       }
    3624            0 :                       tree _r;
    3625            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3626            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3627            0 :                       return _r;
    3628              :                     }
    3629            0 : next_after_fail1145:;
    3630              :                   }
    3631              :               }
    3632              :             }
    3633              :           break;
    3634            0 :         case CFN_BUILT_IN_CEXPIL:
    3635            0 :           if (call_expr_nargs (_p0) == 1)
    3636              :     {
    3637            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3638            0 :               {
    3639            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3640            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3641              : )
    3642              :                   {
    3643            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1146;
    3644            0 :                     {
    3645            0 :                       tree res_op0;
    3646            0 :                       {
    3647            0 :                         tree _o1[1], _r1;
    3648            0 :                         _o1[0] = captures[2];
    3649            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3650            0 :                         if (!_r1)
    3651            0 :                           goto next_after_fail1146;
    3652            0 :                         res_op0 = _r1;
    3653              :                       }
    3654            0 :                       tree _r;
    3655            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3656            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3657            0 :                       return _r;
    3658              :                     }
    3659            0 : next_after_fail1146:;
    3660              :                   }
    3661              :               }
    3662              :             }
    3663              :           break;
    3664            1 :         case CFN_BUILT_IN_CEXPI:
    3665            1 :           if (call_expr_nargs (_p0) == 1)
    3666              :     {
    3667            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3668            1 :               {
    3669            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3670            1 :                 if (single_use (captures[1]) && single_use (captures[0])
    3671              : )
    3672              :                   {
    3673            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1147;
    3674            1 :                     {
    3675            1 :                       tree res_op0;
    3676            1 :                       {
    3677            1 :                         tree _o1[1], _r1;
    3678            1 :                         _o1[0] = captures[2];
    3679            1 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3680            1 :                         if (!_r1)
    3681            0 :                           goto next_after_fail1147;
    3682            1 :                         res_op0 = _r1;
    3683              :                       }
    3684            1 :                       tree _r;
    3685            1 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3686            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3687            1 :                       return _r;
    3688              :                     }
    3689            0 : next_after_fail1147:;
    3690              :                   }
    3691              :               }
    3692              :             }
    3693              :           break;
    3694              :         default:;
    3695              :         }
    3696              :       break;
    3697              :     default:;
    3698              :     }
    3699              :   return NULL_TREE;
    3700              : }
    3701              : 
    3702              : tree
    3703      3004415 : generic_simplify_POINTER_DIFF_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3704              : {
    3705      3004415 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3706      3004415 :   if (integer_zerop (_p1))
    3707              :     {
    3708           29 :       {
    3709           29 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3710           29 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1375;
    3711           29 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1375;
    3712           29 :         {
    3713           29 :           tree res_op0;
    3714           29 :           res_op0 = captures[0];
    3715           29 :           tree _r;
    3716           29 :           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3717           29 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 949, __FILE__, __LINE__, true);
    3718           29 :           return _r;
    3719              :         }
    3720              : next_after_fail1375:;
    3721              :       }
    3722              :     }
    3723      3004386 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _p0, 0))
    3724              :     {
    3725        49008 :       {
    3726        49008 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p0 };
    3727        49008 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1376;
    3728        49008 :         {
    3729        49008 :           tree _r;
    3730        49008 :           _r =  build_zero_cst (type);
    3731        49008 :           if (TREE_SIDE_EFFECTS (captures[1]))
    3732            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3733        49008 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 950, __FILE__, __LINE__, true);
    3734        49008 :           return _r;
    3735              :         }
    3736            0 : next_after_fail1376:;
    3737              :       }
    3738              :     }
    3739      2955378 :   switch (TREE_CODE (_p0))
    3740              :     {
    3741       350035 :     case POINTER_PLUS_EXPR:
    3742       350035 :       {
    3743       350035 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3744       350035 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3745       350035 :         switch (TREE_CODE (_p1))
    3746              :           {
    3747        20825 :           case POINTER_PLUS_EXPR:
    3748        20825 :             {
    3749        20825 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3750        20825 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3751        20825 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3752              :                 {
    3753        20794 :                   {
    3754        20794 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    3755        20794 :                     if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    3756              : )
    3757              :                       {
    3758        20794 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1377;
    3759        20794 :                         {
    3760        20794 :                           tree res_op0;
    3761        20794 :                           {
    3762        20794 :                             tree _o1[2], _r1;
    3763        20794 :                             _o1[0] = captures[1];
    3764        20794 :                             _o1[1] = captures[2];
    3765        20794 :                             _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3766        20794 :                             res_op0 = _r1;
    3767              :                           }
    3768        20794 :                           tree _r;
    3769        20794 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3770        20794 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    3771            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3772        20794 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 951, __FILE__, __LINE__, true);
    3773        20794 :                           return _r;
    3774              :                         }
    3775            0 : next_after_fail1377:;
    3776              :                       }
    3777              :                   }
    3778              :                 }
    3779           31 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3780              :                 {
    3781            1 :                   {
    3782            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    3783            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1378;
    3784            1 :                     {
    3785            1 :                       tree res_op0;
    3786            1 :                       res_op0 = captures[0];
    3787            1 :                       tree res_op1;
    3788            1 :                       res_op1 = captures[2];
    3789            1 :                       tree _r;
    3790            1 :                       _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
    3791            1 :                       if (TREE_SIDE_EFFECTS (captures[1]))
    3792            0 :                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3793            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 952, __FILE__, __LINE__, true);
    3794            1 :                       return _r;
    3795              :                     }
    3796            0 : next_after_fail1378:;
    3797              :                   }
    3798              :                 }
    3799              :               break;
    3800              :             }
    3801              :           default:;
    3802              :           }
    3803              :         break;
    3804              :       }
    3805       149852 :     CASE_CONVERT:
    3806       149852 :       {
    3807       149852 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3808       149852 :         switch (TREE_CODE (_q20))
    3809              :           {
    3810         2163 :           case ADDR_EXPR:
    3811         2163 :             {
    3812         2163 :               switch (TREE_CODE (_p1))
    3813              :                 {
    3814          324 :                 CASE_CONVERT:
    3815          324 :                   {
    3816          324 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    3817          324 :                     {
    3818          324 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    3819          324 :                       if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3820          324 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3821              : )
    3822              :                         {
    3823          324 :                           {
    3824          324 :  poly_int64 diff;
    3825          324 :                               if (ptr_difference_const (captures[1], captures[3], &diff)
    3826              : )
    3827              :                                 {
    3828          189 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1379;
    3829          189 :                                   {
    3830          189 :                                     tree _r;
    3831          189 :                                     _r =  build_int_cst_type (type, diff);
    3832          189 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    3833            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3834          189 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    3835            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3836          189 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 953, __FILE__, __LINE__, true);
    3837          189 :                                     return _r;
    3838              :                                   }
    3839            0 : next_after_fail1379:;
    3840              :                                 }
    3841              :                           }
    3842              :                         }
    3843              :                     }
    3844          135 :                     break;
    3845              :                   }
    3846         1974 :                 default:;
    3847              :                 }
    3848         1974 :               {
    3849         1974 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    3850         1974 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3851         1974 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3852              : )
    3853              :                   {
    3854         1974 :                     {
    3855         1974 :  poly_int64 diff;
    3856         1974 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3857              : )
    3858              :                           {
    3859          103 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1380;
    3860          103 :                             {
    3861          103 :                               tree _r;
    3862          103 :                               _r =  build_int_cst_type (type, diff);
    3863          103 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    3864            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3865          103 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    3866            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3867          103 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 953, __FILE__, __LINE__, true);
    3868          103 :                               return _r;
    3869              :                             }
    3870            0 : next_after_fail1380:;
    3871              :                           }
    3872              :                     }
    3873              :                   }
    3874              :               }
    3875         1871 :               break;
    3876              :             }
    3877       149560 :           default:;
    3878              :           }
    3879       149560 :         switch (TREE_CODE (_p1))
    3880              :           {
    3881       116973 :           CASE_CONVERT:
    3882       116973 :             {
    3883       116973 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3884       116973 :               switch (TREE_CODE (_q40))
    3885              :                 {
    3886        18173 :                 case ADDR_EXPR:
    3887        18173 :                   {
    3888        18173 :                     {
    3889        18173 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    3890        18173 :                       if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3891        18173 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3892              : )
    3893              :                         {
    3894        18173 :                           {
    3895        18173 :  poly_int64 diff;
    3896        18173 :                               if (ptr_difference_const (captures[1], captures[3], &diff)
    3897              : )
    3898              :                                 {
    3899           37 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1381;
    3900           37 :                                   {
    3901           37 :                                     tree _r;
    3902           37 :                                     _r =  build_int_cst_type (type, diff);
    3903           37 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    3904            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3905           37 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    3906            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3907           37 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 954, __FILE__, __LINE__, true);
    3908           37 :                                     return _r;
    3909              :                                   }
    3910            0 : next_after_fail1381:;
    3911              :                                 }
    3912              :                           }
    3913              :                         }
    3914              :                     }
    3915        18136 :                     break;
    3916              :                   }
    3917              :                 default:;
    3918              :                 }
    3919              :               break;
    3920              :             }
    3921           12 :           case ADDR_EXPR:
    3922           12 :             {
    3923           12 :               {
    3924           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    3925           12 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3926           12 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3927              : )
    3928              :                   {
    3929           12 :                     {
    3930           12 :  poly_int64 diff;
    3931           12 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3932              : )
    3933              :                           {
    3934            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1382;
    3935            0 :                             {
    3936            0 :                               tree _r;
    3937            0 :                               _r =  build_int_cst_type (type, diff);
    3938            0 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    3939            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3940            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    3941            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3942            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 954, __FILE__, __LINE__, true);
    3943            0 :                               return _r;
    3944              :                             }
    3945            0 : next_after_fail1382:;
    3946              :                           }
    3947              :                     }
    3948              :                   }
    3949              :               }
    3950           12 :               break;
    3951              :             }
    3952              :           default:;
    3953              :           }
    3954              :         break;
    3955              :       }
    3956         5795 :     case ADDR_EXPR:
    3957         5795 :       {
    3958         5795 :         switch (TREE_CODE (_p1))
    3959              :           {
    3960          214 :           CASE_CONVERT:
    3961          214 :             {
    3962          214 :               tree _q30 = TREE_OPERAND (_p1, 0);
    3963          214 :               {
    3964          214 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
    3965          214 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3966          214 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3967              : )
    3968              :                   {
    3969          214 :                     {
    3970          214 :  poly_int64 diff;
    3971          214 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3972              : )
    3973              :                           {
    3974          193 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1383;
    3975          193 :                             {
    3976          193 :                               tree _r;
    3977          193 :                               _r =  build_int_cst_type (type, diff);
    3978          193 :                               if (TREE_SIDE_EFFECTS (captures[0]))
    3979            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3980          193 :                               if (TREE_SIDE_EFFECTS (captures[3]))
    3981            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3982          193 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 953, __FILE__, __LINE__, true);
    3983          193 :                               return _r;
    3984              :                             }
    3985            0 : next_after_fail1383:;
    3986              :                           }
    3987              :                     }
    3988              :                   }
    3989              :               }
    3990           21 :               break;
    3991              :             }
    3992         5602 :           default:;
    3993              :           }
    3994         5602 :         {
    3995         5602 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
    3996         5602 :           if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3997         5602 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3998              : )
    3999              :             {
    4000         5602 :               {
    4001         5602 :  poly_int64 diff;
    4002         5602 :                   if (ptr_difference_const (captures[1], captures[3], &diff)
    4003              : )
    4004              :                     {
    4005         4309 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1384;
    4006         4309 :                       {
    4007         4309 :                         tree _r;
    4008         4309 :                         _r =  build_int_cst_type (type, diff);
    4009         4309 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4010            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4011         4309 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    4012            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4013         4309 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 953, __FILE__, __LINE__, true);
    4014         4309 :                         return _r;
    4015              :                       }
    4016            0 : next_after_fail1384:;
    4017              :                     }
    4018              :               }
    4019              :             }
    4020              :         }
    4021         1293 :         break;
    4022              :       }
    4023      2929752 :     default:;
    4024              :     }
    4025      2929752 :   switch (TREE_CODE (_p1))
    4026              :     {
    4027       628370 :     CASE_CONVERT:
    4028       628370 :       {
    4029       628370 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4030       628370 :         switch (TREE_CODE (_q30))
    4031              :           {
    4032       464671 :           case ADDR_EXPR:
    4033       464671 :             {
    4034       464671 :               {
    4035       464671 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
    4036       464671 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    4037       464671 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    4038              : )
    4039              :                   {
    4040       464671 :                     {
    4041       464671 :  poly_int64 diff;
    4042       464671 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    4043              : )
    4044              :                           {
    4045       314568 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1385;
    4046       314568 :                             {
    4047       314568 :                               tree _r;
    4048       314568 :                               _r =  build_int_cst_type (type, diff);
    4049       314568 :                               if (TREE_SIDE_EFFECTS (captures[0]))
    4050            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4051       314568 :                               if (TREE_SIDE_EFFECTS (captures[3]))
    4052            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4053       314568 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 954, __FILE__, __LINE__, true);
    4054       314568 :                               return _r;
    4055              :                             }
    4056            0 : next_after_fail1385:;
    4057              :                           }
    4058              :                     }
    4059              :                   }
    4060              :               }
    4061       150103 :               break;
    4062              :             }
    4063              :           default:;
    4064              :           }
    4065              :         break;
    4066              :       }
    4067         8004 :     case ADDR_EXPR:
    4068         8004 :       {
    4069         8004 :         {
    4070         8004 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
    4071         8004 :           if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    4072         8004 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    4073              : )
    4074              :             {
    4075         8004 :               {
    4076         8004 :  poly_int64 diff;
    4077         8004 :                   if (ptr_difference_const (captures[1], captures[3], &diff)
    4078              : )
    4079              :                     {
    4080           76 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1386;
    4081           76 :                       {
    4082           76 :                         tree _r;
    4083           76 :                         _r =  build_int_cst_type (type, diff);
    4084           76 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4085            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4086           76 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    4087            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4088           76 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 954, __FILE__, __LINE__, true);
    4089           76 :                         return _r;
    4090              :                       }
    4091            0 : next_after_fail1386:;
    4092              :                     }
    4093              :               }
    4094              :             }
    4095              :         }
    4096         7928 :         break;
    4097              :       }
    4098      2615108 :     default:;
    4099              :     }
    4100      2615108 :   switch (TREE_CODE (_p0))
    4101              :     {
    4102        14596 :     case POINTER_PLUS_EXPR:
    4103        14596 :       {
    4104        14596 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4105        14596 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4106        14596 :         switch (TREE_CODE (_q20))
    4107              :           {
    4108           65 :           case ADDR_EXPR:
    4109           65 :             {
    4110           65 :               switch (TREE_CODE (_p1))
    4111              :                 {
    4112            0 :                 case POINTER_PLUS_EXPR:
    4113            0 :                   {
    4114            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4115            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4116            0 :                     switch (TREE_CODE (_q50))
    4117              :                       {
    4118            0 :                       case ADDR_EXPR:
    4119            0 :                         {
    4120            0 :                           {
    4121            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    4122            0 :                             {
    4123            0 :  poly_int64 diff;
    4124            0 :                                 if (ptr_difference_const (captures[0], captures[2], &diff)
    4125              : )
    4126              :                                   {
    4127            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1387;
    4128            0 :                                     {
    4129            0 :                                       tree res_op0;
    4130            0 :                                       res_op0 =  build_int_cst_type (type, diff);
    4131            0 :                                       tree res_op1;
    4132            0 :                                       {
    4133            0 :                                         tree _o1[1], _r1;
    4134            0 :                                         {
    4135            0 :                                           tree _o2[2], _r2;
    4136            0 :                                           _o2[0] = captures[1];
    4137            0 :                                           _o2[1] = captures[3];
    4138            0 :                                           _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4139            0 :                                           _o1[0] = _r2;
    4140              :                                         }
    4141            0 :                                         if (TREE_TYPE (_o1[0]) != type)
    4142              :                                           {
    4143            0 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4144              :                                           }
    4145              :                                         else
    4146              :                                           _r1 = _o1[0];
    4147            0 :                                         res_op1 = _r1;
    4148              :                                       }
    4149            0 :                                       tree _r;
    4150            0 :                                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4151            0 :                                       if (TREE_SIDE_EFFECTS (captures[0]))
    4152            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4153            0 :                                       if (TREE_SIDE_EFFECTS (captures[2]))
    4154            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4155            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 955, __FILE__, __LINE__, true);
    4156            0 :                                       return _r;
    4157              :                                     }
    4158            0 : next_after_fail1387:;
    4159              :                                   }
    4160              :                             }
    4161              :                           }
    4162            0 :                           break;
    4163              :                         }
    4164              :                       default:;
    4165              :                       }
    4166              :                     break;
    4167              :                   }
    4168              :                 default:;
    4169              :                 }
    4170              :               break;
    4171              :             }
    4172        14596 :           default:;
    4173              :           }
    4174        14596 :         switch (TREE_CODE (_p1))
    4175              :           {
    4176          112 :           case ADDR_EXPR:
    4177          112 :             {
    4178          112 :               {
    4179          112 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4180          112 :                 {
    4181          112 :  poly_int64 diff;
    4182          112 :                     if (ptr_difference_const (captures[0], captures[2], &diff)
    4183              : )
    4184              :                       {
    4185           98 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1388;
    4186           98 :                         {
    4187           98 :                           tree res_op0;
    4188           98 :                           res_op0 =  build_int_cst_type (type, diff);
    4189           98 :                           tree res_op1;
    4190           98 :                           {
    4191           98 :                             tree _o1[1], _r1;
    4192           98 :                             _o1[0] = captures[1];
    4193           98 :                             if (TREE_TYPE (_o1[0]) != type)
    4194              :                               {
    4195           98 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4196              :                               }
    4197              :                             else
    4198              :                               _r1 = _o1[0];
    4199           98 :                             res_op1 = _r1;
    4200              :                           }
    4201           98 :                           tree _r;
    4202           98 :                           _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4203           98 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    4204            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4205           98 :                           if (TREE_SIDE_EFFECTS (captures[2]))
    4206            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4207           98 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 956, __FILE__, __LINE__, true);
    4208           98 :                           return _r;
    4209              :                         }
    4210            0 : next_after_fail1388:;
    4211              :                       }
    4212              :                 }
    4213              :               }
    4214           14 :               break;
    4215              :             }
    4216        14498 :           default:;
    4217              :           }
    4218        14498 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
    4219              :           {
    4220        10126 :             {
    4221        10126 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
    4222        10126 :               if (!TYPE_SATURATING (type)
    4223              : )
    4224              :                 {
    4225        10126 :                   if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4226        20252 :  && !FIXED_POINT_TYPE_P (type)
    4227              : )
    4228              :                     {
    4229        10126 :                       {
    4230        10126 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4231        10126 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1389;
    4232        10126 :                           {
    4233        10126 :                             tree res_op0;
    4234        10126 :                             {
    4235        10126 :                               tree _o1[1], _r1;
    4236        10126 :                               _o1[0] = captures[1];
    4237        10126 :                               if (TREE_TYPE (_o1[0]) != stype)
    4238              :                                 {
    4239        10126 :                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o1[0]);
    4240              :                                 }
    4241              :                               else
    4242              :                                 _r1 = _o1[0];
    4243        10126 :                               res_op0 = _r1;
    4244              :                             }
    4245        10126 :                             tree _r;
    4246        10126 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4247        10126 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    4248            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4249        10126 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 957, __FILE__, __LINE__, true);
    4250        10126 :                             return _r;
    4251              :                           }
    4252            0 : next_after_fail1389:;
    4253              :                       }
    4254              :                     }
    4255              :                 }
    4256              :             }
    4257              :           }
    4258              :         break;
    4259              :       }
    4260         1293 :     case ADDR_EXPR:
    4261         1293 :       {
    4262         1293 :         switch (TREE_CODE (_p1))
    4263              :           {
    4264            9 :           case POINTER_PLUS_EXPR:
    4265            9 :             {
    4266            9 :               tree _q30 = TREE_OPERAND (_p1, 0);
    4267            9 :               tree _q31 = TREE_OPERAND (_p1, 1);
    4268            9 :               {
    4269            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    4270            9 :                 {
    4271            9 :  poly_int64 diff;
    4272            9 :                     if (ptr_difference_const (captures[0], captures[1], &diff)
    4273              : )
    4274              :                       {
    4275            9 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1390;
    4276            9 :                         {
    4277            9 :                           tree res_op0;
    4278            9 :                           res_op0 =  build_int_cst_type (type, diff);
    4279            9 :                           tree res_op1;
    4280            9 :                           {
    4281            9 :                             tree _o1[1], _r1;
    4282            9 :                             _o1[0] = captures[2];
    4283            9 :                             if (TREE_TYPE (_o1[0]) != type)
    4284              :                               {
    4285            9 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4286              :                               }
    4287              :                             else
    4288              :                               _r1 = _o1[0];
    4289            9 :                             res_op1 = _r1;
    4290              :                           }
    4291            9 :                           tree _r;
    4292            9 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    4293            9 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    4294            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4295            9 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4296            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4297            9 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 958, __FILE__, __LINE__, true);
    4298            9 :                           return _r;
    4299              :                         }
    4300            0 : next_after_fail1390:;
    4301              :                       }
    4302              :                 }
    4303              :               }
    4304            0 :               break;
    4305              :             }
    4306              :           default:;
    4307              :           }
    4308              :         break;
    4309              :       }
    4310      2604875 :     default:;
    4311              :     }
    4312      2604875 :   switch (TREE_CODE (_p1))
    4313              :     {
    4314          209 :     case POINTER_PLUS_EXPR:
    4315          209 :       {
    4316          209 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4317          209 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4318          209 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    4319              :           {
    4320          124 :             {
    4321          124 :               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    4322          124 :               if (!TYPE_SATURATING (type)
    4323              : )
    4324              :                 {
    4325          124 :                   if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4326          248 :  && !FIXED_POINT_TYPE_P (type)
    4327              : )
    4328              :                     {
    4329          124 :                       {
    4330          124 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4331          124 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1391;
    4332          124 :                           {
    4333          124 :                             tree res_op0;
    4334          124 :                             {
    4335          124 :                               tree _o1[1], _r1;
    4336          124 :                               {
    4337          124 :                                 tree _o2[1], _r2;
    4338          124 :                                 _o2[0] = captures[1];
    4339          124 :                                 if (TREE_TYPE (_o2[0]) != stype)
    4340              :                                   {
    4341          124 :                                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4342              :                                   }
    4343              :                                 else
    4344              :                                   _r2 = _o2[0];
    4345          124 :                                 _o1[0] = _r2;
    4346              :                               }
    4347          124 :                               if (TREE_TYPE (_o1[0]) != type)
    4348              :                                 {
    4349          124 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4350              :                                 }
    4351              :                               else
    4352              :                                 _r1 = _o1[0];
    4353          124 :                               res_op0 = _r1;
    4354              :                             }
    4355          124 :                             tree _r;
    4356          124 :                             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4357          124 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    4358            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4359          124 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
    4360          124 :                             return _r;
    4361              :                           }
    4362            0 : next_after_fail1391:;
    4363              :                       }
    4364              :                     }
    4365              :                 }
    4366              :             }
    4367              :           }
    4368              :         break;
    4369              :       }
    4370      2604751 :     default:;
    4371              :     }
    4372      2604751 :   switch (TREE_CODE (_p0))
    4373              :     {
    4374         4372 :     case POINTER_PLUS_EXPR:
    4375         4372 :       {
    4376         4372 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4377         4372 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4378         4372 :         switch (TREE_CODE (_p1))
    4379              :           {
    4380           30 :           case POINTER_PLUS_EXPR:
    4381           30 :             {
    4382           30 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4383           30 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4384           30 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    4385              :                 {
    4386            2 :                   {
    4387            2 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
    4388            2 :                     if (!TYPE_SATURATING (type)
    4389              : )
    4390              :                       {
    4391            2 :                         if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4392            4 :  && !FIXED_POINT_TYPE_P (type)
    4393              : )
    4394              :                           {
    4395            2 :                             {
    4396            2 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4397            2 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1392;
    4398            2 :                                 {
    4399            2 :                                   tree res_op0;
    4400            2 :                                   {
    4401            2 :                                     tree _o1[1], _r1;
    4402            2 :                                     {
    4403            2 :                                       tree _o2[1], _r2;
    4404            2 :                                       _o2[0] = captures[1];
    4405            2 :                                       if (TREE_TYPE (_o2[0]) != stype)
    4406              :                                         {
    4407            2 :                                           _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4408              :                                         }
    4409              :                                       else
    4410              :                                         _r2 = _o2[0];
    4411            2 :                                       _o1[0] = _r2;
    4412              :                                     }
    4413            2 :                                     if (TREE_TYPE (_o1[0]) != type)
    4414              :                                       {
    4415            2 :                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4416              :                                       }
    4417              :                                     else
    4418              :                                       _r1 = _o1[0];
    4419            2 :                                     res_op0 = _r1;
    4420              :                                   }
    4421            2 :                                   tree res_op1;
    4422            2 :                                   {
    4423            2 :                                     tree _o1[1], _r1;
    4424            2 :                                     {
    4425            2 :                                       tree _o2[1], _r2;
    4426            2 :                                       _o2[0] = captures[2];
    4427            2 :                                       if (TREE_TYPE (_o2[0]) != stype)
    4428              :                                         {
    4429            2 :                                           _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4430              :                                         }
    4431              :                                       else
    4432              :                                         _r2 = _o2[0];
    4433            2 :                                       _o1[0] = _r2;
    4434              :                                     }
    4435            2 :                                     if (TREE_TYPE (_o1[0]) != type)
    4436              :                                       {
    4437            2 :                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4438              :                                       }
    4439              :                                     else
    4440              :                                       _r1 = _o1[0];
    4441            2 :                                     res_op1 = _r1;
    4442              :                                   }
    4443            2 :                                   tree _r;
    4444            2 :                                   _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    4445            2 :                                   if (TREE_SIDE_EFFECTS (captures[3]))
    4446            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4447            2 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    4448            2 :                                   return _r;
    4449              :                                 }
    4450            0 : next_after_fail1392:;
    4451              :                             }
    4452              :                           }
    4453              :                       }
    4454              :                   }
    4455              :                 }
    4456              :               break;
    4457              :             }
    4458              :           default:;
    4459              :           }
    4460              :         break;
    4461              :       }
    4462      2604749 :     default:;
    4463              :     }
    4464      2604749 : if (integer_zerop (_p0))
    4465              :   {
    4466            0 :     {
    4467            0 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    4468            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1393;
    4469            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1393;
    4470            0 :       {
    4471            0 :         tree res_op0;
    4472            0 :         {
    4473            0 :           tree _o1[1], _r1;
    4474            0 :           _o1[0] = captures[0];
    4475            0 :           if (TREE_TYPE (_o1[0]) != type)
    4476              :             {
    4477            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4478              :             }
    4479              :           else
    4480              :             _r1 = _o1[0];
    4481            0 :           res_op0 = _r1;
    4482              :         }
    4483            0 :         tree _r;
    4484            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4485            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4486            0 :         return _r;
    4487              :       }
    4488              : next_after_fail1393:;
    4489              :     }
    4490              :   }
    4491              :   return NULL_TREE;
    4492              : }
    4493              : 
    4494              : tree
    4495      2195490 : generic_simplify_FLOOR_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4496              : {
    4497      2195490 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4498      2195490 :   if (integer_onep (_p1))
    4499              :     {
    4500       768025 :       {
    4501       768025 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4502       768025 :         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4503       768025 :         if (res) return res;
    4504              :       }
    4505              :     }
    4506      1427465 :   if (integer_zerop (_p0))
    4507              :     {
    4508            4 :       {
    4509            4 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4510            4 :         tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4511            4 :         if (res) return res;
    4512              :       }
    4513              :     }
    4514      1427461 :   switch (TREE_CODE (_p1))
    4515              :     {
    4516          975 :     case SSA_NAME:
    4517          975 :       {
    4518          975 :         {
    4519          975 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4520          975 :           tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4521          975 :           if (res) return res;
    4522              :         }
    4523          975 :         break;
    4524              :       }
    4525      1427461 :     default:;
    4526              :     }
    4527      1427461 : if (integer_minus_onep (_p1))
    4528              :   {
    4529          229 :     {
    4530          229 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4531          229 :       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4532          229 :       if (res) return res;
    4533              :     }
    4534              :   }
    4535      1427400 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4536              :     {
    4537            0 :       {
    4538            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4539            0 :         tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4540            0 :         if (res) return res;
    4541              :       }
    4542              :     }
    4543      1427400 :   switch (TREE_CODE (_p1))
    4544              :     {
    4545            0 :     case ABS_EXPR:
    4546            0 :       {
    4547            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4548            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4549              :           {
    4550            0 :             {
    4551            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4552            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4553            0 :               if (res) return res;
    4554              :             }
    4555              :           }
    4556              :         break;
    4557              :       }
    4558      1427400 :     default:;
    4559              :     }
    4560      1427400 :   switch (TREE_CODE (_p0))
    4561              :     {
    4562            0 :     case ABS_EXPR:
    4563            0 :       {
    4564            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4565            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4566              :           {
    4567            0 :             {
    4568            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4569            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4570            0 :               if (res) return res;
    4571              :             }
    4572              :           }
    4573              :         break;
    4574              :       }
    4575      1427400 :     default:;
    4576              :     }
    4577      1427400 :   switch (TREE_CODE (_p1))
    4578              :     {
    4579            0 :     case NEGATE_EXPR:
    4580            0 :       {
    4581            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4582            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4583              :           {
    4584            0 :             {
    4585            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4586            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4587            0 :               if (res) return res;
    4588              :             }
    4589              :           }
    4590              :         break;
    4591              :       }
    4592      1427400 :     default:;
    4593              :     }
    4594      1427400 :   switch (TREE_CODE (_p0))
    4595              :     {
    4596          296 :     case NEGATE_EXPR:
    4597          296 :       {
    4598          296 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4599          296 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4600              :           {
    4601            0 :             {
    4602            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4603            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4604            0 :               if (res) return res;
    4605              :             }
    4606              :           }
    4607              :         break;
    4608              :       }
    4609      1427400 :     default:;
    4610              :     }
    4611      1427400 :   {
    4612      1427400 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4613      1427400 :     tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, TRUNC_DIV_EXPR);
    4614      1427400 :     if (res) return res;
    4615              :   }
    4616         5568 :   switch (TREE_CODE (_p0))
    4617              :     {
    4618          388 :     CASE_CONVERT:
    4619          388 :       {
    4620          388 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4621          388 :         switch (TREE_CODE (_q20))
    4622              :           {
    4623            0 :           case BIT_AND_EXPR:
    4624            0 :             {
    4625            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4626            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4627            0 :               switch (TREE_CODE (_q31))
    4628              :                 {
    4629            0 :                 case INTEGER_CST:
    4630            0 :                   {
    4631            0 :                     switch (TREE_CODE (_p1))
    4632              :                       {
    4633            0 :                       case INTEGER_CST:
    4634            0 :                         {
    4635            0 :                           {
    4636            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4637            0 :                             tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4638            0 :                             if (res) return res;
    4639              :                           }
    4640            0 :                           break;
    4641              :                         }
    4642              :                       default:;
    4643              :                       }
    4644              :                     break;
    4645              :                   }
    4646              :                 default:;
    4647              :                 }
    4648              :               break;
    4649              :             }
    4650              :           default:;
    4651              :           }
    4652              :         break;
    4653              :       }
    4654            0 :     case BIT_AND_EXPR:
    4655            0 :       {
    4656            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4657            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4658            0 :         switch (TREE_CODE (_q21))
    4659              :           {
    4660            0 :           case INTEGER_CST:
    4661            0 :             {
    4662            0 :               switch (TREE_CODE (_p1))
    4663              :                 {
    4664            0 :                 case INTEGER_CST:
    4665            0 :                   {
    4666            0 :                     {
    4667            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4668            0 :                       tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4669            0 :                       if (res) return res;
    4670              :                     }
    4671            0 :                     break;
    4672              :                   }
    4673              :                 default:;
    4674              :                 }
    4675              :               break;
    4676              :             }
    4677              :           default:;
    4678              :           }
    4679              :         break;
    4680              :       }
    4681            0 :     case MULT_EXPR:
    4682            0 :       {
    4683            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4684            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4685            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4686              :           {
    4687            0 :             {
    4688            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4689            0 :               tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4690            0 :               if (res) return res;
    4691              :             }
    4692              :           }
    4693            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4694              :           {
    4695            0 :             {
    4696            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4697            0 :               tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4698            0 :               if (res) return res;
    4699              :             }
    4700              :           }
    4701            0 :         switch (TREE_CODE (_q21))
    4702              :           {
    4703            0 :           case INTEGER_CST:
    4704            0 :             {
    4705            0 :               switch (TREE_CODE (_p1))
    4706              :                 {
    4707            0 :                 case MULT_EXPR:
    4708            0 :                   {
    4709            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4710            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4711            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4712              :                       {
    4713            0 :                         switch (TREE_CODE (_q51))
    4714              :                           {
    4715            0 :                           case INTEGER_CST:
    4716            0 :                             {
    4717            0 :                               {
    4718            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4719            0 :                                 tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4720            0 :                                 if (res) return res;
    4721              :                               }
    4722            0 :                               break;
    4723              :                             }
    4724              :                           default:;
    4725              :                           }
    4726              :                       }
    4727              :                     break;
    4728              :                   }
    4729              :                 default:;
    4730              :                 }
    4731              :               break;
    4732              :             }
    4733              :           default:;
    4734              :           }
    4735              :         break;
    4736              :       }
    4737            0 :     case VEC_COND_EXPR:
    4738            0 :       {
    4739            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4740            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4741            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4742            0 :         switch (TREE_CODE (_p1))
    4743              :           {
    4744            0 :           case VEC_COND_EXPR:
    4745            0 :             {
    4746            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4747            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4748            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4749            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4750              :                 {
    4751            0 :                   {
    4752            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4753            0 :                     if (VECTOR_TYPE_P (type)
    4754            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4755              :  || types_match (type, TREE_TYPE (captures[2]))
    4756              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4757              :  || (optimize_vectors_before_lowering_p ()
    4758              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4759              : )
    4760              :                       {
    4761            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1585;
    4762            0 :                         {
    4763            0 :                           tree res_op0;
    4764            0 :                           res_op0 = captures[1];
    4765            0 :                           tree res_op1;
    4766            0 :                           {
    4767            0 :                             tree _o1[2], _r1;
    4768            0 :                             _o1[0] = captures[2];
    4769            0 :                             _o1[1] = captures[5];
    4770            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4771            0 :                             if (EXPR_P (_r1))
    4772            0 :                               goto next_after_fail1585;
    4773            0 :                             res_op1 = _r1;
    4774              :                           }
    4775            0 :                           tree res_op2;
    4776            0 :                           {
    4777            0 :                             tree _o1[2], _r1;
    4778            0 :                             _o1[0] = captures[3];
    4779            0 :                             _o1[1] = captures[6];
    4780            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4781            0 :                             if (EXPR_P (_r1))
    4782            0 :                               goto next_after_fail1585;
    4783            0 :                             res_op2 = _r1;
    4784              :                           }
    4785            0 :                           tree _r;
    4786            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4787            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    4788            0 :                           return _r;
    4789              :                         }
    4790            0 : next_after_fail1585:;
    4791              :                       }
    4792              :                   }
    4793              :                 }
    4794              :               break;
    4795              :             }
    4796            0 :           default:;
    4797              :           }
    4798            0 :         {
    4799            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4800            0 :           if (VECTOR_TYPE_P (type)
    4801            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4802              :  || types_match (type, TREE_TYPE (captures[2]))
    4803              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4804              :  || (optimize_vectors_before_lowering_p ()
    4805              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4806              : )
    4807              :             {
    4808            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1586;
    4809            0 :               {
    4810            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1586;
    4811            0 :                 tree res_op0;
    4812            0 :                 res_op0 = captures[1];
    4813            0 :                 tree res_op1;
    4814            0 :                 {
    4815            0 :                   tree _o1[2], _r1;
    4816            0 :                   _o1[0] = captures[2];
    4817            0 :                   _o1[1] = unshare_expr (captures[4]);
    4818            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4819            0 :                   if (EXPR_P (_r1))
    4820            0 :                     goto next_after_fail1586;
    4821            0 :                   res_op1 = _r1;
    4822              :                 }
    4823            0 :                 tree res_op2;
    4824            0 :                 {
    4825            0 :                   tree _o1[2], _r1;
    4826            0 :                   _o1[0] = captures[3];
    4827            0 :                   _o1[1] = captures[4];
    4828            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4829            0 :                   if (EXPR_P (_r1))
    4830            0 :                     goto next_after_fail1586;
    4831            0 :                   res_op2 = _r1;
    4832              :                 }
    4833            0 :                 tree _r;
    4834            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4835            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    4836            0 :                 return _r;
    4837              :               }
    4838            0 : next_after_fail1586:;
    4839              :             }
    4840              :         }
    4841            0 :         break;
    4842              :       }
    4843         5568 :     default:;
    4844              :     }
    4845         5568 :   switch (TREE_CODE (_p1))
    4846              :     {
    4847            0 :     case VEC_COND_EXPR:
    4848            0 :       {
    4849            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4850            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4851            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4852            0 :         {
    4853            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4854            0 :           if (VECTOR_TYPE_P (type)
    4855            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4856              :  || types_match (type, TREE_TYPE (captures[3]))
    4857              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4858              :  || (optimize_vectors_before_lowering_p ()
    4859              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4860              : )
    4861              :             {
    4862            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1587;
    4863            0 :               {
    4864            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1587;
    4865            0 :                 tree res_op0;
    4866            0 :                 res_op0 = captures[2];
    4867            0 :                 tree res_op1;
    4868            0 :                 {
    4869            0 :                   tree _o1[2], _r1;
    4870            0 :                   _o1[0] = unshare_expr (captures[0]);
    4871            0 :                   _o1[1] = captures[3];
    4872            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4873            0 :                   if (EXPR_P (_r1))
    4874            0 :                     goto next_after_fail1587;
    4875            0 :                   res_op1 = _r1;
    4876              :                 }
    4877            0 :                 tree res_op2;
    4878            0 :                 {
    4879            0 :                   tree _o1[2], _r1;
    4880            0 :                   _o1[0] = captures[0];
    4881            0 :                   _o1[1] = captures[4];
    4882            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4883            0 :                   if (EXPR_P (_r1))
    4884            0 :                     goto next_after_fail1587;
    4885            0 :                   res_op2 = _r1;
    4886              :                 }
    4887            0 :                 tree _r;
    4888            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4889            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    4890            0 :                 return _r;
    4891              :               }
    4892            0 : next_after_fail1587:;
    4893              :             }
    4894              :         }
    4895            0 :         break;
    4896              :       }
    4897              :     default:;
    4898              :     }
    4899              :   return NULL_TREE;
    4900              : }
    4901              : 
    4902              : tree
    4903       855478 : generic_simplify_FLOOR_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4904              : {
    4905       855478 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4906       855478 :   {
    4907       855478 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4908       855478 :     tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR, TRUNC_MOD_EXPR);
    4909       855478 :     if (res) return res;
    4910              :   }
    4911         3561 :   if (integer_zerop (_p0))
    4912              :     {
    4913            0 :       {
    4914            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4915            0 :         tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4916            0 :         if (res) return res;
    4917              :       }
    4918              :     }
    4919         3561 :   if (integer_onep (_p1))
    4920              :     {
    4921            0 :       {
    4922            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4923            0 :         tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4924            0 :         if (res) return res;
    4925              :       }
    4926              :     }
    4927         3561 :   if (integer_minus_onep (_p1))
    4928              :     {
    4929            0 :       {
    4930            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4931            0 :         tree res = generic_simplify_328 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4932            0 :         if (res) return res;
    4933              :       }
    4934              :     }
    4935         3561 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4936              :     {
    4937            0 :       {
    4938            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4939            0 :         tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4940            0 :         if (res) return res;
    4941              :       }
    4942              :     }
    4943         3561 :   switch (TREE_CODE (_p0))
    4944              :     {
    4945            0 :     case FLOOR_MOD_EXPR:
    4946            0 :       {
    4947            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4948            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4949            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4950              :           {
    4951            0 :             {
    4952            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4953            0 :               tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4954            0 :               if (res) return res;
    4955              :             }
    4956              :           }
    4957              :         break;
    4958              :       }
    4959            4 :     case MULT_EXPR:
    4960            4 :       {
    4961            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4962            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4963            4 :         switch (TREE_CODE (_q21))
    4964              :           {
    4965            4 :           case INTEGER_CST:
    4966            4 :             {
    4967            4 :               switch (TREE_CODE (_p1))
    4968              :                 {
    4969            4 :                 case INTEGER_CST:
    4970            4 :                   {
    4971            4 :                     {
    4972            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4973            4 :                       tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4974            4 :                       if (res) return res;
    4975              :                     }
    4976            4 :                     break;
    4977              :                   }
    4978              :                 default:;
    4979              :                 }
    4980              :               break;
    4981              :             }
    4982              :           default:;
    4983              :           }
    4984              :         break;
    4985              :       }
    4986         3561 :     default:;
    4987              :     }
    4988         3561 :   switch (TREE_CODE (_p1))
    4989              :     {
    4990            1 :     CASE_CONVERT:
    4991            1 :       {
    4992            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4993            1 :         {
    4994            1 :           tree _q30_pops[1];
    4995            1 :           if (tree_power_of_two_cand (_q30, _q30_pops))
    4996              :             {
    4997            0 :               tree _q40 = _q30_pops[0];
    4998            0 :               {
    4999            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
    5000            0 :                 tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5001            0 :                 if (res) return res;
    5002              :               }
    5003              :             }
    5004              :         }
    5005            1 :         break;
    5006              :       }
    5007         3561 :     default:;
    5008              :     }
    5009         3561 : {
    5010         3561 :   tree _p1_pops[1];
    5011         3561 :   if (tree_power_of_two_cand (_p1, _p1_pops))
    5012              :     {
    5013         1778 :       tree _q30 = _p1_pops[0];
    5014         1778 :       {
    5015         1778 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    5016         1778 :         tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5017         1778 :         if (res) return res;
    5018              :       }
    5019              :     }
    5020              : }
    5021         3521 :   switch (TREE_CODE (_p0))
    5022              :     {
    5023            0 :     case VEC_COND_EXPR:
    5024            0 :       {
    5025            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5026            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5027            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5028            0 :         switch (TREE_CODE (_p1))
    5029              :           {
    5030            0 :           case VEC_COND_EXPR:
    5031            0 :             {
    5032            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5033            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5034            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5035            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5036              :                 {
    5037            0 :                   {
    5038            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5039            0 :                     if (VECTOR_TYPE_P (type)
    5040            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5041              :  || types_match (type, TREE_TYPE (captures[2]))
    5042              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5043              :  || (optimize_vectors_before_lowering_p ()
    5044              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5045              : )
    5046              :                       {
    5047            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1594;
    5048            0 :                         {
    5049            0 :                           tree res_op0;
    5050            0 :                           res_op0 = captures[1];
    5051            0 :                           tree res_op1;
    5052            0 :                           {
    5053            0 :                             tree _o1[2], _r1;
    5054            0 :                             _o1[0] = captures[2];
    5055            0 :                             _o1[1] = captures[5];
    5056            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5057            0 :                             if (EXPR_P (_r1))
    5058            0 :                               goto next_after_fail1594;
    5059            0 :                             res_op1 = _r1;
    5060              :                           }
    5061            0 :                           tree res_op2;
    5062            0 :                           {
    5063            0 :                             tree _o1[2], _r1;
    5064            0 :                             _o1[0] = captures[3];
    5065            0 :                             _o1[1] = captures[6];
    5066            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5067            0 :                             if (EXPR_P (_r1))
    5068            0 :                               goto next_after_fail1594;
    5069            0 :                             res_op2 = _r1;
    5070              :                           }
    5071            0 :                           tree _r;
    5072            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5073            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    5074            0 :                           return _r;
    5075              :                         }
    5076            0 : next_after_fail1594:;
    5077              :                       }
    5078              :                   }
    5079              :                 }
    5080              :               break;
    5081              :             }
    5082            0 :           default:;
    5083              :           }
    5084            0 :         {
    5085            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5086            0 :           if (VECTOR_TYPE_P (type)
    5087            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5088              :  || types_match (type, TREE_TYPE (captures[2]))
    5089              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5090              :  || (optimize_vectors_before_lowering_p ()
    5091              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5092              : )
    5093              :             {
    5094            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1595;
    5095            0 :               {
    5096            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1595;
    5097            0 :                 tree res_op0;
    5098            0 :                 res_op0 = captures[1];
    5099            0 :                 tree res_op1;
    5100            0 :                 {
    5101            0 :                   tree _o1[2], _r1;
    5102            0 :                   _o1[0] = captures[2];
    5103            0 :                   _o1[1] = unshare_expr (captures[4]);
    5104            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5105            0 :                   if (EXPR_P (_r1))
    5106            0 :                     goto next_after_fail1595;
    5107            0 :                   res_op1 = _r1;
    5108              :                 }
    5109            0 :                 tree res_op2;
    5110            0 :                 {
    5111            0 :                   tree _o1[2], _r1;
    5112            0 :                   _o1[0] = captures[3];
    5113            0 :                   _o1[1] = captures[4];
    5114            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5115            0 :                   if (EXPR_P (_r1))
    5116            0 :                     goto next_after_fail1595;
    5117            0 :                   res_op2 = _r1;
    5118              :                 }
    5119            0 :                 tree _r;
    5120            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5121            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    5122            0 :                 return _r;
    5123              :               }
    5124            0 : next_after_fail1595:;
    5125              :             }
    5126              :         }
    5127            0 :         break;
    5128              :       }
    5129         3521 :     default:;
    5130              :     }
    5131         3521 :   switch (TREE_CODE (_p1))
    5132              :     {
    5133            0 :     case VEC_COND_EXPR:
    5134            0 :       {
    5135            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5136            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5137            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5138            0 :         {
    5139            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5140            0 :           if (VECTOR_TYPE_P (type)
    5141            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5142              :  || types_match (type, TREE_TYPE (captures[3]))
    5143              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5144              :  || (optimize_vectors_before_lowering_p ()
    5145              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5146              : )
    5147              :             {
    5148            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1596;
    5149            0 :               {
    5150            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1596;
    5151            0 :                 tree res_op0;
    5152            0 :                 res_op0 = captures[2];
    5153            0 :                 tree res_op1;
    5154            0 :                 {
    5155            0 :                   tree _o1[2], _r1;
    5156            0 :                   _o1[0] = unshare_expr (captures[0]);
    5157            0 :                   _o1[1] = captures[3];
    5158            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5159            0 :                   if (EXPR_P (_r1))
    5160            0 :                     goto next_after_fail1596;
    5161            0 :                   res_op1 = _r1;
    5162              :                 }
    5163            0 :                 tree res_op2;
    5164            0 :                 {
    5165            0 :                   tree _o1[2], _r1;
    5166            0 :                   _o1[0] = captures[0];
    5167            0 :                   _o1[1] = captures[4];
    5168            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5169            0 :                   if (EXPR_P (_r1))
    5170            0 :                     goto next_after_fail1596;
    5171            0 :                   res_op2 = _r1;
    5172              :                 }
    5173            0 :                 tree _r;
    5174            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5175            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    5176            0 :                 return _r;
    5177              :               }
    5178            0 : next_after_fail1596:;
    5179              :             }
    5180              :         }
    5181            0 :         break;
    5182              :       }
    5183              :     default:;
    5184              :     }
    5185              :   return NULL_TREE;
    5186              : }
    5187              : 
    5188              : tree
    5189     17409668 : generic_simplify_LT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5190              : {
    5191     17409668 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5192     17409668 :   switch (TREE_CODE (_p0))
    5193              :     {
    5194         2175 :     case RDIV_EXPR:
    5195         2175 :       {
    5196         2175 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5197         2175 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5198         2175 :         switch (TREE_CODE (_q20))
    5199              :           {
    5200          677 :           case REAL_CST:
    5201          677 :             {
    5202          677 :               if (real_zerop (_p1))
    5203              :                 {
    5204          392 :                   {
    5205          392 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5206          392 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    5207          392 :                     if (res) return res;
    5208              :                   }
    5209              :                 }
    5210              :               break;
    5211              :             }
    5212              :           default:;
    5213              :           }
    5214              :         break;
    5215              :       }
    5216         2937 :     case TRUNC_MOD_EXPR:
    5217         2937 :       {
    5218         2937 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5219         2937 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5220         2937 :         if (tree_expr_nonnegative_p (_q20))
    5221              :           {
    5222          118 :             if (tree_expr_nonnegative_p (_q21))
    5223              :               {
    5224           68 :                 if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5225              :                   {
    5226            1 :                     {
    5227            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5228            1 :                       tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR);
    5229            1 :                       if (res) return res;
    5230              :                     }
    5231              :                   }
    5232              :               }
    5233              :           }
    5234              :         break;
    5235              :       }
    5236       140099 :     case MULT_EXPR:
    5237       140099 :       {
    5238       140099 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5239       140099 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5240       140099 :         switch (TREE_CODE (_p1))
    5241              :           {
    5242        50703 :           case MULT_EXPR:
    5243        50703 :             {
    5244        50703 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5245        50703 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5246        50703 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5247              :                 {
    5248        10412 :                   {
    5249        10412 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5250        10412 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, LT_EXPR);
    5251        10412 :                     if (res) return res;
    5252              :                   }
    5253              :                 }
    5254        42329 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5255              :                 {
    5256            0 :                   {
    5257            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5258            0 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, LT_EXPR);
    5259            0 :                     if (res) return res;
    5260              :                   }
    5261              :                 }
    5262        42329 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5263              :                 {
    5264            0 :                   {
    5265            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5266            0 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, LT_EXPR);
    5267            0 :                     if (res) return res;
    5268              :                   }
    5269              :                 }
    5270        42329 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5271              :                 {
    5272         1342 :                   {
    5273         1342 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5274         1342 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, LT_EXPR);
    5275         1342 :                     if (res) return res;
    5276              :                   }
    5277              :                 }
    5278              :               break;
    5279              :             }
    5280              :           default:;
    5281              :           }
    5282              :         break;
    5283              :       }
    5284      3129477 :     CASE_CONVERT:
    5285      3129477 :       {
    5286      3129477 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5287      3129477 :         switch (TREE_CODE (_q20))
    5288              :           {
    5289          107 :           case EXACT_DIV_EXPR:
    5290          107 :             {
    5291          107 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5292          107 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5293          107 :               switch (TREE_CODE (_q31))
    5294              :                 {
    5295          107 :                 case INTEGER_CST:
    5296          107 :                   {
    5297          107 :                     switch (TREE_CODE (_p1))
    5298              :                       {
    5299           37 :                       CASE_CONVERT:
    5300           37 :                         {
    5301           37 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5302           37 :                           switch (TREE_CODE (_q60))
    5303              :                             {
    5304            0 :                             case EXACT_DIV_EXPR:
    5305            0 :                               {
    5306            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    5307            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    5308            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5309              :                                   {
    5310            0 :                                     {
    5311            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    5312            0 :                                       tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, LT_EXPR);
    5313            0 :                                       if (res) return res;
    5314              :                                     }
    5315              :                                   }
    5316              :                                 break;
    5317              :                               }
    5318              :                             default:;
    5319              :                             }
    5320              :                           break;
    5321              :                         }
    5322              :                       default:;
    5323              :                       }
    5324              :                     break;
    5325              :                   }
    5326              :                 default:;
    5327              :                 }
    5328              :               break;
    5329              :             }
    5330              :           default:;
    5331              :           }
    5332              :         break;
    5333              :       }
    5334         1047 :     case EXACT_DIV_EXPR:
    5335         1047 :       {
    5336         1047 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5337         1047 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5338         1047 :         switch (TREE_CODE (_q21))
    5339              :           {
    5340         1047 :           case INTEGER_CST:
    5341         1047 :             {
    5342         1047 :               switch (TREE_CODE (_p1))
    5343              :                 {
    5344            2 :                 case EXACT_DIV_EXPR:
    5345            2 :                   {
    5346            2 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5347            2 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5348            2 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5349              :                       {
    5350            0 :                         {
    5351            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5352            0 :                           tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, LT_EXPR);
    5353            0 :                           if (res) return res;
    5354              :                         }
    5355              :                       }
    5356              :                     break;
    5357              :                   }
    5358              :                 default:;
    5359              :                 }
    5360              :               break;
    5361              :             }
    5362              :           default:;
    5363              :           }
    5364              :         break;
    5365              :       }
    5366        12589 :     case TRUNC_DIV_EXPR:
    5367        12589 :       {
    5368        12589 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5369        12589 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5370        12589 :         switch (TREE_CODE (_q21))
    5371              :           {
    5372         3490 :           case INTEGER_CST:
    5373         3490 :             {
    5374         3490 :               switch (TREE_CODE (_p1))
    5375              :                 {
    5376         1457 :                 case INTEGER_CST:
    5377         1457 :                   {
    5378         1457 :                     {
    5379         1457 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5380         1457 :                       tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, LT_EXPR);
    5381         1457 :                       if (res) return res;
    5382              :                     }
    5383          698 :                     break;
    5384              :                   }
    5385              :                 default:;
    5386              :                 }
    5387              :               break;
    5388              :             }
    5389              :           default:;
    5390              :           }
    5391              :         break;
    5392              :       }
    5393      2331593 :     case PLUS_EXPR:
    5394      2331593 :       {
    5395      2331593 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5396      2331593 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5397      2331593 :         switch (TREE_CODE (_p1))
    5398              :           {
    5399       345537 :           case PLUS_EXPR:
    5400       345537 :             {
    5401       345537 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5402       345537 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5403       345537 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5404              :                 {
    5405       138499 :                   {
    5406       138499 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5407       138499 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    5408       138499 :                     if (res) return res;
    5409              :                   }
    5410              :                 }
    5411       285264 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5412              :                 {
    5413           26 :                   {
    5414           26 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5415           26 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    5416           26 :                     if (res) return res;
    5417              :                   }
    5418              :                 }
    5419       285248 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5420              :                 {
    5421           48 :                   {
    5422           48 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5423           48 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    5424           48 :                     if (res) return res;
    5425              :                   }
    5426              :                 }
    5427       285232 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5428              :                 {
    5429         1790 :                   {
    5430         1790 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5431         1790 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LT_EXPR);
    5432         1790 :                     if (res) return res;
    5433              :                   }
    5434              :                 }
    5435              :               break;
    5436              :             }
    5437      2270911 :           default:;
    5438              :           }
    5439      2270911 :         switch (TREE_CODE (_q21))
    5440              :           {
    5441      1750002 :           case INTEGER_CST:
    5442      1750002 :             {
    5443      1750002 :               switch (TREE_CODE (_p1))
    5444              :                 {
    5445       279608 :                 case PLUS_EXPR:
    5446       279608 :                   {
    5447       279608 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5448       279608 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5449       279608 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5450              :                       {
    5451        78226 :                         {
    5452        78226 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5453        78226 :                           tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, LT_EXPR);
    5454        78226 :                           if (res) return res;
    5455              :                         }
    5456              :                       }
    5457              :                     break;
    5458              :                   }
    5459              :                 default:;
    5460              :                 }
    5461              :               break;
    5462              :             }
    5463      2270906 :           default:;
    5464              :           }
    5465      2270906 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5466              :           {
    5467       202617 :             {
    5468       202617 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5469       202617 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LT_EXPR);
    5470       202617 :               if (res) return res;
    5471              :             }
    5472              :           }
    5473      2095252 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5474              :           {
    5475        55951 :             {
    5476        55951 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5477        55951 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LT_EXPR);
    5478        55951 :               if (res) return res;
    5479              :             }
    5480              :           }
    5481              :         break;
    5482              :       }
    5483       188249 :     case MINUS_EXPR:
    5484       188249 :       {
    5485       188249 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5486       188249 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5487       188249 :         switch (TREE_CODE (_p1))
    5488              :           {
    5489         5228 :           case MINUS_EXPR:
    5490         5228 :             {
    5491         5228 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5492         5228 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5493         5228 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5494              :                 {
    5495            4 :                   {
    5496            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5497            4 :                     tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LT_EXPR);
    5498            4 :                     if (res) return res;
    5499              :                   }
    5500              :                 }
    5501         5228 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5502              :                 {
    5503          215 :                   {
    5504          215 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5505          215 :                     tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, LT_EXPR);
    5506          215 :                     if (res) return res;
    5507              :                   }
    5508              :                 }
    5509              :               break;
    5510              :             }
    5511              :           default:;
    5512              :           }
    5513              :         break;
    5514              :       }
    5515       109101 :     case POINTER_DIFF_EXPR:
    5516       109101 :       {
    5517       109101 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5518       109101 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5519       109101 :         switch (TREE_CODE (_p1))
    5520              :           {
    5521          430 :           case POINTER_DIFF_EXPR:
    5522          430 :             {
    5523          430 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5524          430 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5525          430 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5526              :                 {
    5527            0 :                   {
    5528            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5529            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, LT_EXPR);
    5530            0 :                     if (res) return res;
    5531              :                   }
    5532              :                 }
    5533          430 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5534              :                 {
    5535            0 :                   {
    5536            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5537            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, LT_EXPR);
    5538            0 :                     if (res) return res;
    5539              :                   }
    5540              :                 }
    5541              :               break;
    5542              :             }
    5543              :           default:;
    5544              :           }
    5545              :         break;
    5546              :       }
    5547     17163788 :     default:;
    5548              :     }
    5549     17163788 :   switch (TREE_CODE (_p1))
    5550              :     {
    5551       354478 :     case PLUS_EXPR:
    5552       354478 :       {
    5553       354478 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5554       354478 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5555       354478 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5556              :           {
    5557          120 :             {
    5558          120 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5559          120 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GT_EXPR);
    5560          120 :               if (res) return res;
    5561              :             }
    5562              :           }
    5563       354358 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5564              :           {
    5565           81 :             {
    5566           81 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    5567           81 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GT_EXPR);
    5568           81 :               if (res) return res;
    5569              :             }
    5570              :           }
    5571              :         break;
    5572              :       }
    5573        23712 :     case MINUS_EXPR:
    5574        23712 :       {
    5575        23712 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5576        23712 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5577        23712 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5578              :           {
    5579            0 :             {
    5580            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5581            0 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, LT_EXPR);
    5582            0 :               if (res) return res;
    5583              :             }
    5584              :           }
    5585              :         break;
    5586              :       }
    5587     17163668 :     default:;
    5588              :     }
    5589     17163668 :   switch (TREE_CODE (_p0))
    5590              :     {
    5591       188249 :     case MINUS_EXPR:
    5592       188249 :       {
    5593       188249 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5594       188249 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5595       188249 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5596              :           {
    5597         3356 :             {
    5598         3356 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5599         3356 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GT_EXPR);
    5600         3356 :               if (res) return res;
    5601              :             }
    5602              :           }
    5603              :         break;
    5604              :       }
    5605         1470 :     case BIT_IOR_EXPR:
    5606         1470 :       {
    5607         1470 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5608         1470 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5609         1470 :         if (tree_expr_nonnegative_p (_q20))
    5610              :           {
    5611          554 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5612              :               {
    5613            0 :                 {
    5614            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5615            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5616            0 :                   if (res) return res;
    5617              :                 }
    5618              :               }
    5619              :           }
    5620         1470 :         if (tree_expr_nonnegative_p (_q21))
    5621              :           {
    5622          812 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5623              :               {
    5624            0 :                 {
    5625            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5626            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5627            0 :                   if (res) return res;
    5628              :                 }
    5629              :               }
    5630              :           }
    5631              :         break;
    5632              :       }
    5633     17161244 :     default:;
    5634              :     }
    5635     17161244 :   switch (TREE_CODE (_p1))
    5636              :     {
    5637          458 :     case BIT_AND_EXPR:
    5638          458 :       {
    5639          458 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5640          458 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5641          458 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5642              :           {
    5643            0 :             if (tree_expr_nonnegative_p (_q30))
    5644              :               {
    5645            0 :                 {
    5646            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5647            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5648            0 :                   if (res) return res;
    5649              :                 }
    5650              :               }
    5651              :           }
    5652          458 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5653              :           {
    5654            0 :             if (tree_expr_nonnegative_p (_q31))
    5655              :               {
    5656            0 :                 {
    5657            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5658            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5659            0 :                   if (res) return res;
    5660              :                 }
    5661              :               }
    5662              :           }
    5663              :         break;
    5664              :       }
    5665     17161244 :     default:;
    5666              :     }
    5667     17161244 :   switch (TREE_CODE (_p0))
    5668              :     {
    5669        10195 :     case MAX_EXPR:
    5670        10195 :       {
    5671        10195 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5672        10195 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5673        10195 :         switch (TREE_CODE (_p1))
    5674              :           {
    5675            8 :           case MIN_EXPR:
    5676            8 :             {
    5677            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5678            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5679            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5680              :                 {
    5681            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5682              :                     {
    5683            0 :                       {
    5684            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5685            0 :                         tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GT_EXPR);
    5686            0 :                         if (res) return res;
    5687              :                       }
    5688              :                     }
    5689              :                 }
    5690              :               break;
    5691              :             }
    5692              :           default:;
    5693              :           }
    5694              :         break;
    5695              :       }
    5696         9775 :     case MIN_EXPR:
    5697         9775 :       {
    5698         9775 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5699         9775 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5700         9775 :         switch (TREE_CODE (_p1))
    5701              :           {
    5702            0 :           case MAX_EXPR:
    5703            0 :             {
    5704            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5705            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5706            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5707              :                 {
    5708            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5709              :                     {
    5710            0 :                       {
    5711            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5712            0 :                         tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    5713            0 :                         if (res) return res;
    5714              :                       }
    5715              :                     }
    5716              :                 }
    5717              :               break;
    5718              :             }
    5719         9775 :           default:;
    5720              :           }
    5721         9775 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5722              :           {
    5723            1 :             {
    5724            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5725            1 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5726            1 :               if (res) return res;
    5727              :             }
    5728              :           }
    5729         9774 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5730              :           {
    5731            5 :             {
    5732            5 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5733            5 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5734            5 :               if (res) return res;
    5735              :             }
    5736              :           }
    5737              :         break;
    5738              :       }
    5739     17161241 :     default:;
    5740              :     }
    5741     17161241 :   switch (TREE_CODE (_p1))
    5742              :     {
    5743         1372 :     case MAX_EXPR:
    5744         1372 :       {
    5745         1372 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5746         1372 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5747         1372 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5748              :           {
    5749            0 :             {
    5750            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5751            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5752            0 :               if (res) return res;
    5753              :             }
    5754              :           }
    5755         1372 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5756              :           {
    5757            0 :             {
    5758            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5759            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5760            0 :               if (res) return res;
    5761              :             }
    5762              :           }
    5763              :         break;
    5764              :       }
    5765          892 :     case MIN_EXPR:
    5766          892 :       {
    5767          892 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5768          892 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5769          892 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5770              :           {
    5771            0 :             {
    5772            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5773            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5774            0 :               if (res) return res;
    5775              :             }
    5776              :           }
    5777          892 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5778              :           {
    5779            0 :             {
    5780            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5781            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5782            0 :               if (res) return res;
    5783              :             }
    5784              :           }
    5785              :         break;
    5786              :       }
    5787     17161241 :     default:;
    5788              :     }
    5789     17161241 :   switch (TREE_CODE (_p0))
    5790              :     {
    5791        10195 :     case MAX_EXPR:
    5792        10195 :       {
    5793        10195 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5794        10195 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5795        10195 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5796              :           {
    5797            1 :             {
    5798            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5799            1 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5800            1 :               if (res) return res;
    5801              :             }
    5802              :           }
    5803        10194 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5804              :           {
    5805            1 :             {
    5806            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5807            1 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5808            1 :               if (res) return res;
    5809              :             }
    5810              :           }
    5811        10193 :         switch (TREE_CODE (_q21))
    5812              :           {
    5813         9645 :           case INTEGER_CST:
    5814         9645 :             {
    5815         9645 :               switch (TREE_CODE (_p1))
    5816              :                 {
    5817            1 :                 case INTEGER_CST:
    5818            1 :                   {
    5819            1 :                     {
    5820            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5821            1 :                       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MAX_EXPR, LT_EXPR, BIT_AND_EXPR);
    5822            1 :                       if (res) return res;
    5823              :                     }
    5824            0 :                     break;
    5825              :                   }
    5826              :                 default:;
    5827              :                 }
    5828              :               break;
    5829              :             }
    5830              :           default:;
    5831              :           }
    5832              :         break;
    5833              :       }
    5834         9772 :     case MIN_EXPR:
    5835         9772 :       {
    5836         9772 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5837         9772 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5838         9772 :         switch (TREE_CODE (_q21))
    5839              :           {
    5840          774 :           case INTEGER_CST:
    5841          774 :             {
    5842          774 :               switch (TREE_CODE (_p1))
    5843              :                 {
    5844            2 :                 case INTEGER_CST:
    5845            2 :                   {
    5846            2 :                     {
    5847            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5848            2 :                       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, BIT_IOR_EXPR);
    5849            2 :                       if (res) return res;
    5850              :                     }
    5851            0 :                     break;
    5852              :                   }
    5853              :                 default:;
    5854              :                 }
    5855              :               break;
    5856              :             }
    5857              :           default:;
    5858              :           }
    5859              :         break;
    5860              :       }
    5861      3129357 :     CASE_CONVERT:
    5862      3129357 :       {
    5863      3129357 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5864      3129357 :         switch (TREE_CODE (_q20))
    5865              :           {
    5866            0 :           case GE_EXPR:
    5867            0 :             {
    5868            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5869            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5870            0 :               if (tree_zero_one_valued_p (_q30))
    5871              :                 {
    5872            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5873              :                     {
    5874            0 :                       {
    5875            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    5876            0 :                         tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, LT_EXPR);
    5877            0 :                         if (res) return res;
    5878              :                       }
    5879              :                     }
    5880              :                 }
    5881              :               break;
    5882              :             }
    5883              :           default:;
    5884              :           }
    5885              :         break;
    5886              :       }
    5887           15 :     case GE_EXPR:
    5888           15 :       {
    5889           15 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5890           15 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5891           15 :         if (tree_zero_one_valued_p (_q20))
    5892              :           {
    5893            3 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5894              :               {
    5895            3 :                 {
    5896            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5897            3 :                   tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, LT_EXPR);
    5898            3 :                   if (res) return res;
    5899              :                 }
    5900              :               }
    5901              :           }
    5902              :         break;
    5903              :       }
    5904          904 :     case VEC_COND_EXPR:
    5905          904 :       {
    5906          904 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5907          904 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5908          904 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5909          904 :         switch (TREE_CODE (_p1))
    5910              :           {
    5911            0 :           case VEC_COND_EXPR:
    5912            0 :             {
    5913            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5914            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5915            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5916            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5917              :                 {
    5918            0 :                   {
    5919            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5920            0 :                     if (VECTOR_TYPE_P (type)
    5921            0 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    5922            0 :  || types_match (type, TREE_TYPE (captures[2]))
    5923            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5924              :  || (optimize_vectors_before_lowering_p ()
    5925            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5926              : )
    5927              :                       {
    5928            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1635;
    5929            0 :                         {
    5930            0 :                           tree res_op0;
    5931            0 :                           res_op0 = captures[1];
    5932            0 :                           tree res_op1;
    5933            0 :                           {
    5934            0 :                             tree _o1[2], _r1;
    5935            0 :                             _o1[0] = captures[2];
    5936            0 :                             _o1[1] = captures[5];
    5937            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5938            0 :                             if (EXPR_P (_r1))
    5939            0 :                               goto next_after_fail1635;
    5940            0 :                             res_op1 = _r1;
    5941              :                           }
    5942            0 :                           tree res_op2;
    5943            0 :                           {
    5944            0 :                             tree _o1[2], _r1;
    5945            0 :                             _o1[0] = captures[3];
    5946            0 :                             _o1[1] = captures[6];
    5947            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5948            0 :                             if (EXPR_P (_r1))
    5949            0 :                               goto next_after_fail1635;
    5950            0 :                             res_op2 = _r1;
    5951              :                           }
    5952            0 :                           tree _r;
    5953            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5954            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    5955            0 :                           return _r;
    5956              :                         }
    5957            0 : next_after_fail1635:;
    5958              :                       }
    5959              :                   }
    5960              :                 }
    5961              :               break;
    5962              :             }
    5963          904 :           default:;
    5964              :           }
    5965          904 :         {
    5966          904 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5967          904 :           if (VECTOR_TYPE_P (type)
    5968          904 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    5969          904 :  || types_match (type, TREE_TYPE (captures[2]))
    5970          904 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5971              :  || (optimize_vectors_before_lowering_p ()
    5972            1 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5973              : )
    5974              :             {
    5975          904 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1636;
    5976          904 :               {
    5977          904 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1636;
    5978           36 :                 tree res_op0;
    5979           36 :                 res_op0 = captures[1];
    5980           36 :                 tree res_op1;
    5981           36 :                 {
    5982           36 :                   tree _o1[2], _r1;
    5983           36 :                   _o1[0] = captures[2];
    5984           36 :                   _o1[1] = unshare_expr (captures[4]);
    5985           36 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5986           36 :                   if (EXPR_P (_r1))
    5987           35 :                     goto next_after_fail1636;
    5988            1 :                   res_op1 = _r1;
    5989              :                 }
    5990            1 :                 tree res_op2;
    5991            1 :                 {
    5992            1 :                   tree _o1[2], _r1;
    5993            1 :                   _o1[0] = captures[3];
    5994            1 :                   _o1[1] = captures[4];
    5995            1 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5996            1 :                   if (EXPR_P (_r1))
    5997            0 :                     goto next_after_fail1636;
    5998            1 :                   res_op2 = _r1;
    5999              :                 }
    6000            1 :                 tree _r;
    6001            1 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6002            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    6003            1 :                 return _r;
    6004              :               }
    6005          903 : next_after_fail1636:;
    6006              :             }
    6007              :         }
    6008          903 :         break;
    6009              :       }
    6010     17161232 :     default:;
    6011              :     }
    6012     17161232 :   switch (TREE_CODE (_p1))
    6013              :     {
    6014           68 :     case VEC_COND_EXPR:
    6015           68 :       {
    6016           68 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6017           68 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6018           68 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6019           68 :         {
    6020           68 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    6021           68 :           if (VECTOR_TYPE_P (type)
    6022           68 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    6023           68 :  || types_match (type, TREE_TYPE (captures[3]))
    6024           68 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    6025              :  || (optimize_vectors_before_lowering_p ()
    6026            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    6027              : )
    6028              :             {
    6029           68 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1637;
    6030           68 :               {
    6031           68 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1637;
    6032            0 :                 tree res_op0;
    6033            0 :                 res_op0 = captures[2];
    6034            0 :                 tree res_op1;
    6035            0 :                 {
    6036            0 :                   tree _o1[2], _r1;
    6037            0 :                   _o1[0] = unshare_expr (captures[0]);
    6038            0 :                   _o1[1] = captures[3];
    6039            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6040            0 :                   if (EXPR_P (_r1))
    6041            0 :                     goto next_after_fail1637;
    6042            0 :                   res_op1 = _r1;
    6043              :                 }
    6044            0 :                 tree res_op2;
    6045            0 :                 {
    6046            0 :                   tree _o1[2], _r1;
    6047            0 :                   _o1[0] = captures[0];
    6048            0 :                   _o1[1] = captures[4];
    6049            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6050            0 :                   if (EXPR_P (_r1))
    6051            0 :                     goto next_after_fail1637;
    6052            0 :                   res_op2 = _r1;
    6053              :                 }
    6054            0 :                 tree _r;
    6055            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6056            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    6057            0 :                 return _r;
    6058              :               }
    6059           68 : next_after_fail1637:;
    6060              :             }
    6061              :         }
    6062           68 :         break;
    6063              :       }
    6064     17161232 :     default:;
    6065              :     }
    6066     17161232 : if (uniform_integer_cst_p (_p1))
    6067              :   {
    6068      6197931 :     {
    6069      6197931 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6070      6197931 :       tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    6071      6197931 :       if (res) return res;
    6072              :     }
    6073              :   }
    6074     14701786 :   switch (TREE_CODE (_p0))
    6075              :     {
    6076       124078 :     case MULT_EXPR:
    6077       124078 :       {
    6078       124078 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6079       124078 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6080       124078 :         switch (TREE_CODE (_q21))
    6081              :           {
    6082        67259 :           case INTEGER_CST:
    6083        67259 :             {
    6084        67259 :               if (integer_zerop (_p1))
    6085              :                 {
    6086         3992 :                   {
    6087         3992 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6088         3992 :                     tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6089         3992 :                     if (res) return res;
    6090              :                   }
    6091              :                 }
    6092              :               break;
    6093              :             }
    6094              :           default:;
    6095              :           }
    6096              :         break;
    6097              :       }
    6098     14699148 :     default:;
    6099              :     }
    6100     14699148 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6101              :     {
    6102         3833 :       {
    6103         3833 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6104         3833 :         tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, LT_EXPR);
    6105         3833 :         if (res) return res;
    6106              :       }
    6107              :     }
    6108     14695315 :   switch (TREE_CODE (_p0))
    6109              :     {
    6110         2488 :     case BIT_NOT_EXPR:
    6111         2488 :       {
    6112         2488 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6113         2488 :         switch (TREE_CODE (_p1))
    6114              :           {
    6115            7 :           case BIT_NOT_EXPR:
    6116            7 :             {
    6117            7 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6118            7 :               {
    6119            7 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    6120            7 :                 tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, LT_EXPR);
    6121            7 :                 if (res) return res;
    6122              :               }
    6123            0 :               break;
    6124              :             }
    6125         2481 :           default:;
    6126              :           }
    6127         2481 :       {
    6128         2481 :         tree _p1_pops[1];
    6129         2481 :         if (tree_nop_convert (_p1, _p1_pops))
    6130              :           {
    6131           24 :             tree _q40 = _p1_pops[0];
    6132           24 :             switch (TREE_CODE (_q40))
    6133              :               {
    6134            0 :               case BIT_NOT_EXPR:
    6135            0 :                 {
    6136            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6137            0 :                   {
    6138            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    6139            0 :                     tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, LT_EXPR);
    6140            0 :                     if (res) return res;
    6141              :                   }
    6142            0 :                   break;
    6143              :                 }
    6144              :               default:;
    6145              :               }
    6146              :           }
    6147              :       }
    6148         2481 :       if (CONSTANT_CLASS_P (_p1))
    6149              :         {
    6150           20 :           {
    6151           20 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6152           20 :             tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6153           20 :             if (res) return res;
    6154              :           }
    6155              :         }
    6156              :         break;
    6157              :       }
    6158     14695288 :     default:;
    6159              :     }
    6160     14695288 : {
    6161     14695288 :   tree _p0_pops[1];
    6162     14695288 :   if (tree_nop_convert (_p0, _p0_pops))
    6163              :     {
    6164      1734617 :       tree _q20 = _p0_pops[0];
    6165      1734617 :       switch (TREE_CODE (_q20))
    6166              :         {
    6167            0 :         case BIT_NOT_EXPR:
    6168            0 :           {
    6169            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6170            0 :             switch (TREE_CODE (_p1))
    6171              :               {
    6172            0 :               case BIT_NOT_EXPR:
    6173            0 :                 {
    6174            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    6175            0 :                   {
    6176            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    6177            0 :                     tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, LT_EXPR);
    6178            0 :                     if (res) return res;
    6179              :                   }
    6180            0 :                   break;
    6181              :                 }
    6182            0 :               default:;
    6183              :               }
    6184            0 :           {
    6185            0 :             tree _p1_pops[1];
    6186            0 :             if (tree_nop_convert (_p1, _p1_pops))
    6187              :               {
    6188            0 :                 tree _q50 = _p1_pops[0];
    6189            0 :                 switch (TREE_CODE (_q50))
    6190              :                   {
    6191            0 :                   case BIT_NOT_EXPR:
    6192            0 :                     {
    6193            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6194            0 :                       {
    6195            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    6196            0 :                         tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, LT_EXPR);
    6197            0 :                         if (res) return res;
    6198              :                       }
    6199            0 :                       break;
    6200              :                     }
    6201              :                   default:;
    6202              :                   }
    6203              :               }
    6204              :           }
    6205            0 :           if (CONSTANT_CLASS_P (_p1))
    6206              :             {
    6207            0 :               {
    6208            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    6209            0 :                 tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6210            0 :                 if (res) return res;
    6211              :               }
    6212              :             }
    6213              :             break;
    6214              :           }
    6215              :         default:;
    6216              :         }
    6217              :     }
    6218              : }
    6219     14695288 :   switch (TREE_CODE (_p1))
    6220              :     {
    6221      2929225 :     case REAL_CST:
    6222      2929225 :       {
    6223      2929225 :         {
    6224      2929225 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6225      2929225 :           tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, LT_EXPR);
    6226      2929225 :           if (res) return res;
    6227              :         }
    6228      2929143 :         break;
    6229              :       }
    6230     14695206 :     default:;
    6231              :     }
    6232     14695206 :   switch (TREE_CODE (_p0))
    6233              :     {
    6234      1977839 :     case PLUS_EXPR:
    6235      1977839 :       {
    6236      1977839 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6237      1977839 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6238      1977839 :         switch (TREE_CODE (_q21))
    6239              :           {
    6240          567 :           case REAL_CST:
    6241          567 :             {
    6242          567 :               switch (TREE_CODE (_p1))
    6243              :                 {
    6244          217 :                 case REAL_CST:
    6245          217 :                   {
    6246          217 :                     {
    6247          217 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6248          217 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR);
    6249          217 :                       if (res) return res;
    6250              :                     }
    6251          215 :                     break;
    6252              :                   }
    6253              :                 default:;
    6254              :                 }
    6255              :               break;
    6256              :             }
    6257      1465765 :           case INTEGER_CST:
    6258      1465765 :             {
    6259      1465765 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6260              :                 {
    6261        18006 :                   {
    6262        18006 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    6263        18006 :                     tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6264        18006 :                     if (res) return res;
    6265              :                   }
    6266              :                 }
    6267              :               break;
    6268              :             }
    6269              :           default:;
    6270              :           }
    6271              :         break;
    6272              :       }
    6273       178620 :     case MINUS_EXPR:
    6274       178620 :       {
    6275       178620 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6276       178620 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6277       178620 :         switch (TREE_CODE (_q21))
    6278              :           {
    6279          210 :           case REAL_CST:
    6280          210 :             {
    6281          210 :               switch (TREE_CODE (_p1))
    6282              :                 {
    6283          195 :                 case REAL_CST:
    6284          195 :                   {
    6285          195 :                     {
    6286          195 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6287          195 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, MINUS_EXPR, LT_EXPR);
    6288          195 :                       if (res) return res;
    6289              :                     }
    6290          195 :                     break;
    6291              :                   }
    6292              :                 default:;
    6293              :                 }
    6294              :               break;
    6295              :             }
    6296       178620 :           default:;
    6297              :           }
    6298       178620 :         switch (TREE_CODE (_q20))
    6299              :           {
    6300        18875 :           case REAL_CST:
    6301        18875 :             {
    6302        18875 :               switch (TREE_CODE (_p1))
    6303              :                 {
    6304        18658 :                 case REAL_CST:
    6305        18658 :                   {
    6306        18658 :                     {
    6307        18658 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6308        18658 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, LT_EXPR);
    6309        18658 :                       if (res) return res;
    6310              :                     }
    6311        18648 :                     break;
    6312              :                   }
    6313              :                 default:;
    6314              :                 }
    6315              :               break;
    6316              :             }
    6317              :           default:;
    6318              :           }
    6319              :         break;
    6320              :       }
    6321        49116 :     case FLOAT_EXPR:
    6322        49116 :       {
    6323        49116 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6324        49116 :         switch (TREE_CODE (_p1))
    6325              :           {
    6326          102 :           case FLOAT_EXPR:
    6327          102 :             {
    6328          102 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6329          102 :               {
    6330          102 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    6331          102 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
    6332          102 :                 if (res) return res;
    6333              :               }
    6334           71 :               break;
    6335              :             }
    6336          656 :           case REAL_CST:
    6337          656 :             {
    6338          656 :               {
    6339          656 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6340          656 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    6341          656 :                 if (res) return res;
    6342              :               }
    6343          552 :               break;
    6344              :             }
    6345              :           default:;
    6346              :           }
    6347              :         break;
    6348              :       }
    6349          698 :     case EXACT_DIV_EXPR:
    6350          698 :       {
    6351          698 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6352          698 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6353          698 :         switch (TREE_CODE (_q21))
    6354              :           {
    6355          698 :           case INTEGER_CST:
    6356          698 :             {
    6357          698 :               switch (TREE_CODE (_p1))
    6358              :                 {
    6359           19 :                 case INTEGER_CST:
    6360           19 :                   {
    6361           19 :                     {
    6362           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6363           19 :                       tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, LT_EXPR);
    6364           19 :                       if (res) return res;
    6365              :                     }
    6366            0 :                     break;
    6367              :                   }
    6368              :                 default:;
    6369              :                 }
    6370              :               break;
    6371              :             }
    6372              :           default:;
    6373              :           }
    6374              :         break;
    6375              :       }
    6376      2690025 :     CASE_CONVERT:
    6377      2690025 :       {
    6378      2690025 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6379      2690025 :         switch (TREE_CODE (_q20))
    6380              :           {
    6381          107 :           case EXACT_DIV_EXPR:
    6382          107 :             {
    6383          107 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6384          107 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6385          107 :               switch (TREE_CODE (_q31))
    6386              :                 {
    6387          107 :                 case INTEGER_CST:
    6388          107 :                   {
    6389          107 :                     switch (TREE_CODE (_p1))
    6390              :                       {
    6391            0 :                       case INTEGER_CST:
    6392            0 :                         {
    6393            0 :                           {
    6394            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6395            0 :                             tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
    6396            0 :                             if (res) return res;
    6397              :                           }
    6398            0 :                           break;
    6399              :                         }
    6400              :                       default:;
    6401              :                       }
    6402              :                     break;
    6403              :                   }
    6404              :                 default:;
    6405              :                 }
    6406              :               break;
    6407              :             }
    6408      2690025 :           default:;
    6409              :           }
    6410      2690025 :         switch (TREE_CODE (_p1))
    6411              :           {
    6412      1426647 :           CASE_CONVERT:
    6413      1426647 :             {
    6414      1426647 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6415      1426647 :               {
    6416      1426647 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    6417      1426647 :                 tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, LT_EXPR);
    6418      1426647 :                 if (res) return res;
    6419              :               }
    6420      1167390 :               break;
    6421              :             }
    6422      2430768 :           default:;
    6423              :           }
    6424      2430768 :         {
    6425      2430768 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    6426      2430768 :           tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, LT_EXPR);
    6427      2430768 :           if (res) return res;
    6428              :         }
    6429      2050034 :         switch (TREE_CODE (_q20))
    6430              :           {
    6431        52210 :           case ADDR_EXPR:
    6432        52210 :             {
    6433        52210 :               switch (TREE_CODE (_p1))
    6434              :                 {
    6435        51638 :                 CASE_CONVERT:
    6436        51638 :                   {
    6437        51638 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    6438        51638 :                     switch (TREE_CODE (_q40))
    6439              :                       {
    6440        51638 :                       case ADDR_EXPR:
    6441        51638 :                         {
    6442        51638 :                           {
    6443        51638 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    6444        51638 :                             tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, LT_EXPR);
    6445        51638 :                             if (res) return res;
    6446              :                           }
    6447          314 :                           break;
    6448              :                         }
    6449              :                       default:;
    6450              :                       }
    6451              :                     break;
    6452              :                   }
    6453          475 :                 case ADDR_EXPR:
    6454          475 :                   {
    6455          475 :                     {
    6456          475 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6457          475 :                       tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, LT_EXPR);
    6458          475 :                       if (res) return res;
    6459              :                     }
    6460            0 :                     break;
    6461              :                   }
    6462              :                 default:;
    6463              :                 }
    6464              :               break;
    6465              :             }
    6466      1998235 :           default:;
    6467              :           }
    6468      1998235 :         if (uniform_integer_cst_p (_p1))
    6469              :           {
    6470       296828 :             {
    6471       296828 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6472       296828 :               tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR);
    6473       296828 :               if (res) return res;
    6474              :             }
    6475              :           }
    6476              :         break;
    6477              :       }
    6478         2164 :     case NEGATE_EXPR:
    6479         2164 :       {
    6480         2164 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6481         2164 :         switch (TREE_CODE (_p1))
    6482              :           {
    6483            0 :           case NEGATE_EXPR:
    6484            0 :             {
    6485            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6486            0 :               {
    6487            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6488            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6489            0 :                 if (res) return res;
    6490              :               }
    6491            0 :               break;
    6492              :             }
    6493         2164 :           default:;
    6494              :           }
    6495         2164 :       if (CONSTANT_CLASS_P (_p1))
    6496              :         {
    6497          187 :           {
    6498          187 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6499          187 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6500          187 :             if (res) return res;
    6501              :           }
    6502              :         }
    6503              :         break;
    6504              :       }
    6505        30186 :     case ADDR_EXPR:
    6506        30186 :       {
    6507        30186 :         switch (TREE_CODE (_p1))
    6508              :           {
    6509            0 :           CASE_CONVERT:
    6510            0 :             {
    6511            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    6512            0 :               switch (TREE_CODE (_q30))
    6513              :                 {
    6514            0 :                 case ADDR_EXPR:
    6515            0 :                   {
    6516            0 :                     {
    6517            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    6518            0 :                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, LT_EXPR);
    6519            0 :                       if (res) return res;
    6520              :                     }
    6521            0 :                     break;
    6522              :                   }
    6523              :                 default:;
    6524              :                 }
    6525              :               break;
    6526              :             }
    6527        29721 :           case ADDR_EXPR:
    6528        29721 :             {
    6529        29721 :               {
    6530        29721 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    6531        29721 :                 tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, LT_EXPR);
    6532        29721 :                 if (res) return res;
    6533              :               }
    6534          628 :               break;
    6535              :             }
    6536              :           default:;
    6537              :           }
    6538              :         break;
    6539              :       }
    6540      1381551 :     case CALL_EXPR:
    6541      1381551 :       switch (get_call_combined_fn (_p0))
    6542              :         {
    6543            5 :         case CFN_BUILT_IN_SQRTF:
    6544            5 :           if (call_expr_nargs (_p0) == 1)
    6545              :     {
    6546            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6547            5 :               switch (TREE_CODE (_p1))
    6548              :                 {
    6549            5 :                 case REAL_CST:
    6550            5 :                   {
    6551            5 :                     {
    6552            5 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6553            5 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    6554            5 :                       if (res) return res;
    6555              :                     }
    6556            0 :                     break;
    6557              :                   }
    6558            0 :                 case CALL_EXPR:
    6559            0 :                   switch (get_call_combined_fn (_p1))
    6560              :                     {
    6561            0 :                     case CFN_BUILT_IN_SQRTF:
    6562            0 :                       if (call_expr_nargs (_p1) == 1)
    6563              :     {
    6564            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6565            0 :                           {
    6566            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6567            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    6568            0 :                             if (res) return res;
    6569              :                           }
    6570              :                         }
    6571              :                       break;
    6572              :                     default:;
    6573              :                     }
    6574              :                   break;
    6575              :                 default:;
    6576              :                 }
    6577              :             }
    6578              :           break;
    6579            0 :         case CFN_BUILT_IN_SQRTL:
    6580            0 :           if (call_expr_nargs (_p0) == 1)
    6581              :     {
    6582            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6583            0 :               switch (TREE_CODE (_p1))
    6584              :                 {
    6585            0 :                 case REAL_CST:
    6586            0 :                   {
    6587            0 :                     {
    6588            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6589            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    6590            0 :                       if (res) return res;
    6591              :                     }
    6592            0 :                     break;
    6593              :                   }
    6594            0 :                 case CALL_EXPR:
    6595            0 :                   switch (get_call_combined_fn (_p1))
    6596              :                     {
    6597            0 :                     case CFN_BUILT_IN_SQRTL:
    6598            0 :                       if (call_expr_nargs (_p1) == 1)
    6599              :     {
    6600            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6601            0 :                           {
    6602            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6603            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    6604            0 :                             if (res) return res;
    6605              :                           }
    6606              :                         }
    6607              :                       break;
    6608              :                     default:;
    6609              :                     }
    6610              :                   break;
    6611              :                 default:;
    6612              :                 }
    6613              :             }
    6614              :           break;
    6615            4 :         case CFN_BUILT_IN_SQRT:
    6616            4 :           if (call_expr_nargs (_p0) == 1)
    6617              :     {
    6618            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6619            4 :               switch (TREE_CODE (_p1))
    6620              :                 {
    6621            4 :                 case REAL_CST:
    6622            4 :                   {
    6623            4 :                     {
    6624            4 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6625            4 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    6626            4 :                       if (res) return res;
    6627              :                     }
    6628            1 :                     break;
    6629              :                   }
    6630            0 :                 case CALL_EXPR:
    6631            0 :                   switch (get_call_combined_fn (_p1))
    6632              :                     {
    6633            0 :                     case CFN_BUILT_IN_SQRT:
    6634            0 :                       if (call_expr_nargs (_p1) == 1)
    6635              :     {
    6636            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6637            0 :                           {
    6638            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6639            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    6640            0 :                             if (res) return res;
    6641              :                           }
    6642              :                         }
    6643              :                       break;
    6644              :                     default:;
    6645              :                     }
    6646              :                   break;
    6647              :                 default:;
    6648              :                 }
    6649              :             }
    6650              :           break;
    6651            0 :         case CFN_SQRT:
    6652            0 :           if (call_expr_nargs (_p0) == 1)
    6653              :     {
    6654            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6655            0 :               switch (TREE_CODE (_p1))
    6656              :                 {
    6657            0 :                 case REAL_CST:
    6658            0 :                   {
    6659            0 :                     {
    6660            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6661            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    6662            0 :                       if (res) return res;
    6663              :                     }
    6664            0 :                     break;
    6665              :                   }
    6666            0 :                 case CALL_EXPR:
    6667            0 :                   switch (get_call_combined_fn (_p1))
    6668              :                     {
    6669            0 :                     case CFN_SQRT:
    6670            0 :                       if (call_expr_nargs (_p1) == 1)
    6671              :     {
    6672            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6673            0 :                           {
    6674            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6675            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    6676            0 :                             if (res) return res;
    6677              :                           }
    6678              :                         }
    6679              :                       break;
    6680              :                     default:;
    6681              :                     }
    6682              :                   break;
    6683              :                 default:;
    6684              :                 }
    6685              :             }
    6686              :           break;
    6687              :         default:;
    6688              :         }
    6689              :       break;
    6690     13953207 :     default:;
    6691              :     }
    6692     13953207 :   switch (TREE_CODE (_p1))
    6693              :     {
    6694      1916298 :     CASE_CONVERT:
    6695      1916298 :       {
    6696      1916298 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6697      1916298 :         switch (TREE_CODE (_q30))
    6698              :           {
    6699            0 :           case NE_EXPR:
    6700            0 :             {
    6701            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6702            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6703            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6704              :                 {
    6705            0 :                   if (tree_expr_nonnegative_p (_q40))
    6706              :                     {
    6707            0 :                       if (integer_zerop (_q41))
    6708              :                         {
    6709            0 :                           {
    6710            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6711            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1638;
    6712            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1638;
    6713            0 :                             {
    6714            0 :                               tree _r;
    6715            0 :                               _r =  constant_boolean_node (false, type);
    6716            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1006, __FILE__, __LINE__, true);
    6717            0 :                               return _r;
    6718              :                             }
    6719            0 : next_after_fail1638:;
    6720              :                           }
    6721              :                         }
    6722              :                     }
    6723              :                 }
    6724              :               break;
    6725              :             }
    6726              :           default:;
    6727              :           }
    6728              :         break;
    6729              :       }
    6730     13953207 :     default:;
    6731              :     }
    6732     13953207 : if (uniform_integer_cst_p (_p1))
    6733              :   {
    6734      3352617 :     {
    6735      3352617 :       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    6736      3352617 :       tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, LT_EXPR);
    6737      3352617 :       if (res) return res;
    6738              :     }
    6739              :   }
    6740     13499313 :   switch (TREE_CODE (_p0))
    6741              :     {
    6742      1994847 :     CASE_CONVERT:
    6743      1994847 :       {
    6744      1994847 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6745      1994847 :         switch (TREE_CODE (_q20))
    6746              :           {
    6747        81966 :           case PLUS_EXPR:
    6748        81966 :             {
    6749        81966 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6750        81966 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6751        81966 :               switch (TREE_CODE (_q30))
    6752              :                 {
    6753        56202 :                 CASE_CONVERT:
    6754        56202 :                   {
    6755        56202 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6756        56202 :                     switch (TREE_CODE (_q31))
    6757              :                       {
    6758        56177 :                       case INTEGER_CST:
    6759        56177 :                         {
    6760        56177 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6761              :                             {
    6762           26 :                               {
    6763           26 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    6764           26 :                                 tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6765           26 :                                 if (res) return res;
    6766              :                               }
    6767              :                             }
    6768              :                           break;
    6769              :                         }
    6770              :                       default:;
    6771              :                       }
    6772              :                     break;
    6773              :                   }
    6774              :                 default:;
    6775              :                 }
    6776              :               break;
    6777              :             }
    6778              :           default:;
    6779              :           }
    6780              :         break;
    6781              :       }
    6782     13499287 :     default:;
    6783              :     }
    6784     13499287 :   switch (TREE_CODE (_p1))
    6785              :     {
    6786      1916298 :     CASE_CONVERT:
    6787      1916298 :       {
    6788      1916298 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6789      1916298 :         switch (TREE_CODE (_q30))
    6790              :           {
    6791        22864 :           case PLUS_EXPR:
    6792        22864 :             {
    6793        22864 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6794        22864 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6795        22864 :               switch (TREE_CODE (_q40))
    6796              :                 {
    6797        20684 :                 CASE_CONVERT:
    6798        20684 :                   {
    6799        20684 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6800        20684 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6801              :                       {
    6802            0 :                         switch (TREE_CODE (_q41))
    6803              :                           {
    6804            0 :                           case INTEGER_CST:
    6805            0 :                             {
    6806            0 :                               {
    6807            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    6808            0 :                                 tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    6809            0 :                                 if (res) return res;
    6810              :                               }
    6811            0 :                               break;
    6812              :                             }
    6813              :                           default:;
    6814              :                           }
    6815              :                       }
    6816              :                     break;
    6817              :                   }
    6818              :                 default:;
    6819              :                 }
    6820              :               break;
    6821              :             }
    6822              :           default:;
    6823              :           }
    6824              :         break;
    6825              :       }
    6826       354358 :     case PLUS_EXPR:
    6827       354358 :       {
    6828       354358 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6829       354358 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6830       354358 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6831              :           {
    6832           81 :             switch (TREE_CODE (_q31))
    6833              :               {
    6834           65 :               case INTEGER_CST:
    6835           65 :                 {
    6836           65 :                   {
    6837           65 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    6838           65 :                     tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    6839           65 :                     if (res) return res;
    6840              :                   }
    6841            0 :                   break;
    6842              :                 }
    6843              :               default:;
    6844              :               }
    6845              :           }
    6846              :         break;
    6847              :       }
    6848        23712 :     case MINUS_EXPR:
    6849        23712 :       {
    6850        23712 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6851        23712 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6852        23712 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6853              :           {
    6854            0 :             {
    6855            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    6856            0 :               tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GT_EXPR);
    6857            0 :               if (res) return res;
    6858              :             }
    6859              :           }
    6860              :         break;
    6861              :       }
    6862     13499222 :     default:;
    6863              :     }
    6864     13499222 :   switch (TREE_CODE (_p0))
    6865              :     {
    6866      1938271 :     case PLUS_EXPR:
    6867      1938271 :       {
    6868      1938271 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6869      1938271 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6870      1938271 :         switch (TREE_CODE (_q20))
    6871              :           {
    6872         1347 :           case MINUS_EXPR:
    6873         1347 :             {
    6874         1347 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6875         1347 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6876         1347 :               if (integer_minus_onep (_q21))
    6877              :                 {
    6878           49 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6879              :                     {
    6880            1 :                       {
    6881            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6882            1 :                         tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR);
    6883            1 :                         if (res) return res;
    6884              :                       }
    6885              :                     }
    6886              :                 }
    6887              :               break;
    6888              :             }
    6889              :           default:;
    6890              :           }
    6891              :         break;
    6892              :       }
    6893     13499221 :     default:;
    6894              :     }
    6895     13499221 :   switch (TREE_CODE (_p1))
    6896              :     {
    6897            0 :     case REALPART_EXPR:
    6898            0 :       {
    6899            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6900            0 :         switch (TREE_CODE (_q30))
    6901              :           {
    6902            0 :           case CALL_EXPR:
    6903            0 :             switch (get_call_combined_fn (_q30))
    6904              :               {
    6905            0 :               case CFN_SUB_OVERFLOW:
    6906            0 :                 if (call_expr_nargs (_q30) == 2)
    6907              :     {
    6908            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    6909            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    6910            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6911              :                       {
    6912            0 :                         {
    6913            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    6914            0 :                           tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    6915            0 :                           if (res) return res;
    6916              :                         }
    6917              :                       }
    6918              :                   }
    6919              :                 break;
    6920              :               default:;
    6921              :               }
    6922              :             break;
    6923              :           default:;
    6924              :           }
    6925              :         break;
    6926              :       }
    6927     13499221 :     default:;
    6928              :     }
    6929     13499221 :   switch (TREE_CODE (_p0))
    6930              :     {
    6931           20 :     case REALPART_EXPR:
    6932           20 :       {
    6933           20 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6934           20 :         switch (TREE_CODE (_q20))
    6935              :           {
    6936            0 :           case CALL_EXPR:
    6937            0 :             switch (get_call_combined_fn (_q20))
    6938              :               {
    6939            0 :               case CFN_ADD_OVERFLOW:
    6940            0 :                 if (call_expr_nargs (_q20) == 2)
    6941              :     {
    6942            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    6943            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    6944            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6945              :                       {
    6946            0 :                         {
    6947            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    6948            0 :                           tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    6949            0 :                           if (res) return res;
    6950              :                         }
    6951              :                       }
    6952            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6953              :                       {
    6954            0 :                         {
    6955            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    6956            0 :                           tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    6957            0 :                           if (res) return res;
    6958              :                         }
    6959              :                       }
    6960              :                   }
    6961              :                 break;
    6962              :               default:;
    6963              :               }
    6964              :             break;
    6965              :           default:;
    6966              :           }
    6967              :         break;
    6968              :       }
    6969         7353 :     case TRUNC_DIV_EXPR:
    6970         7353 :       {
    6971         7353 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6972         7353 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6973         7353 :         if (integer_all_onesp (_q20))
    6974              :           {
    6975         1058 :             {
    6976         1058 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    6977         1058 :               tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    6978         1058 :               if (res) return res;
    6979              :             }
    6980              :           }
    6981              :         break;
    6982              :       }
    6983       118094 :     case MULT_EXPR:
    6984       118094 :       {
    6985       118094 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6986       118094 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6987       118094 :         switch (TREE_CODE (_q21))
    6988              :           {
    6989        11641 :           case REAL_CST:
    6990        11641 :             {
    6991        11641 :               switch (TREE_CODE (_p1))
    6992              :                 {
    6993          830 :                 case REAL_CST:
    6994          830 :                   {
    6995          830 :                     {
    6996          830 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6997          830 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6998          830 :                       if (res) return res;
    6999              :                     }
    7000          830 :                     break;
    7001              :                   }
    7002              :                 default:;
    7003              :                 }
    7004              :               break;
    7005              :             }
    7006              :           default:;
    7007              :           }
    7008              :         break;
    7009              :       }
    7010      1938270 :     case PLUS_EXPR:
    7011      1938270 :       {
    7012      1938270 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7013      1938270 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7014      1938270 :         switch (TREE_CODE (_q21))
    7015              :           {
    7016      1447414 :           case INTEGER_CST:
    7017      1447414 :             {
    7018      1447414 :               switch (TREE_CODE (_p1))
    7019              :                 {
    7020       223826 :                 case INTEGER_CST:
    7021       223826 :                   {
    7022       223826 :                     {
    7023       223826 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7024       223826 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, LT_EXPR, GT_EXPR);
    7025       223826 :                       if (res) return res;
    7026              :                     }
    7027        15089 :                     break;
    7028              :                   }
    7029              :                 default:;
    7030              :                 }
    7031              :               break;
    7032              :             }
    7033              :           default:;
    7034              :           }
    7035              :         break;
    7036              :       }
    7037       178448 :     case MINUS_EXPR:
    7038       178448 :       {
    7039       178448 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7040       178448 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7041       178448 :         switch (TREE_CODE (_q21))
    7042              :           {
    7043            2 :           case INTEGER_CST:
    7044            2 :             {
    7045            2 :               switch (TREE_CODE (_p1))
    7046              :                 {
    7047            0 :                 case INTEGER_CST:
    7048            0 :                   {
    7049            0 :                     {
    7050            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7051            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, LT_EXPR, GT_EXPR);
    7052            0 :                       if (res) return res;
    7053              :                     }
    7054            0 :                     break;
    7055              :                   }
    7056              :                 default:;
    7057              :                 }
    7058              :               break;
    7059              :             }
    7060       178448 :           default:;
    7061              :           }
    7062       178448 :         switch (TREE_CODE (_q20))
    7063              :           {
    7064        41173 :           case INTEGER_CST:
    7065        41173 :             {
    7066        41173 :               switch (TREE_CODE (_p1))
    7067              :                 {
    7068          268 :                 case INTEGER_CST:
    7069          268 :                   {
    7070          268 :                     {
    7071          268 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7072          268 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7073          268 :                       if (res) return res;
    7074              :                     }
    7075            0 :                     break;
    7076              :                   }
    7077              :                 default:;
    7078              :                 }
    7079              :               break;
    7080              :             }
    7081              :           default:;
    7082              :           }
    7083              :         break;
    7084              :       }
    7085      1381528 :     case CALL_EXPR:
    7086      1381528 :       switch (get_call_combined_fn (_p0))
    7087              :         {
    7088            3 :         case CFN_BUILT_IN_CTZ:
    7089            3 :           if (call_expr_nargs (_p0) == 1)
    7090              :     {
    7091            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7092            3 :               switch (TREE_CODE (_p1))
    7093              :                 {
    7094            3 :                 case INTEGER_CST:
    7095            3 :                   {
    7096            3 :                     {
    7097            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7098            3 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ);
    7099            3 :                       if (res) return res;
    7100              :                     }
    7101            0 :                     break;
    7102              :                   }
    7103              :                 default:;
    7104              :                 }
    7105              :             }
    7106              :           break;
    7107            2 :         case CFN_BUILT_IN_CTZL:
    7108            2 :           if (call_expr_nargs (_p0) == 1)
    7109              :     {
    7110            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7111            2 :               switch (TREE_CODE (_p1))
    7112              :                 {
    7113            2 :                 case INTEGER_CST:
    7114            2 :                   {
    7115            2 :                     {
    7116            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7117            2 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL);
    7118            2 :                       if (res) return res;
    7119              :                     }
    7120            0 :                     break;
    7121              :                   }
    7122              :                 default:;
    7123              :                 }
    7124              :             }
    7125              :           break;
    7126            0 :         case CFN_BUILT_IN_CTZIMAX:
    7127            0 :           if (call_expr_nargs (_p0) == 1)
    7128              :     {
    7129            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7130            0 :               switch (TREE_CODE (_p1))
    7131              :                 {
    7132            0 :                 case INTEGER_CST:
    7133            0 :                   {
    7134            0 :                     {
    7135            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7136            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
    7137            0 :                       if (res) return res;
    7138              :                     }
    7139            0 :                     break;
    7140              :                   }
    7141              :                 default:;
    7142              :                 }
    7143              :             }
    7144              :           break;
    7145            0 :         case CFN_CTZ:
    7146            0 :           if (call_expr_nargs (_p0) == 1)
    7147              :     {
    7148            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7149            0 :               switch (TREE_CODE (_p1))
    7150              :                 {
    7151            0 :                 case INTEGER_CST:
    7152            0 :                   {
    7153            0 :                     {
    7154            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7155            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_CTZ);
    7156            0 :                       if (res) return res;
    7157              :                     }
    7158            0 :                     break;
    7159              :                   }
    7160              :                 default:;
    7161              :                 }
    7162              :             }
    7163            0 :           if (call_expr_nargs (_p0) == 2)
    7164              :     {
    7165            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7166            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7167            0 :               switch (TREE_CODE (_p1))
    7168              :                 {
    7169            0 :                 case INTEGER_CST:
    7170            0 :                   {
    7171            0 :                     {
    7172            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7173            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7174            0 :                       if (res) return res;
    7175              :                     }
    7176            0 :                     break;
    7177              :                   }
    7178              :                 default:;
    7179              :                 }
    7180              :             }
    7181              :           break;
    7182            2 :         case CFN_BUILT_IN_CTZLL:
    7183            2 :           if (call_expr_nargs (_p0) == 1)
    7184              :     {
    7185            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7186            2 :               switch (TREE_CODE (_p1))
    7187              :                 {
    7188            2 :                 case INTEGER_CST:
    7189            2 :                   {
    7190            2 :                     {
    7191            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7192            2 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL);
    7193            2 :                       if (res) return res;
    7194              :                     }
    7195            0 :                     break;
    7196              :                   }
    7197              :                 default:;
    7198              :                 }
    7199              :             }
    7200              :           break;
    7201              :         default:;
    7202              :         }
    7203              :       break;
    7204              :     default:;
    7205              :     }
    7206              :   return NULL_TREE;
    7207              : }
    7208              : 
    7209              : tree
    7210     20769690 : generic_simplify_GT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7211              : {
    7212     20769690 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7213     20769690 :   switch (TREE_CODE (_p0))
    7214              :     {
    7215         1006 :     case RDIV_EXPR:
    7216         1006 :       {
    7217         1006 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7218         1006 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7219         1006 :         switch (TREE_CODE (_q20))
    7220              :           {
    7221           29 :           case REAL_CST:
    7222           29 :             {
    7223           29 :               if (real_zerop (_p1))
    7224              :                 {
    7225            0 :                   {
    7226            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7227            0 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    7228            0 :                     if (res) return res;
    7229              :                   }
    7230              :                 }
    7231              :               break;
    7232              :             }
    7233              :           default:;
    7234              :           }
    7235              :         break;
    7236              :       }
    7237     20769690 :     default:;
    7238              :     }
    7239     20769690 :   switch (TREE_CODE (_p1))
    7240              :     {
    7241           94 :     case TRUNC_MOD_EXPR:
    7242           94 :       {
    7243           94 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7244           94 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7245           94 :         if (tree_expr_nonnegative_p (_q30))
    7246              :           {
    7247           10 :             if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7248              :               {
    7249            0 :                 if (tree_expr_nonnegative_p (_q31))
    7250              :                   {
    7251            0 :                     {
    7252            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7253            0 :                       tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR);
    7254            0 :                       if (res) return res;
    7255              :                     }
    7256              :                   }
    7257              :               }
    7258              :           }
    7259              :         break;
    7260              :       }
    7261     20769690 :     default:;
    7262              :     }
    7263     20769690 :   switch (TREE_CODE (_p0))
    7264              :     {
    7265       224678 :     case MULT_EXPR:
    7266       224678 :       {
    7267       224678 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7268       224678 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7269       224678 :         switch (TREE_CODE (_p1))
    7270              :           {
    7271         7613 :           case MULT_EXPR:
    7272         7613 :             {
    7273         7613 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7274         7613 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7275         7613 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7276              :                 {
    7277          590 :                   {
    7278          590 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7279          590 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GT_EXPR);
    7280          590 :                     if (res) return res;
    7281              :                   }
    7282              :                 }
    7283         7128 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7284              :                 {
    7285            8 :                   {
    7286            8 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7287            8 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GT_EXPR);
    7288            8 :                     if (res) return res;
    7289              :                   }
    7290              :                 }
    7291         7128 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7292              :                 {
    7293            0 :                   {
    7294            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7295            0 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GT_EXPR);
    7296            0 :                     if (res) return res;
    7297              :                   }
    7298              :                 }
    7299         7128 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7300              :                 {
    7301          646 :                   {
    7302          646 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7303          646 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GT_EXPR);
    7304          646 :                     if (res) return res;
    7305              :                   }
    7306              :                 }
    7307              :               break;
    7308              :             }
    7309              :           default:;
    7310              :           }
    7311              :         break;
    7312              :       }
    7313      2161564 :     case PLUS_EXPR:
    7314      2161564 :       {
    7315      2161564 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7316      2161564 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7317      2161564 :         if (integer_minus_onep (_q21))
    7318              :           {
    7319       560087 :             switch (TREE_CODE (_p1))
    7320              :               {
    7321       422533 :               case INTEGER_CST:
    7322       422533 :                 {
    7323       422533 :                   {
    7324       422533 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7325       422533 :                     tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    7326       422533 :                     if (res) return res;
    7327              :                   }
    7328       417817 :                   break;
    7329              :                 }
    7330              :               default:;
    7331              :               }
    7332              :           }
    7333      2156848 :         switch (TREE_CODE (_p1))
    7334              :           {
    7335        60516 :           case PLUS_EXPR:
    7336        60516 :             {
    7337        60516 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7338        60516 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7339        60516 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7340              :                 {
    7341         4031 :                   {
    7342         4031 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7343         4031 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    7344         4031 :                     if (res) return res;
    7345              :                   }
    7346              :                 }
    7347        57672 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7348              :                 {
    7349          319 :                   {
    7350          319 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7351          319 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    7352          319 :                     if (res) return res;
    7353              :                   }
    7354              :                 }
    7355        57672 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7356              :                 {
    7357           31 :                   {
    7358           31 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7359           31 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    7360           31 :                     if (res) return res;
    7361              :                   }
    7362              :                 }
    7363        57672 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7364              :                 {
    7365          293 :                   {
    7366          293 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7367          293 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GT_EXPR);
    7368          293 :                     if (res) return res;
    7369              :                   }
    7370              :                 }
    7371              :               break;
    7372              :             }
    7373      2154004 :           default:;
    7374              :           }
    7375      2154004 :         switch (TREE_CODE (_q21))
    7376              :           {
    7377      1955564 :           case INTEGER_CST:
    7378      1955564 :             {
    7379      1955564 :               switch (TREE_CODE (_p1))
    7380              :                 {
    7381        34722 :                 case PLUS_EXPR:
    7382        34722 :                   {
    7383        34722 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7384        34722 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7385        34722 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7386              :                       {
    7387         1161 :                         {
    7388         1161 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7389         1161 :                           tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, GT_EXPR);
    7390         1161 :                           if (res) return res;
    7391              :                         }
    7392              :                       }
    7393              :                     break;
    7394              :                   }
    7395              :                 default:;
    7396              :                 }
    7397              :               break;
    7398              :             }
    7399      2154004 :           default:;
    7400              :           }
    7401      2154004 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7402              :           {
    7403        58260 :             {
    7404        58260 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7405        58260 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GT_EXPR);
    7406        58260 :               if (res) return res;
    7407              :             }
    7408              :           }
    7409      2115961 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7410              :           {
    7411         6944 :             {
    7412         6944 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7413         6944 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GT_EXPR);
    7414         6944 :               if (res) return res;
    7415              :             }
    7416              :           }
    7417              :         break;
    7418              :       }
    7419      2349772 :     CASE_CONVERT:
    7420      2349772 :       {
    7421      2349772 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7422      2349772 :         switch (TREE_CODE (_q20))
    7423              :           {
    7424            5 :           case EXACT_DIV_EXPR:
    7425            5 :             {
    7426            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7427            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7428            5 :               switch (TREE_CODE (_q31))
    7429              :                 {
    7430            5 :                 case INTEGER_CST:
    7431            5 :                   {
    7432            5 :                     switch (TREE_CODE (_p1))
    7433              :                       {
    7434            2 :                       CASE_CONVERT:
    7435            2 :                         {
    7436            2 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7437            2 :                           switch (TREE_CODE (_q60))
    7438              :                             {
    7439            0 :                             case EXACT_DIV_EXPR:
    7440            0 :                               {
    7441            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    7442            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    7443            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7444              :                                   {
    7445            0 :                                     {
    7446            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    7447            0 :                                       tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, GT_EXPR);
    7448            0 :                                       if (res) return res;
    7449              :                                     }
    7450              :                                   }
    7451              :                                 break;
    7452              :                               }
    7453              :                             default:;
    7454              :                             }
    7455              :                           break;
    7456              :                         }
    7457              :                       default:;
    7458              :                       }
    7459              :                     break;
    7460              :                   }
    7461              :                 default:;
    7462              :                 }
    7463              :               break;
    7464              :             }
    7465              :           default:;
    7466              :           }
    7467              :         break;
    7468              :       }
    7469         3666 :     case EXACT_DIV_EXPR:
    7470         3666 :       {
    7471         3666 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7472         3666 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7473         3666 :         switch (TREE_CODE (_q21))
    7474              :           {
    7475         3666 :           case INTEGER_CST:
    7476         3666 :             {
    7477         3666 :               switch (TREE_CODE (_p1))
    7478              :                 {
    7479            6 :                 case EXACT_DIV_EXPR:
    7480            6 :                   {
    7481            6 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7482            6 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7483            6 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7484              :                       {
    7485            0 :                         {
    7486            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7487            0 :                           tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, GT_EXPR);
    7488            0 :                           if (res) return res;
    7489              :                         }
    7490              :                       }
    7491              :                     break;
    7492              :                   }
    7493              :                 default:;
    7494              :                 }
    7495              :               break;
    7496              :             }
    7497              :           default:;
    7498              :           }
    7499              :         break;
    7500              :       }
    7501      1720781 :     case TRUNC_DIV_EXPR:
    7502      1720781 :       {
    7503      1720781 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7504      1720781 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7505      1720781 :         switch (TREE_CODE (_q21))
    7506              :           {
    7507      1712473 :           case INTEGER_CST:
    7508      1712473 :             {
    7509      1712473 :               switch (TREE_CODE (_p1))
    7510              :                 {
    7511      1698903 :                 case INTEGER_CST:
    7512      1698903 :                   {
    7513      1698903 :                     {
    7514      1698903 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7515      1698903 :                       tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GT_EXPR);
    7516      1698903 :                       if (res) return res;
    7517              :                     }
    7518           69 :                     break;
    7519              :                   }
    7520              :                 default:;
    7521              :                 }
    7522              :               break;
    7523              :             }
    7524              :           default:;
    7525              :           }
    7526              :         break;
    7527              :       }
    7528       760259 :     case MINUS_EXPR:
    7529       760259 :       {
    7530       760259 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7531       760259 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7532       760259 :         switch (TREE_CODE (_p1))
    7533              :           {
    7534         3476 :           case MINUS_EXPR:
    7535         3476 :             {
    7536         3476 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7537         3476 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7538         3476 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7539              :                 {
    7540          872 :                   {
    7541          872 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7542          872 :                     tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GT_EXPR);
    7543          872 :                     if (res) return res;
    7544              :                   }
    7545              :                 }
    7546         3476 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7547              :                 {
    7548          170 :                   {
    7549          170 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7550          170 :                     tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, GT_EXPR);
    7551          170 :                     if (res) return res;
    7552              :                   }
    7553              :                 }
    7554              :               break;
    7555              :             }
    7556              :           default:;
    7557              :           }
    7558              :         break;
    7559              :       }
    7560        53366 :     case POINTER_DIFF_EXPR:
    7561        53366 :       {
    7562        53366 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7563        53366 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7564        53366 :         switch (TREE_CODE (_p1))
    7565              :           {
    7566          315 :           case POINTER_DIFF_EXPR:
    7567          315 :             {
    7568          315 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7569          315 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7570          315 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7571              :                 {
    7572           43 :                   {
    7573           43 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7574           43 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, GT_EXPR);
    7575           43 :                     if (res) return res;
    7576              :                   }
    7577              :                 }
    7578          272 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7579              :                 {
    7580            0 :                   {
    7581            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    7582            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, GT_EXPR);
    7583            0 :                     if (res) return res;
    7584              :                   }
    7585              :                 }
    7586              :               break;
    7587              :             }
    7588              :           default:;
    7589              :           }
    7590              :         break;
    7591              :       }
    7592     19023161 :     default:;
    7593              :     }
    7594     19023161 :   switch (TREE_CODE (_p1))
    7595              :     {
    7596       111190 :     case PLUS_EXPR:
    7597       111190 :       {
    7598       111190 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7599       111190 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7600       111190 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7601              :           {
    7602            0 :             {
    7603            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7604            0 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LT_EXPR);
    7605            0 :               if (res) return res;
    7606              :             }
    7607              :           }
    7608       111190 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7609              :           {
    7610            4 :             {
    7611            4 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    7612            4 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LT_EXPR);
    7613            4 :               if (res) return res;
    7614              :             }
    7615              :           }
    7616              :         break;
    7617              :       }
    7618        11820 :     case MINUS_EXPR:
    7619        11820 :       {
    7620        11820 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7621        11820 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7622        11820 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7623              :           {
    7624            0 :             {
    7625            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    7626            0 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GT_EXPR);
    7627            0 :               if (res) return res;
    7628              :             }
    7629              :           }
    7630              :         break;
    7631              :       }
    7632     19023161 :     default:;
    7633              :     }
    7634     19023161 :   switch (TREE_CODE (_p0))
    7635              :     {
    7636       760259 :     case MINUS_EXPR:
    7637       760259 :       {
    7638       760259 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7639       760259 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7640       760259 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7641              :           {
    7642        15128 :             {
    7643        15128 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    7644        15128 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, LT_EXPR);
    7645        15128 :               if (res) return res;
    7646              :             }
    7647              :           }
    7648              :         break;
    7649              :       }
    7650        22935 :     case BIT_AND_EXPR:
    7651        22935 :       {
    7652        22935 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7653        22935 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7654        22935 :         if (tree_expr_nonnegative_p (_q20))
    7655              :           {
    7656        20740 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7657              :               {
    7658            0 :                 {
    7659            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7660            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    7661            0 :                   if (res) return res;
    7662              :                 }
    7663              :               }
    7664              :           }
    7665        22935 :         if (tree_expr_nonnegative_p (_q21))
    7666              :           {
    7667        21927 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7668              :               {
    7669         5312 :                 {
    7670         5312 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7671         5312 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    7672         5312 :                   if (res) return res;
    7673              :                 }
    7674              :               }
    7675              :           }
    7676              :         break;
    7677              :       }
    7678     19017806 :     default:;
    7679              :     }
    7680     19017806 :   switch (TREE_CODE (_p1))
    7681              :     {
    7682          100 :     case BIT_IOR_EXPR:
    7683          100 :       {
    7684          100 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7685          100 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7686          100 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7687              :           {
    7688            0 :             if (tree_expr_nonnegative_p (_q30))
    7689              :               {
    7690            0 :                 {
    7691            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7692            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    7693            0 :                   if (res) return res;
    7694              :                 }
    7695              :               }
    7696              :           }
    7697          100 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7698              :           {
    7699            0 :             if (tree_expr_nonnegative_p (_q31))
    7700              :               {
    7701            0 :                 {
    7702            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7703            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    7704            0 :                   if (res) return res;
    7705              :                 }
    7706              :               }
    7707              :           }
    7708              :         break;
    7709              :       }
    7710     19017806 :     default:;
    7711              :     }
    7712     19017806 :   switch (TREE_CODE (_p0))
    7713              :     {
    7714        33296 :     case MIN_EXPR:
    7715        33296 :       {
    7716        33296 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7717        33296 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7718        33296 :         switch (TREE_CODE (_p1))
    7719              :           {
    7720            4 :           case MAX_EXPR:
    7721            4 :             {
    7722            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7723            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7724            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7725              :                 {
    7726            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7727              :                     {
    7728            0 :                       {
    7729            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7730            0 :                         tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GT_EXPR);
    7731            0 :                         if (res) return res;
    7732              :                       }
    7733              :                     }
    7734              :                 }
    7735              :               break;
    7736              :             }
    7737              :           default:;
    7738              :           }
    7739              :         break;
    7740              :       }
    7741        13659 :     case MAX_EXPR:
    7742        13659 :       {
    7743        13659 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7744        13659 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7745        13659 :         switch (TREE_CODE (_p1))
    7746              :           {
    7747           16 :           case MIN_EXPR:
    7748           16 :             {
    7749           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7750           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7751           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7752              :                 {
    7753            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7754              :                     {
    7755            0 :                       {
    7756            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7757            0 :                         tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7758            0 :                         if (res) return res;
    7759              :                       }
    7760              :                     }
    7761              :                 }
    7762              :               break;
    7763              :             }
    7764        13659 :           default:;
    7765              :           }
    7766        13659 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7767              :           {
    7768            1 :             {
    7769            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7770            1 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    7771            1 :               if (res) return res;
    7772              :             }
    7773              :           }
    7774        13658 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7775              :           {
    7776           12 :             {
    7777           12 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7778           12 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    7779           12 :               if (res) return res;
    7780              :             }
    7781              :           }
    7782              :         break;
    7783              :       }
    7784     19017796 :     default:;
    7785              :     }
    7786     19017796 :   switch (TREE_CODE (_p1))
    7787              :     {
    7788          117 :     case MIN_EXPR:
    7789          117 :       {
    7790          117 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7791          117 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7792          117 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7793              :           {
    7794            0 :             {
    7795            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7796            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    7797            0 :               if (res) return res;
    7798              :             }
    7799              :           }
    7800          117 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7801              :           {
    7802            0 :             {
    7803            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7804            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    7805            0 :               if (res) return res;
    7806              :             }
    7807              :           }
    7808              :         break;
    7809              :       }
    7810         2457 :     case MAX_EXPR:
    7811         2457 :       {
    7812         2457 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7813         2457 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7814         2457 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7815              :           {
    7816            0 :             {
    7817            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7818            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    7819            0 :               if (res) return res;
    7820              :             }
    7821              :           }
    7822         2457 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7823              :           {
    7824            0 :             {
    7825            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7826            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    7827            0 :               if (res) return res;
    7828              :             }
    7829              :           }
    7830              :         break;
    7831              :       }
    7832     19017796 :     default:;
    7833              :     }
    7834     19017796 :   switch (TREE_CODE (_p0))
    7835              :     {
    7836        33296 :     case MIN_EXPR:
    7837        33296 :       {
    7838        33296 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7839        33296 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7840        33296 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7841              :           {
    7842            1 :             {
    7843            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7844            1 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    7845            1 :               if (res) return res;
    7846              :             }
    7847              :           }
    7848        33295 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7849              :           {
    7850            1 :             {
    7851            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7852            1 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    7853            1 :               if (res) return res;
    7854              :             }
    7855              :           }
    7856        33294 :         switch (TREE_CODE (_q21))
    7857              :           {
    7858        19947 :           case INTEGER_CST:
    7859        19947 :             {
    7860        19947 :               switch (TREE_CODE (_p1))
    7861              :                 {
    7862           61 :                 case INTEGER_CST:
    7863           61 :                   {
    7864           61 :                     {
    7865           61 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7866           61 :                       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MIN_EXPR, GT_EXPR, BIT_AND_EXPR);
    7867           61 :                       if (res) return res;
    7868              :                     }
    7869            0 :                     break;
    7870              :                   }
    7871              :                 default:;
    7872              :                 }
    7873              :               break;
    7874              :             }
    7875              :           default:;
    7876              :           }
    7877              :         break;
    7878              :       }
    7879        13649 :     case MAX_EXPR:
    7880        13649 :       {
    7881        13649 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7882        13649 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7883        13649 :         switch (TREE_CODE (_q21))
    7884              :           {
    7885        13050 :           case INTEGER_CST:
    7886        13050 :             {
    7887        13050 :               switch (TREE_CODE (_p1))
    7888              :                 {
    7889            0 :                 case INTEGER_CST:
    7890            0 :                   {
    7891            0 :                     {
    7892            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7893            0 :                       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, BIT_IOR_EXPR);
    7894            0 :                       if (res) return res;
    7895              :                     }
    7896            0 :                     break;
    7897              :                   }
    7898              :                 default:;
    7899              :                 }
    7900              :               break;
    7901              :             }
    7902              :           default:;
    7903              :           }
    7904              :         break;
    7905              :       }
    7906          877 :     case VEC_COND_EXPR:
    7907          877 :       {
    7908          877 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7909          877 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7910          877 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7911          877 :         switch (TREE_CODE (_p1))
    7912              :           {
    7913           14 :           case VEC_COND_EXPR:
    7914           14 :             {
    7915           14 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7916           14 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7917           14 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7918           14 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7919              :                 {
    7920            0 :                   {
    7921            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7922            0 :                     if (VECTOR_TYPE_P (type)
    7923            0 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    7924            0 :  || types_match (type, TREE_TYPE (captures[2]))
    7925            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7926              :  || (optimize_vectors_before_lowering_p ()
    7927            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7928              : )
    7929              :                       {
    7930            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1642;
    7931            0 :                         {
    7932            0 :                           tree res_op0;
    7933            0 :                           res_op0 = captures[1];
    7934            0 :                           tree res_op1;
    7935            0 :                           {
    7936            0 :                             tree _o1[2], _r1;
    7937            0 :                             _o1[0] = captures[2];
    7938            0 :                             _o1[1] = captures[5];
    7939            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7940            0 :                             if (EXPR_P (_r1))
    7941            0 :                               goto next_after_fail1642;
    7942            0 :                             res_op1 = _r1;
    7943              :                           }
    7944            0 :                           tree res_op2;
    7945            0 :                           {
    7946            0 :                             tree _o1[2], _r1;
    7947            0 :                             _o1[0] = captures[3];
    7948            0 :                             _o1[1] = captures[6];
    7949            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7950            0 :                             if (EXPR_P (_r1))
    7951            0 :                               goto next_after_fail1642;
    7952            0 :                             res_op2 = _r1;
    7953              :                           }
    7954            0 :                           tree _r;
    7955            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7956            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    7957            0 :                           return _r;
    7958              :                         }
    7959            0 : next_after_fail1642:;
    7960              :                       }
    7961              :                   }
    7962              :                 }
    7963              :               break;
    7964              :             }
    7965          877 :           default:;
    7966              :           }
    7967          877 :         {
    7968          877 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7969          877 :           if (VECTOR_TYPE_P (type)
    7970          877 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    7971          877 :  || types_match (type, TREE_TYPE (captures[2]))
    7972          877 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7973              :  || (optimize_vectors_before_lowering_p ()
    7974           10 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7975              : )
    7976              :             {
    7977          877 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1643;
    7978          877 :               {
    7979          877 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1643;
    7980           21 :                 tree res_op0;
    7981           21 :                 res_op0 = captures[1];
    7982           21 :                 tree res_op1;
    7983           21 :                 {
    7984           21 :                   tree _o1[2], _r1;
    7985           21 :                   _o1[0] = captures[2];
    7986           21 :                   _o1[1] = unshare_expr (captures[4]);
    7987           21 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7988           21 :                   if (EXPR_P (_r1))
    7989           17 :                     goto next_after_fail1643;
    7990            4 :                   res_op1 = _r1;
    7991              :                 }
    7992            4 :                 tree res_op2;
    7993            4 :                 {
    7994            4 :                   tree _o1[2], _r1;
    7995            4 :                   _o1[0] = captures[3];
    7996            4 :                   _o1[1] = captures[4];
    7997            4 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7998            4 :                   if (EXPR_P (_r1))
    7999            4 :                     goto next_after_fail1643;
    8000            0 :                   res_op2 = _r1;
    8001              :                 }
    8002            0 :                 tree _r;
    8003            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8004            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    8005            0 :                 return _r;
    8006              :               }
    8007          877 : next_after_fail1643:;
    8008              :             }
    8009              :         }
    8010          877 :         break;
    8011              :       }
    8012     19017733 :     default:;
    8013              :     }
    8014     19017733 :   switch (TREE_CODE (_p1))
    8015              :     {
    8016           74 :     case VEC_COND_EXPR:
    8017           74 :       {
    8018           74 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8019           74 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8020           74 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8021           74 :         {
    8022           74 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8023           74 :           if (VECTOR_TYPE_P (type)
    8024           74 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    8025           74 :  || types_match (type, TREE_TYPE (captures[3]))
    8026           74 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8027              :  || (optimize_vectors_before_lowering_p ()
    8028            7 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8029              : )
    8030              :             {
    8031           74 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1644;
    8032           74 :               {
    8033           74 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1644;
    8034            0 :                 tree res_op0;
    8035            0 :                 res_op0 = captures[2];
    8036            0 :                 tree res_op1;
    8037            0 :                 {
    8038            0 :                   tree _o1[2], _r1;
    8039            0 :                   _o1[0] = unshare_expr (captures[0]);
    8040            0 :                   _o1[1] = captures[3];
    8041            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8042            0 :                   if (EXPR_P (_r1))
    8043            0 :                     goto next_after_fail1644;
    8044            0 :                   res_op1 = _r1;
    8045              :                 }
    8046            0 :                 tree res_op2;
    8047            0 :                 {
    8048            0 :                   tree _o1[2], _r1;
    8049            0 :                   _o1[0] = captures[0];
    8050            0 :                   _o1[1] = captures[4];
    8051            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8052            0 :                   if (EXPR_P (_r1))
    8053            0 :                     goto next_after_fail1644;
    8054            0 :                   res_op2 = _r1;
    8055              :                 }
    8056            0 :                 tree _r;
    8057            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8058            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    8059            0 :                 return _r;
    8060              :               }
    8061           74 : next_after_fail1644:;
    8062              :             }
    8063              :         }
    8064           74 :         break;
    8065              :       }
    8066     19017733 :     default:;
    8067              :     }
    8068     19017733 : if (uniform_integer_cst_p (_p1))
    8069              :   {
    8070     13453517 :     {
    8071     13453517 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8072     13453517 :       tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    8073     13453517 :       if (res) return res;
    8074              :     }
    8075              :   }
    8076     18938011 :   switch (TREE_CODE (_p0))
    8077              :     {
    8078       223883 :     case MULT_EXPR:
    8079       223883 :       {
    8080       223883 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8081       223883 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8082       223883 :         switch (TREE_CODE (_q21))
    8083              :           {
    8084       185550 :           case INTEGER_CST:
    8085       185550 :             {
    8086       185550 :               if (integer_zerop (_p1))
    8087              :                 {
    8088         7164 :                   {
    8089         7164 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8090         7164 :                     tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8091         7164 :                     if (res) return res;
    8092              :                   }
    8093              :                 }
    8094              :               break;
    8095              :             }
    8096              :           default:;
    8097              :           }
    8098              :         break;
    8099              :       }
    8100     18935634 :     default:;
    8101              :     }
    8102     18935634 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8103              :     {
    8104         1332 :       {
    8105         1332 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8106         1332 :         tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, GT_EXPR);
    8107         1332 :         if (res) return res;
    8108              :       }
    8109              :     }
    8110     18934302 :   switch (TREE_CODE (_p0))
    8111              :     {
    8112       908777 :     case BIT_NOT_EXPR:
    8113       908777 :       {
    8114       908777 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8115       908777 :         switch (TREE_CODE (_p1))
    8116              :           {
    8117           10 :           case BIT_NOT_EXPR:
    8118           10 :             {
    8119           10 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8120           10 :               {
    8121           10 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8122           10 :                 tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, GT_EXPR);
    8123           10 :                 if (res) return res;
    8124              :               }
    8125            0 :               break;
    8126              :             }
    8127       908767 :           default:;
    8128              :           }
    8129       908767 :       {
    8130       908767 :         tree _p1_pops[1];
    8131       908767 :         if (tree_nop_convert (_p1, _p1_pops))
    8132              :           {
    8133            2 :             tree _q40 = _p1_pops[0];
    8134            2 :             switch (TREE_CODE (_q40))
    8135              :               {
    8136            0 :               case BIT_NOT_EXPR:
    8137            0 :                 {
    8138            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8139            0 :                   {
    8140            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8141            0 :                     tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, GT_EXPR);
    8142            0 :                     if (res) return res;
    8143              :                   }
    8144            0 :                   break;
    8145              :                 }
    8146              :               default:;
    8147              :               }
    8148              :           }
    8149              :       }
    8150       908767 :       if (CONSTANT_CLASS_P (_p1))
    8151              :         {
    8152       906454 :           {
    8153       906454 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8154       906454 :             tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8155       906454 :             if (res) return res;
    8156              :           }
    8157              :         }
    8158              :         break;
    8159              :       }
    8160     18027838 :     default:;
    8161              :     }
    8162     18027838 : {
    8163     18027838 :   tree _p0_pops[1];
    8164     18027838 :   if (tree_nop_convert (_p0, _p0_pops))
    8165              :     {
    8166       952493 :       tree _q20 = _p0_pops[0];
    8167       952493 :       switch (TREE_CODE (_q20))
    8168              :         {
    8169            0 :         case BIT_NOT_EXPR:
    8170            0 :           {
    8171            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8172            0 :             switch (TREE_CODE (_p1))
    8173              :               {
    8174            0 :               case BIT_NOT_EXPR:
    8175            0 :                 {
    8176            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8177            0 :                   {
    8178            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8179            0 :                     tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GT_EXPR);
    8180            0 :                     if (res) return res;
    8181              :                   }
    8182            0 :                   break;
    8183              :                 }
    8184            0 :               default:;
    8185              :               }
    8186            0 :           {
    8187            0 :             tree _p1_pops[1];
    8188            0 :             if (tree_nop_convert (_p1, _p1_pops))
    8189              :               {
    8190            0 :                 tree _q50 = _p1_pops[0];
    8191            0 :                 switch (TREE_CODE (_q50))
    8192              :                   {
    8193            0 :                   case BIT_NOT_EXPR:
    8194            0 :                     {
    8195            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8196            0 :                       {
    8197            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8198            0 :                         tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GT_EXPR);
    8199            0 :                         if (res) return res;
    8200              :                       }
    8201            0 :                       break;
    8202              :                     }
    8203              :                   default:;
    8204              :                   }
    8205              :               }
    8206              :           }
    8207            0 :           if (CONSTANT_CLASS_P (_p1))
    8208              :             {
    8209            0 :               {
    8210            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8211            0 :                 tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8212            0 :                 if (res) return res;
    8213              :               }
    8214              :             }
    8215              :             break;
    8216              :           }
    8217              :         default:;
    8218              :         }
    8219              :     }
    8220              : }
    8221     18027838 :   switch (TREE_CODE (_p1))
    8222              :     {
    8223       828240 :     case REAL_CST:
    8224       828240 :       {
    8225       828240 :         {
    8226       828240 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8227       828240 :           tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, GT_EXPR);
    8228       828240 :           if (res) return res;
    8229              :         }
    8230       828192 :         break;
    8231              :       }
    8232     18027790 :     default:;
    8233              :     }
    8234     18027790 :   switch (TREE_CODE (_p0))
    8235              :     {
    8236      2113824 :     case PLUS_EXPR:
    8237      2113824 :       {
    8238      2113824 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8239      2113824 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8240      2113824 :         switch (TREE_CODE (_q21))
    8241              :           {
    8242          479 :           case REAL_CST:
    8243          479 :             {
    8244          479 :               switch (TREE_CODE (_p1))
    8245              :                 {
    8246          199 :                 case REAL_CST:
    8247          199 :                   {
    8248          199 :                     {
    8249          199 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8250          199 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR);
    8251          199 :                       if (res) return res;
    8252              :                     }
    8253          199 :                     break;
    8254              :                   }
    8255              :                 default:;
    8256              :                 }
    8257              :               break;
    8258              :             }
    8259      1916698 :           case INTEGER_CST:
    8260      1916698 :             {
    8261      1916698 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8262              :                 {
    8263         1196 :                   {
    8264         1196 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    8265         1196 :                     tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    8266         1196 :                     if (res) return res;
    8267              :                   }
    8268              :                 }
    8269              :               break;
    8270              :             }
    8271              :           default:;
    8272              :           }
    8273              :         break;
    8274              :       }
    8275       749917 :     case MINUS_EXPR:
    8276       749917 :       {
    8277       749917 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8278       749917 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8279       749917 :         switch (TREE_CODE (_q21))
    8280              :           {
    8281          751 :           case REAL_CST:
    8282          751 :             {
    8283          751 :               switch (TREE_CODE (_p1))
    8284              :                 {
    8285          537 :                 case REAL_CST:
    8286          537 :                   {
    8287          537 :                     {
    8288          537 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8289          537 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, MINUS_EXPR, GT_EXPR);
    8290          537 :                       if (res) return res;
    8291              :                     }
    8292          535 :                     break;
    8293              :                   }
    8294              :                 default:;
    8295              :                 }
    8296              :               break;
    8297              :             }
    8298       749915 :           default:;
    8299              :           }
    8300       749915 :         switch (TREE_CODE (_q20))
    8301              :           {
    8302           43 :           case REAL_CST:
    8303           43 :             {
    8304           43 :               switch (TREE_CODE (_p1))
    8305              :                 {
    8306           37 :                 case REAL_CST:
    8307           37 :                   {
    8308           37 :                     {
    8309           37 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8310           37 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, GT_EXPR);
    8311           37 :                       if (res) return res;
    8312              :                     }
    8313           35 :                     break;
    8314              :                   }
    8315              :                 default:;
    8316              :                 }
    8317              :               break;
    8318              :             }
    8319              :           default:;
    8320              :           }
    8321              :         break;
    8322              :       }
    8323        39721 :     case FLOAT_EXPR:
    8324        39721 :       {
    8325        39721 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8326        39721 :         switch (TREE_CODE (_p1))
    8327              :           {
    8328           30 :           case FLOAT_EXPR:
    8329           30 :             {
    8330           30 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8331           30 :               {
    8332           30 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8333           30 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
    8334           30 :                 if (res) return res;
    8335              :               }
    8336           30 :               break;
    8337              :             }
    8338        38006 :           case REAL_CST:
    8339        38006 :             {
    8340        38006 :               {
    8341        38006 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8342        38006 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    8343        38006 :                 if (res) return res;
    8344              :               }
    8345        19179 :               break;
    8346              :             }
    8347              :           default:;
    8348              :           }
    8349              :         break;
    8350              :       }
    8351         3666 :     case EXACT_DIV_EXPR:
    8352         3666 :       {
    8353         3666 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8354         3666 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8355         3666 :         switch (TREE_CODE (_q21))
    8356              :           {
    8357         3666 :           case INTEGER_CST:
    8358         3666 :             {
    8359         3666 :               switch (TREE_CODE (_p1))
    8360              :                 {
    8361          181 :                 case INTEGER_CST:
    8362          181 :                   {
    8363          181 :                     {
    8364          181 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8365          181 :                       tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GT_EXPR);
    8366          181 :                       if (res) return res;
    8367              :                     }
    8368            0 :                     break;
    8369              :                   }
    8370              :                 default:;
    8371              :                 }
    8372              :               break;
    8373              :             }
    8374              :           default:;
    8375              :           }
    8376              :         break;
    8377              :       }
    8378      2346209 :     CASE_CONVERT:
    8379      2346209 :       {
    8380      2346209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8381      2346209 :         switch (TREE_CODE (_q20))
    8382              :           {
    8383            5 :           case EXACT_DIV_EXPR:
    8384            5 :             {
    8385            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8386            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8387            5 :               switch (TREE_CODE (_q31))
    8388              :                 {
    8389            5 :                 case INTEGER_CST:
    8390            5 :                   {
    8391            5 :                     switch (TREE_CODE (_p1))
    8392              :                       {
    8393            0 :                       case INTEGER_CST:
    8394            0 :                         {
    8395            0 :                           {
    8396            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8397            0 :                             tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8398            0 :                             if (res) return res;
    8399              :                           }
    8400            0 :                           break;
    8401              :                         }
    8402              :                       default:;
    8403              :                       }
    8404              :                     break;
    8405              :                   }
    8406              :                 default:;
    8407              :                 }
    8408              :               break;
    8409              :             }
    8410      2346209 :           default:;
    8411              :           }
    8412      2346209 :         switch (TREE_CODE (_p1))
    8413              :           {
    8414       173828 :           CASE_CONVERT:
    8415       173828 :             {
    8416       173828 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8417       173828 :               {
    8418       173828 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8419       173828 :                 tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, GT_EXPR);
    8420       173828 :                 if (res) return res;
    8421              :               }
    8422       146067 :               break;
    8423              :             }
    8424      2318448 :           default:;
    8425              :           }
    8426      2318448 :         {
    8427      2318448 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8428      2318448 :           tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, GT_EXPR);
    8429      2318448 :           if (res) return res;
    8430              :         }
    8431      1175276 :         switch (TREE_CODE (_q20))
    8432              :           {
    8433         1009 :           case ADDR_EXPR:
    8434         1009 :             {
    8435         1009 :               switch (TREE_CODE (_p1))
    8436              :                 {
    8437          735 :                 CASE_CONVERT:
    8438          735 :                   {
    8439          735 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8440          735 :                     switch (TREE_CODE (_q40))
    8441              :                       {
    8442          735 :                       case ADDR_EXPR:
    8443          735 :                         {
    8444          735 :                           {
    8445          735 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8446          735 :                             tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, GT_EXPR);
    8447          735 :                             if (res) return res;
    8448              :                           }
    8449          242 :                           break;
    8450              :                         }
    8451              :                       default:;
    8452              :                       }
    8453              :                     break;
    8454              :                   }
    8455            7 :                 case ADDR_EXPR:
    8456            7 :                   {
    8457            7 :                     {
    8458            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8459            7 :                       tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, GT_EXPR);
    8460            7 :                       if (res) return res;
    8461              :                     }
    8462            0 :                     break;
    8463              :                   }
    8464              :                 default:;
    8465              :                 }
    8466              :               break;
    8467              :             }
    8468      1174776 :           default:;
    8469              :           }
    8470      1174776 :         if (uniform_integer_cst_p (_p1))
    8471              :           {
    8472       319756 :             {
    8473       319756 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8474       319756 :               tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR);
    8475       319756 :               if (res) return res;
    8476              :             }
    8477              :           }
    8478              :         break;
    8479              :       }
    8480        17620 :     case BIT_AND_EXPR:
    8481        17620 :       {
    8482        17620 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8483        17620 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8484        17620 :         switch (TREE_CODE (_q21))
    8485              :           {
    8486        16507 :           case INTEGER_CST:
    8487        16507 :             {
    8488        16507 :               switch (TREE_CODE (_p1))
    8489              :                 {
    8490        10510 :                 case INTEGER_CST:
    8491        10510 :                   {
    8492        10510 :                     {
    8493        10510 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8494        10510 :                       tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    8495        10510 :                       if (res) return res;
    8496              :                     }
    8497         9712 :                     break;
    8498              :                   }
    8499              :                 default:;
    8500              :                 }
    8501              :               break;
    8502              :             }
    8503              :           default:;
    8504              :           }
    8505              :         break;
    8506              :       }
    8507        10909 :     case NEGATE_EXPR:
    8508        10909 :       {
    8509        10909 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8510        10909 :         switch (TREE_CODE (_p1))
    8511              :           {
    8512            4 :           case NEGATE_EXPR:
    8513            4 :             {
    8514            4 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8515            4 :               {
    8516            4 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8517            4 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8518            4 :                 if (res) return res;
    8519              :               }
    8520            4 :               break;
    8521              :             }
    8522        10909 :           default:;
    8523              :           }
    8524        10909 :       if (CONSTANT_CLASS_P (_p1))
    8525              :         {
    8526          690 :           {
    8527          690 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8528          690 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8529          690 :             if (res) return res;
    8530              :           }
    8531              :         }
    8532              :         break;
    8533              :       }
    8534         4606 :     case ADDR_EXPR:
    8535         4606 :       {
    8536         4606 :         switch (TREE_CODE (_p1))
    8537              :           {
    8538            0 :           CASE_CONVERT:
    8539            0 :             {
    8540            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    8541            0 :               switch (TREE_CODE (_q30))
    8542              :                 {
    8543            0 :                 case ADDR_EXPR:
    8544            0 :                   {
    8545            0 :                     {
    8546            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    8547            0 :                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, GT_EXPR);
    8548            0 :                       if (res) return res;
    8549              :                     }
    8550            0 :                     break;
    8551              :                   }
    8552              :                 default:;
    8553              :                 }
    8554              :               break;
    8555              :             }
    8556         4289 :           case ADDR_EXPR:
    8557         4289 :             {
    8558         4289 :               {
    8559         4289 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8560         4289 :                 tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, GT_EXPR);
    8561         4289 :                 if (res) return res;
    8562              :               }
    8563          722 :               break;
    8564              :             }
    8565              :           default:;
    8566              :           }
    8567              :         break;
    8568              :       }
    8569       294903 :     case CALL_EXPR:
    8570       294903 :       switch (get_call_combined_fn (_p0))
    8571              :         {
    8572            1 :         case CFN_BUILT_IN_SQRTF:
    8573            1 :           if (call_expr_nargs (_p0) == 1)
    8574              :     {
    8575            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8576            1 :               switch (TREE_CODE (_p1))
    8577              :                 {
    8578            1 :                 case REAL_CST:
    8579            1 :                   {
    8580            1 :                     {
    8581            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8582            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    8583            1 :                       if (res) return res;
    8584              :                     }
    8585            0 :                     break;
    8586              :                   }
    8587            0 :                 case CALL_EXPR:
    8588            0 :                   switch (get_call_combined_fn (_p1))
    8589              :                     {
    8590            0 :                     case CFN_BUILT_IN_SQRTF:
    8591            0 :                       if (call_expr_nargs (_p1) == 1)
    8592              :     {
    8593            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8594            0 :                           {
    8595            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8596            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    8597            0 :                             if (res) return res;
    8598              :                           }
    8599              :                         }
    8600              :                       break;
    8601              :                     default:;
    8602              :                     }
    8603              :                   break;
    8604              :                 default:;
    8605              :                 }
    8606              :             }
    8607              :           break;
    8608            0 :         case CFN_BUILT_IN_SQRTL:
    8609            0 :           if (call_expr_nargs (_p0) == 1)
    8610              :     {
    8611            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8612            0 :               switch (TREE_CODE (_p1))
    8613              :                 {
    8614            0 :                 case REAL_CST:
    8615            0 :                   {
    8616            0 :                     {
    8617            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8618            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    8619            0 :                       if (res) return res;
    8620              :                     }
    8621            0 :                     break;
    8622              :                   }
    8623            0 :                 case CALL_EXPR:
    8624            0 :                   switch (get_call_combined_fn (_p1))
    8625              :                     {
    8626            0 :                     case CFN_BUILT_IN_SQRTL:
    8627            0 :                       if (call_expr_nargs (_p1) == 1)
    8628              :     {
    8629            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8630            0 :                           {
    8631            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8632            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    8633            0 :                             if (res) return res;
    8634              :                           }
    8635              :                         }
    8636              :                       break;
    8637              :                     default:;
    8638              :                     }
    8639              :                   break;
    8640              :                 default:;
    8641              :                 }
    8642              :             }
    8643              :           break;
    8644            3 :         case CFN_BUILT_IN_SQRT:
    8645            3 :           if (call_expr_nargs (_p0) == 1)
    8646              :     {
    8647            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8648            3 :               switch (TREE_CODE (_p1))
    8649              :                 {
    8650            3 :                 case REAL_CST:
    8651            3 :                   {
    8652            3 :                     {
    8653            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8654            3 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    8655            3 :                       if (res) return res;
    8656              :                     }
    8657            0 :                     break;
    8658              :                   }
    8659            0 :                 case CALL_EXPR:
    8660            0 :                   switch (get_call_combined_fn (_p1))
    8661              :                     {
    8662            0 :                     case CFN_BUILT_IN_SQRT:
    8663            0 :                       if (call_expr_nargs (_p1) == 1)
    8664              :     {
    8665            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8666            0 :                           {
    8667            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8668            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    8669            0 :                             if (res) return res;
    8670              :                           }
    8671              :                         }
    8672              :                       break;
    8673              :                     default:;
    8674              :                     }
    8675              :                   break;
    8676              :                 default:;
    8677              :                 }
    8678              :             }
    8679              :           break;
    8680            0 :         case CFN_SQRT:
    8681            0 :           if (call_expr_nargs (_p0) == 1)
    8682              :     {
    8683            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8684            0 :               switch (TREE_CODE (_p1))
    8685              :                 {
    8686            0 :                 case REAL_CST:
    8687            0 :                   {
    8688            0 :                     {
    8689            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8690            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    8691            0 :                       if (res) return res;
    8692              :                     }
    8693            0 :                     break;
    8694              :                   }
    8695            0 :                 case CALL_EXPR:
    8696            0 :                   switch (get_call_combined_fn (_p1))
    8697              :                     {
    8698            0 :                     case CFN_SQRT:
    8699            0 :                       if (call_expr_nargs (_p1) == 1)
    8700              :     {
    8701            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8702            0 :                           {
    8703            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8704            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    8705            0 :                             if (res) return res;
    8706              :                           }
    8707              :                         }
    8708              :                       break;
    8709              :                     default:;
    8710              :                     }
    8711              :                   break;
    8712              :                 default:;
    8713              :                 }
    8714              :             }
    8715              :           break;
    8716              :         default:;
    8717              :         }
    8718              :       break;
    8719     16804988 :     default:;
    8720              :     }
    8721     16804988 :   if (uniform_integer_cst_p (_p1))
    8722              :     {
    8723     11294577 :       {
    8724     11294577 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8725     11294577 :         tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, GT_EXPR);
    8726     11294577 :         if (res) return res;
    8727              :       }
    8728              :     }
    8729     15825143 :   switch (TREE_CODE (_p0))
    8730              :     {
    8731      1104652 :     CASE_CONVERT:
    8732      1104652 :       {
    8733      1104652 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8734      1104652 :         switch (TREE_CODE (_q20))
    8735              :           {
    8736            1 :           case NE_EXPR:
    8737            1 :             {
    8738            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8739            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8740            1 :               if (tree_expr_nonnegative_p (_q30))
    8741              :                 {
    8742            1 :                   if (integer_zerop (_q31))
    8743              :                     {
    8744            1 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8745              :                         {
    8746            1 :                           {
    8747            1 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    8748            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1645;
    8749            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1645;
    8750            1 :                             {
    8751            1 :                               tree _r;
    8752            1 :                               _r =  constant_boolean_node (false, type);
    8753            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1006, __FILE__, __LINE__, true);
    8754            1 :                               return _r;
    8755              :                             }
    8756            0 : next_after_fail1645:;
    8757              :                           }
    8758              :                         }
    8759              :                     }
    8760              :                 }
    8761              :               break;
    8762              :             }
    8763        50663 :           case PLUS_EXPR:
    8764        50663 :             {
    8765        50663 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8766        50663 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8767        50663 :               switch (TREE_CODE (_q30))
    8768              :                 {
    8769        34634 :                 CASE_CONVERT:
    8770        34634 :                   {
    8771        34634 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8772        34634 :                     switch (TREE_CODE (_q31))
    8773              :                       {
    8774        34632 :                       case INTEGER_CST:
    8775        34632 :                         {
    8776        34632 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    8777              :                             {
    8778            2 :                               {
    8779            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    8780            2 :                                 tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    8781            2 :                                 if (res) return res;
    8782              :                               }
    8783              :                             }
    8784              :                           break;
    8785              :                         }
    8786              :                       default:;
    8787              :                       }
    8788              :                     break;
    8789              :                   }
    8790              :                 default:;
    8791              :                 }
    8792              :               break;
    8793              :             }
    8794              :           default:;
    8795              :           }
    8796              :         break;
    8797              :       }
    8798     15825140 :     default:;
    8799              :     }
    8800     15825140 :   switch (TREE_CODE (_p1))
    8801              :     {
    8802       621142 :     CASE_CONVERT:
    8803       621142 :       {
    8804       621142 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8805       621142 :         switch (TREE_CODE (_q30))
    8806              :           {
    8807         3327 :           case PLUS_EXPR:
    8808         3327 :             {
    8809         3327 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8810         3327 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8811         3327 :               switch (TREE_CODE (_q40))
    8812              :                 {
    8813         3288 :                 CASE_CONVERT:
    8814         3288 :                   {
    8815         3288 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    8816         3288 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    8817              :                       {
    8818            0 :                         switch (TREE_CODE (_q41))
    8819              :                           {
    8820            0 :                           case INTEGER_CST:
    8821            0 :                             {
    8822            0 :                               {
    8823            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    8824            0 :                                 tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    8825            0 :                                 if (res) return res;
    8826              :                               }
    8827            0 :                               break;
    8828              :                             }
    8829              :                           default:;
    8830              :                           }
    8831              :                       }
    8832              :                     break;
    8833              :                   }
    8834              :                 default:;
    8835              :                 }
    8836              :               break;
    8837              :             }
    8838              :           default:;
    8839              :           }
    8840              :         break;
    8841              :       }
    8842       111190 :     case PLUS_EXPR:
    8843       111190 :       {
    8844       111190 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8845       111190 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8846       111190 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8847              :           {
    8848            4 :             switch (TREE_CODE (_q31))
    8849              :               {
    8850            4 :               case INTEGER_CST:
    8851            4 :                 {
    8852            4 :                   {
    8853            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    8854            4 :                     tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    8855            4 :                     if (res) return res;
    8856              :                   }
    8857            0 :                   break;
    8858              :                 }
    8859              :               default:;
    8860              :               }
    8861              :           }
    8862              :         break;
    8863              :       }
    8864     15825136 :     default:;
    8865              :     }
    8866     15825136 :   switch (TREE_CODE (_p0))
    8867              :     {
    8868       657832 :     case MINUS_EXPR:
    8869       657832 :       {
    8870       657832 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8871       657832 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8872       657832 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8873              :           {
    8874         6587 :             {
    8875         6587 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8876         6587 :               tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GT_EXPR);
    8877         6587 :               if (res) return res;
    8878              :             }
    8879              :           }
    8880              :         break;
    8881              :       }
    8882     15818561 :     default:;
    8883              :     }
    8884     15818561 :   switch (TREE_CODE (_p1))
    8885              :     {
    8886       111186 :     case PLUS_EXPR:
    8887       111186 :       {
    8888       111186 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8889       111186 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8890       111186 :         switch (TREE_CODE (_q30))
    8891              :           {
    8892            3 :           case MINUS_EXPR:
    8893            3 :             {
    8894            3 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8895            3 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8896            3 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    8897              :                 {
    8898            0 :                   if (integer_minus_onep (_q31))
    8899              :                     {
    8900            0 :                       {
    8901            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    8902            0 :                         tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, LT_EXPR);
    8903            0 :                         if (res) return res;
    8904              :                       }
    8905              :                     }
    8906              :                 }
    8907              :               break;
    8908              :             }
    8909              :           default:;
    8910              :           }
    8911              :         break;
    8912              :       }
    8913     15818561 :     default:;
    8914              :     }
    8915     15818561 :   switch (TREE_CODE (_p0))
    8916              :     {
    8917           83 :     case REALPART_EXPR:
    8918           83 :       {
    8919           83 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8920           83 :         switch (TREE_CODE (_q20))
    8921              :           {
    8922            0 :           case CALL_EXPR:
    8923            0 :             switch (get_call_combined_fn (_q20))
    8924              :               {
    8925            0 :               case CFN_SUB_OVERFLOW:
    8926            0 :                 if (call_expr_nargs (_q20) == 2)
    8927              :     {
    8928            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8929            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    8930            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8931              :                       {
    8932            0 :                         {
    8933            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8934            0 :                           tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    8935            0 :                           if (res) return res;
    8936              :                         }
    8937              :                       }
    8938              :                   }
    8939              :                 break;
    8940              :               default:;
    8941              :               }
    8942              :             break;
    8943              :           default:;
    8944              :           }
    8945              :         break;
    8946              :       }
    8947     15818561 :     default:;
    8948              :     }
    8949     15818561 :   switch (TREE_CODE (_p1))
    8950              :     {
    8951           20 :     case REALPART_EXPR:
    8952           20 :       {
    8953           20 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8954           20 :         switch (TREE_CODE (_q30))
    8955              :           {
    8956            0 :           case CALL_EXPR:
    8957            0 :             switch (get_call_combined_fn (_q30))
    8958              :               {
    8959            0 :               case CFN_ADD_OVERFLOW:
    8960            0 :                 if (call_expr_nargs (_q30) == 2)
    8961              :     {
    8962            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    8963            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    8964            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    8965              :                       {
    8966            0 :                         {
    8967            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    8968            0 :                           tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    8969            0 :                           if (res) return res;
    8970              :                         }
    8971              :                       }
    8972            0 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    8973              :                       {
    8974            0 :                         {
    8975            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
    8976            0 :                           tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    8977            0 :                           if (res) return res;
    8978              :                         }
    8979              :                       }
    8980              :                   }
    8981              :                 break;
    8982              :               default:;
    8983              :               }
    8984              :             break;
    8985              :           default:;
    8986              :           }
    8987              :         break;
    8988              :       }
    8989         1033 :     case TRUNC_DIV_EXPR:
    8990         1033 :       {
    8991         1033 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8992         1033 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8993         1033 :         if (integer_all_onesp (_q30))
    8994              :           {
    8995            0 :             {
    8996            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    8997            0 :               tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    8998            0 :               if (res) return res;
    8999              :             }
    9000              :           }
    9001              :         break;
    9002              :       }
    9003     15818561 :     default:;
    9004              :     }
    9005     15818561 :   switch (TREE_CODE (_p0))
    9006              :     {
    9007       214285 :     case MULT_EXPR:
    9008       214285 :       {
    9009       214285 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9010       214285 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9011       214285 :         switch (TREE_CODE (_q21))
    9012              :           {
    9013        22153 :           case REAL_CST:
    9014        22153 :             {
    9015        22153 :               switch (TREE_CODE (_p1))
    9016              :                 {
    9017           58 :                 case REAL_CST:
    9018           58 :                   {
    9019           58 :                     {
    9020           58 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9021           58 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9022           58 :                       if (res) return res;
    9023              :                     }
    9024           57 :                     break;
    9025              :                   }
    9026              :                 default:;
    9027              :                 }
    9028              :               break;
    9029              :             }
    9030              :           default:;
    9031              :           }
    9032              :         break;
    9033              :       }
    9034      2007582 :     case PLUS_EXPR:
    9035      2007582 :       {
    9036      2007582 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9037      2007582 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9038      2007582 :         switch (TREE_CODE (_q21))
    9039              :           {
    9040      1810537 :           case INTEGER_CST:
    9041      1810537 :             {
    9042      1810537 :               switch (TREE_CODE (_p1))
    9043              :                 {
    9044      1257016 :                 case INTEGER_CST:
    9045      1257016 :                   {
    9046      1257016 :                     {
    9047      1257016 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9048      1257016 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GT_EXPR, LT_EXPR);
    9049      1257016 :                       if (res) return res;
    9050              :                     }
    9051       809548 :                     break;
    9052              :                   }
    9053              :                 default:;
    9054              :                 }
    9055              :               break;
    9056              :             }
    9057              :           default:;
    9058              :           }
    9059              :         break;
    9060              :       }
    9061       651257 :     case MINUS_EXPR:
    9062       651257 :       {
    9063       651257 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9064       651257 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9065       651257 :         switch (TREE_CODE (_q21))
    9066              :           {
    9067         2196 :           case INTEGER_CST:
    9068         2196 :             {
    9069         2196 :               switch (TREE_CODE (_p1))
    9070              :                 {
    9071         2048 :                 case INTEGER_CST:
    9072         2048 :                   {
    9073         2048 :                     {
    9074         2048 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9075         2048 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GT_EXPR, LT_EXPR);
    9076         2048 :                       if (res) return res;
    9077              :                     }
    9078         1923 :                     break;
    9079              :                   }
    9080              :                 default:;
    9081              :                 }
    9082              :               break;
    9083              :             }
    9084       651132 :           default:;
    9085              :           }
    9086       651132 :         switch (TREE_CODE (_q20))
    9087              :           {
    9088       556479 :           case INTEGER_CST:
    9089       556479 :             {
    9090       556479 :               switch (TREE_CODE (_p1))
    9091              :                 {
    9092       553674 :                 case INTEGER_CST:
    9093       553674 :                   {
    9094       553674 :                     {
    9095       553674 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9096       553674 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9097       553674 :                       if (res) return res;
    9098              :                     }
    9099            0 :                     break;
    9100              :                   }
    9101              :                 default:;
    9102              :                 }
    9103              :               break;
    9104              :             }
    9105              :           default:;
    9106              :           }
    9107              :         break;
    9108              :       }
    9109       266256 :     case CALL_EXPR:
    9110       266256 :       switch (get_call_combined_fn (_p0))
    9111              :         {
    9112            4 :         case CFN_BUILT_IN_CTZ:
    9113            4 :           if (call_expr_nargs (_p0) == 1)
    9114              :     {
    9115            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9116            4 :               switch (TREE_CODE (_p1))
    9117              :                 {
    9118            4 :                 case INTEGER_CST:
    9119            4 :                   {
    9120            4 :                     {
    9121            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9122            4 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
    9123            4 :                       if (res) return res;
    9124              :                     }
    9125            0 :                     break;
    9126              :                   }
    9127              :                 default:;
    9128              :                 }
    9129              :             }
    9130              :           break;
    9131           12 :         case CFN_BUILT_IN_FFS:
    9132           12 :           if (call_expr_nargs (_p0) == 1)
    9133              :     {
    9134           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9135           12 :               switch (TREE_CODE (_p1))
    9136              :                 {
    9137           12 :                 case INTEGER_CST:
    9138           12 :                   {
    9139           12 :                     {
    9140           12 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9141           12 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFS);
    9142           12 :                       if (res) return res;
    9143              :                     }
    9144            6 :                     break;
    9145              :                   }
    9146              :                 default:;
    9147              :                 }
    9148              :             }
    9149              :           break;
    9150            0 :         case CFN_BUILT_IN_FFSIMAX:
    9151            0 :           if (call_expr_nargs (_p0) == 1)
    9152              :     {
    9153            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9154            0 :               switch (TREE_CODE (_p1))
    9155              :                 {
    9156            0 :                 case INTEGER_CST:
    9157            0 :                   {
    9158            0 :                     {
    9159            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9160            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSIMAX);
    9161            0 :                       if (res) return res;
    9162              :                     }
    9163            0 :                     break;
    9164              :                   }
    9165              :                 default:;
    9166              :                 }
    9167              :             }
    9168              :           break;
    9169           75 :         case CFN_BUILT_IN_POPCOUNT:
    9170           75 :           if (call_expr_nargs (_p0) == 1)
    9171              :     {
    9172           75 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9173           75 :               if (integer_zerop (_p1))
    9174              :                 {
    9175           36 :                   {
    9176           36 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9177           36 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
    9178           36 :                     if (res) return res;
    9179              :                   }
    9180              :                 }
    9181              :             }
    9182              :           break;
    9183            2 :         case CFN_BUILT_IN_CTZL:
    9184            2 :           if (call_expr_nargs (_p0) == 1)
    9185              :     {
    9186            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9187            2 :               switch (TREE_CODE (_p1))
    9188              :                 {
    9189            2 :                 case INTEGER_CST:
    9190            2 :                   {
    9191            2 :                     {
    9192            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9193            2 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
    9194            2 :                       if (res) return res;
    9195              :                     }
    9196            0 :                     break;
    9197              :                   }
    9198              :                 default:;
    9199              :                 }
    9200              :             }
    9201              :           break;
    9202            8 :         case CFN_BUILT_IN_FFSL:
    9203            8 :           if (call_expr_nargs (_p0) == 1)
    9204              :     {
    9205            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9206            8 :               switch (TREE_CODE (_p1))
    9207              :                 {
    9208            8 :                 case INTEGER_CST:
    9209            8 :                   {
    9210            8 :                     {
    9211            8 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9212            8 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSL);
    9213            8 :                       if (res) return res;
    9214              :                     }
    9215            4 :                     break;
    9216              :                   }
    9217              :                 default:;
    9218              :                 }
    9219              :             }
    9220              :           break;
    9221            3 :         case CFN_BUILT_IN_POPCOUNTLL:
    9222            3 :           if (call_expr_nargs (_p0) == 1)
    9223              :     {
    9224            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9225            3 :               if (integer_zerop (_p1))
    9226              :                 {
    9227            0 :                   {
    9228            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9229            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9230            0 :                     if (res) return res;
    9231              :                   }
    9232              :                 }
    9233              :             }
    9234              :           break;
    9235            0 :         case CFN_BUILT_IN_CTZIMAX:
    9236            0 :           if (call_expr_nargs (_p0) == 1)
    9237              :     {
    9238            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9239            0 :               switch (TREE_CODE (_p1))
    9240              :                 {
    9241            0 :                 case INTEGER_CST:
    9242            0 :                   {
    9243            0 :                     {
    9244            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9245            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
    9246            0 :                       if (res) return res;
    9247              :                     }
    9248            0 :                     break;
    9249              :                   }
    9250              :                 default:;
    9251              :                 }
    9252              :             }
    9253              :           break;
    9254            0 :         case CFN_POPCOUNT:
    9255            0 :           if (call_expr_nargs (_p0) == 1)
    9256              :     {
    9257            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9258            0 :               if (integer_zerop (_p1))
    9259              :                 {
    9260            0 :                   {
    9261            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9262            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_POPCOUNT);
    9263            0 :                     if (res) return res;
    9264              :                   }
    9265              :                 }
    9266              :             }
    9267              :           break;
    9268            0 :         case CFN_CTZ:
    9269            0 :           if (call_expr_nargs (_p0) == 2)
    9270              :     {
    9271            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9272            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9273            0 :               switch (TREE_CODE (_p1))
    9274              :                 {
    9275            0 :                 case INTEGER_CST:
    9276            0 :                   {
    9277            0 :                     {
    9278            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9279            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
    9280            0 :                       if (res) return res;
    9281              :                     }
    9282            0 :                     break;
    9283              :                   }
    9284              :                 default:;
    9285              :                 }
    9286              :             }
    9287            0 :           if (call_expr_nargs (_p0) == 1)
    9288              :     {
    9289            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9290            0 :               switch (TREE_CODE (_p1))
    9291              :                 {
    9292            0 :                 case INTEGER_CST:
    9293            0 :                   {
    9294            0 :                     {
    9295            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9296            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_CTZ);
    9297            0 :                       if (res) return res;
    9298              :                     }
    9299            0 :                     break;
    9300              :                   }
    9301              :                 default:;
    9302              :                 }
    9303              :             }
    9304              :           break;
    9305            0 :         case CFN_FFS:
    9306            0 :           if (call_expr_nargs (_p0) == 1)
    9307              :     {
    9308            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9309            0 :               switch (TREE_CODE (_p1))
    9310              :                 {
    9311            0 :                 case INTEGER_CST:
    9312            0 :                   {
    9313            0 :                     {
    9314            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9315            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_FFS);
    9316            0 :                       if (res) return res;
    9317              :                     }
    9318            0 :                     break;
    9319              :                   }
    9320              :                 default:;
    9321              :                 }
    9322              :             }
    9323              :           break;
    9324            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
    9325            0 :           if (call_expr_nargs (_p0) == 1)
    9326              :     {
    9327            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9328            0 :               if (integer_zerop (_p1))
    9329              :                 {
    9330            0 :                   {
    9331            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9332            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9333            0 :                     if (res) return res;
    9334              :                   }
    9335              :                 }
    9336              :             }
    9337              :           break;
    9338            3 :         case CFN_BUILT_IN_POPCOUNTL:
    9339            3 :           if (call_expr_nargs (_p0) == 1)
    9340              :     {
    9341            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9342            3 :               if (integer_zerop (_p1))
    9343              :                 {
    9344            0 :                   {
    9345            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9346            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
    9347            0 :                     if (res) return res;
    9348              :                   }
    9349              :                 }
    9350              :             }
    9351              :           break;
    9352           18 :         case CFN_BUILT_IN_CTZLL:
    9353           18 :           if (call_expr_nargs (_p0) == 1)
    9354              :     {
    9355           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9356           18 :               switch (TREE_CODE (_p1))
    9357              :                 {
    9358           18 :                 case INTEGER_CST:
    9359           18 :                   {
    9360           18 :                     {
    9361           18 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9362           18 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
    9363           18 :                       if (res) return res;
    9364              :                     }
    9365           16 :                     break;
    9366              :                   }
    9367              :                 default:;
    9368              :                 }
    9369              :             }
    9370              :           break;
    9371            9 :         case CFN_BUILT_IN_FFSLL:
    9372            9 :           if (call_expr_nargs (_p0) == 1)
    9373              :     {
    9374            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9375            9 :               switch (TREE_CODE (_p1))
    9376              :                 {
    9377            9 :                 case INTEGER_CST:
    9378            9 :                   {
    9379            9 :                     {
    9380            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9381            9 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSLL);
    9382            9 :                       if (res) return res;
    9383              :                     }
    9384            4 :                     break;
    9385              :                   }
    9386              :                 default:;
    9387              :                 }
    9388              :             }
    9389              :           break;
    9390              :         default:;
    9391              :         }
    9392              :       break;
    9393              :     default:;
    9394              :     }
    9395              :   return NULL_TREE;
    9396              : }
    9397              : 
    9398              : tree
    9399      6805420 : generic_simplify_BIT_AND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    9400              : {
    9401      6805420 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    9402      6805420 :   switch (TREE_CODE (_p0))
    9403              :     {
    9404        34892 :     case LSHIFT_EXPR:
    9405        34892 :       {
    9406        34892 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9407        34892 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9408        34892 :         switch (TREE_CODE (_p1))
    9409              :           {
    9410            1 :           case LSHIFT_EXPR:
    9411            1 :             {
    9412            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9413            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9414            1 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9415              :                 {
    9416            1 :                   {
    9417            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9418            1 :                     tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9419            1 :                     if (res) return res;
    9420              :                   }
    9421              :                 }
    9422              :               break;
    9423              :             }
    9424              :           default:;
    9425              :           }
    9426              :         break;
    9427              :       }
    9428        82337 :     case RSHIFT_EXPR:
    9429        82337 :       {
    9430        82337 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9431        82337 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9432        82337 :         switch (TREE_CODE (_p1))
    9433              :           {
    9434            2 :           case RSHIFT_EXPR:
    9435            2 :             {
    9436            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9437            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9438            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9439              :                 {
    9440            2 :                   {
    9441            2 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9442            2 :                     tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9443            2 :                     if (res) return res;
    9444              :                   }
    9445              :                 }
    9446              :               break;
    9447              :             }
    9448              :           default:;
    9449              :           }
    9450              :         break;
    9451              :       }
    9452      2012177 :     CASE_CONVERT:
    9453      2012177 :       {
    9454      2012177 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9455      2012177 :         switch (TREE_CODE (_p1))
    9456              :           {
    9457       807955 :           CASE_CONVERT:
    9458       807955 :             {
    9459       807955 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9460       807955 :               {
    9461       807955 :                 tree _q40_pops[1];
    9462       807955 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    9463              :                   {
    9464          250 :                     tree _q50 = _q40_pops[0];
    9465          250 :                     {
    9466          250 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    9467          250 :                       tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9468          250 :                       if (res) return res;
    9469              :                     }
    9470              :                   }
    9471              :               }
    9472       807955 :               break;
    9473              :             }
    9474      2012177 :           default:;
    9475              :           }
    9476      2012177 :         {
    9477      2012177 :           tree _q20_pops[1];
    9478      2012177 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    9479              :             {
    9480          427 :               tree _q30 = _q20_pops[0];
    9481          427 :               switch (TREE_CODE (_p1))
    9482              :                 {
    9483          254 :                 CASE_CONVERT:
    9484          254 :                   {
    9485          254 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9486          254 :                     {
    9487          254 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    9488          254 :                       tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9489          254 :                       if (res) return res;
    9490              :                     }
    9491          254 :                     break;
    9492              :                   }
    9493              :                 default:;
    9494              :                 }
    9495              :             }
    9496              :         }
    9497      2012177 :         break;
    9498              :       }
    9499      6805417 :     default:;
    9500              :     }
    9501      6805417 :   {
    9502      6805417 :     tree _p1_pops[1];
    9503      6805417 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    9504              :       {
    9505      4861345 :         tree _q30 = _p1_pops[0];
    9506      4861345 :         {
    9507      4861345 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9508      4861345 :           tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9509      4861345 :           if (res) return res;
    9510              :         }
    9511              :       }
    9512              :   }
    9513      6805401 :   {
    9514      6805401 :     tree _p0_pops[1];
    9515      6805401 :     if (tree_maybe_bit_not (_p0, _p0_pops))
    9516              :       {
    9517        70875 :         tree _q20 = _p0_pops[0];
    9518        70875 :         {
    9519        70875 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    9520        70875 :           tree res = generic_simplify_452 (loc, type, _p0, _p1, captures);
    9521        70875 :           if (res) return res;
    9522              :         }
    9523              :       }
    9524              :   }
    9525      6805302 :   switch (TREE_CODE (_p1))
    9526              :     {
    9527        21312 :     case PLUS_EXPR:
    9528        21312 :       {
    9529        21312 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9530        21312 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9531        21312 :         switch (TREE_CODE (_q30))
    9532              :           {
    9533          163 :           case LSHIFT_EXPR:
    9534          163 :             {
    9535          163 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9536          163 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9537          163 :               if (integer_onep (_q40))
    9538              :                 {
    9539          163 :                   if (integer_minus_onep (_q31))
    9540              :                     {
    9541          163 :                       {
    9542          163 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q41 };
    9543          163 :                         if (TYPE_UNSIGNED (type)
    9544              : )
    9545              :                           {
    9546          163 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1678;
    9547          163 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1678;
    9548          163 :                             {
    9549          163 :                               tree res_op0;
    9550          163 :                               res_op0 = captures[0];
    9551          163 :                               tree res_op1;
    9552          163 :                               {
    9553          163 :                                 tree _o1[1], _r1;
    9554          163 :                                 {
    9555          163 :                                   tree _o2[2], _r2;
    9556          163 :                                   _o2[0] =  build_all_ones_cst (type);
    9557          163 :                                   _o2[1] = captures[3];
    9558          163 :                                   _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9559          163 :                                   _o1[0] = _r2;
    9560              :                                 }
    9561          163 :                                 _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    9562          163 :                                 res_op1 = _r1;
    9563              :                               }
    9564          163 :                               tree _r;
    9565          163 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    9566          163 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1017, __FILE__, __LINE__, true);
    9567          163 :                               return _r;
    9568              :                             }
    9569            0 : next_after_fail1678:;
    9570              :                           }
    9571              :                       }
    9572              :                     }
    9573              :                 }
    9574              :               break;
    9575              :             }
    9576              :           default:;
    9577              :           }
    9578              :         break;
    9579              :       }
    9580      6805139 :     default:;
    9581              :     }
    9582      6805139 :   switch (TREE_CODE (_p0))
    9583              :     {
    9584       320705 :     case PLUS_EXPR:
    9585       320705 :       {
    9586       320705 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9587       320705 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9588       320705 :         switch (TREE_CODE (_q20))
    9589              :           {
    9590          169 :           case LSHIFT_EXPR:
    9591          169 :             {
    9592          169 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9593          169 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9594          169 :               if (integer_onep (_q30))
    9595              :                 {
    9596          162 :                   if (integer_minus_onep (_q21))
    9597              :                     {
    9598          162 :                       {
    9599          162 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q31 };
    9600          162 :                         if (TYPE_UNSIGNED (type)
    9601              : )
    9602              :                           {
    9603          134 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1679;
    9604          134 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1679;
    9605          134 :                             {
    9606          134 :                               tree res_op0;
    9607          134 :                               res_op0 = captures[0];
    9608          134 :                               tree res_op1;
    9609          134 :                               {
    9610          134 :                                 tree _o1[1], _r1;
    9611          134 :                                 {
    9612          134 :                                   tree _o2[2], _r2;
    9613          134 :                                   _o2[0] =  build_all_ones_cst (type);
    9614          134 :                                   _o2[1] = captures[3];
    9615          134 :                                   _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9616          134 :                                   _o1[0] = _r2;
    9617              :                                 }
    9618          134 :                                 _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    9619          134 :                                 res_op1 = _r1;
    9620              :                               }
    9621          134 :                               tree _r;
    9622          134 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    9623          134 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1017, __FILE__, __LINE__, true);
    9624          134 :                               return _r;
    9625              :                             }
    9626           28 : next_after_fail1679:;
    9627              :                           }
    9628              :                       }
    9629              :                     }
    9630              :                 }
    9631              :               break;
    9632              :             }
    9633              :           default:;
    9634              :           }
    9635              :         break;
    9636              :       }
    9637         1871 :     case EQ_EXPR:
    9638         1871 :       {
    9639         1871 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9640         1871 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9641         1871 :         if (integer_zerop (_q21))
    9642              :           {
    9643          753 :             switch (TREE_CODE (_p1))
    9644              :               {
    9645           68 :               case EQ_EXPR:
    9646           68 :                 {
    9647           68 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9648           68 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9649           68 :                   if (integer_zerop (_q51))
    9650              :                     {
    9651           29 :                       {
    9652           29 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9653           29 :                         tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
    9654           29 :                         if (res) return res;
    9655              :                       }
    9656              :                     }
    9657              :                   break;
    9658              :                 }
    9659              :               default:;
    9660              :               }
    9661              :           }
    9662         1842 :         if (integer_all_onesp (_q21))
    9663              :           {
    9664            0 :             switch (TREE_CODE (_p1))
    9665              :               {
    9666            0 :               case EQ_EXPR:
    9667            0 :                 {
    9668            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9669            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9670            0 :                   if (integer_all_onesp (_q51))
    9671              :                     {
    9672            0 :                       {
    9673            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9674            0 :                         tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
    9675            0 :                         if (res) return res;
    9676              :                       }
    9677              :                     }
    9678              :                   break;
    9679              :                 }
    9680              :               default:;
    9681              :               }
    9682              :           }
    9683         1842 :         switch (TREE_CODE (_p1))
    9684              :           {
    9685            8 :           case BIT_IOR_EXPR:
    9686            8 :             {
    9687            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9688            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9689            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9690              :                 {
    9691            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9692              :                     {
    9693            0 :                       {
    9694            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9695            0 :                         tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9696            0 :                         if (res) return res;
    9697              :                       }
    9698              :                     }
    9699              :                 }
    9700            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9701              :                 {
    9702            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9703              :                     {
    9704            0 :                       {
    9705            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9706            0 :                         tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9707            0 :                         if (res) return res;
    9708              :                       }
    9709              :                     }
    9710              :                 }
    9711              :               break;
    9712              :             }
    9713         1842 :           default:;
    9714              :           }
    9715         1842 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9716              :           {
    9717           12 :             {
    9718           12 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9719           12 :               tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
    9720           12 :               if (res) return res;
    9721              :             }
    9722              :           }
    9723         1842 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9724              :           {
    9725            8 :             {
    9726            8 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9727            8 :               tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
    9728            8 :               if (res) return res;
    9729              :             }
    9730              :           }
    9731              :         break;
    9732              :       }
    9733         1615 :     case BIT_IOR_EXPR:
    9734         1615 :       {
    9735         1615 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9736         1615 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9737         1615 :         switch (TREE_CODE (_p1))
    9738              :           {
    9739          169 :           case BIT_NOT_EXPR:
    9740          169 :             {
    9741          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9742          169 :               switch (TREE_CODE (_q50))
    9743              :                 {
    9744            6 :                 case BIT_XOR_EXPR:
    9745            6 :                   {
    9746            6 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    9747            6 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    9748            6 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9749              :                       {
    9750            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9751              :                           {
    9752            0 :                             {
    9753            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9754            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
    9755            0 :                               if (res) return res;
    9756              :                             }
    9757              :                           }
    9758              :                       }
    9759            6 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    9760              :                       {
    9761            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    9762              :                           {
    9763            0 :                             {
    9764            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9765            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
    9766            0 :                               if (res) return res;
    9767              :                             }
    9768              :                           }
    9769              :                       }
    9770              :                     break;
    9771              :                   }
    9772              :                 default:;
    9773              :                 }
    9774              :               break;
    9775              :             }
    9776           24 :           case EQ_EXPR:
    9777           24 :             {
    9778           24 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9779           24 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9780           24 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9781              :                 {
    9782            8 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9783              :                     {
    9784            8 :                       {
    9785            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9786            8 :                         tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9787            8 :                         if (res) return res;
    9788              :                       }
    9789              :                     }
    9790              :                 }
    9791           24 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9792              :                 {
    9793            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9794              :                     {
    9795            0 :                       {
    9796            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9797            0 :                         tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9798            0 :                         if (res) return res;
    9799              :                       }
    9800              :                     }
    9801              :                 }
    9802              :               break;
    9803              :             }
    9804         1615 :           default:;
    9805              :           }
    9806         1615 :       {
    9807         1615 :         tree _p1_pops[1];
    9808         1615 :         if (tree_nop_convert (_p1, _p1_pops))
    9809              :           {
    9810          139 :             tree _q50 = _p1_pops[0];
    9811          139 :             switch (TREE_CODE (_q50))
    9812              :               {
    9813            0 :               case EQ_EXPR:
    9814            0 :                 {
    9815            0 :                   tree _q60 = TREE_OPERAND (_q50, 0);
    9816            0 :                   tree _q61 = TREE_OPERAND (_q50, 1);
    9817            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9818              :                     {
    9819            0 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9820              :                         {
    9821            0 :                           {
    9822            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9823            0 :                             tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9824            0 :                             if (res) return res;
    9825              :                           }
    9826              :                         }
    9827              :                     }
    9828            0 :                   if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    9829              :                     {
    9830            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    9831              :                         {
    9832            0 :                           {
    9833            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9834            0 :                             tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9835            0 :                             if (res) return res;
    9836              :                           }
    9837              :                         }
    9838              :                     }
    9839              :                   break;
    9840              :                 }
    9841              :               default:;
    9842              :               }
    9843              :           }
    9844              :       }
    9845         1615 :         break;
    9846              :       }
    9847        66953 :     case BIT_NOT_EXPR:
    9848        66953 :       {
    9849        66953 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9850        66953 :         switch (TREE_CODE (_q20))
    9851              :           {
    9852          140 :           case BIT_XOR_EXPR:
    9853          140 :             {
    9854          140 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9855          140 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9856          140 :               switch (TREE_CODE (_p1))
    9857              :                 {
    9858           48 :                 case BIT_IOR_EXPR:
    9859           48 :                   {
    9860           48 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    9861           48 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    9862           48 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9863              :                       {
    9864            6 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9865              :                           {
    9866            0 :                             {
    9867            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9868            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
    9869            0 :                               if (res) return res;
    9870              :                             }
    9871              :                           }
    9872              :                       }
    9873           48 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9874              :                       {
    9875            3 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9876              :                           {
    9877            0 :                             {
    9878            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9879            0 :                               tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
    9880            0 :                               if (res) return res;
    9881              :                             }
    9882              :                           }
    9883              :                       }
    9884              :                     break;
    9885              :                   }
    9886          140 :                 default:;
    9887              :                 }
    9888          140 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9889              :                 {
    9890            1 :                   {
    9891            1 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9892            1 :                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
    9893            1 :                     if (res) return res;
    9894              :                   }
    9895              :                 }
    9896          139 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9897              :                 {
    9898            0 :                   {
    9899            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9900            0 :                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
    9901            0 :                     if (res) return res;
    9902              :                   }
    9903              :                 }
    9904              :               break;
    9905              :             }
    9906              :           default:;
    9907              :           }
    9908              :         break;
    9909              :       }
    9910      6804975 :     default:;
    9911              :     }
    9912      6804975 : {
    9913      6804975 :   tree _p0_pops[1];
    9914      6804975 :   if (tree_nop_convert (_p0, _p0_pops))
    9915              :     {
    9916      1415262 :       tree _q20 = _p0_pops[0];
    9917      1415262 :       switch (TREE_CODE (_q20))
    9918              :         {
    9919            0 :         case EQ_EXPR:
    9920            0 :           {
    9921            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9922            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    9923            0 :             switch (TREE_CODE (_p1))
    9924              :               {
    9925            0 :               case BIT_IOR_EXPR:
    9926            0 :                 {
    9927            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    9928            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    9929            0 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9930              :                     {
    9931            0 :                       if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9932              :                         {
    9933            0 :                           {
    9934            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9935            0 :                             tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9936            0 :                             if (res) return res;
    9937              :                           }
    9938              :                         }
    9939              :                     }
    9940            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9941              :                     {
    9942            0 :                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9943              :                         {
    9944            0 :                           {
    9945            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9946            0 :                             tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
    9947            0 :                             if (res) return res;
    9948              :                           }
    9949              :                         }
    9950              :                     }
    9951              :                   break;
    9952              :                 }
    9953            0 :               default:;
    9954              :               }
    9955            0 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9956              :               {
    9957            0 :                 {
    9958            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9959            0 :                   tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
    9960            0 :                   if (res) return res;
    9961              :                 }
    9962              :               }
    9963            0 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9964              :               {
    9965            0 :                 {
    9966            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9967            0 :                   tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
    9968            0 :                   if (res) return res;
    9969              :                 }
    9970              :               }
    9971              :             break;
    9972              :           }
    9973              :         default:;
    9974              :         }
    9975              :     }
    9976              : }
    9977      6804975 :   switch (TREE_CODE (_p1))
    9978              :     {
    9979        53712 :     case BIT_NOT_EXPR:
    9980        53712 :       {
    9981        53712 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9982        53712 :         switch (TREE_CODE (_q30))
    9983              :           {
    9984            6 :           case BIT_XOR_EXPR:
    9985            6 :             {
    9986            6 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9987            6 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9988            6 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9989              :                 {
    9990            0 :                   {
    9991            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    9992            0 :                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
    9993            0 :                     if (res) return res;
    9994              :                   }
    9995              :                 }
    9996            6 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    9997              :                 {
    9998            0 :                   {
    9999            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
   10000            0 :                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10001            0 :                     if (res) return res;
   10002              :                   }
   10003              :                 }
   10004              :               break;
   10005              :             }
   10006              :           default:;
   10007              :           }
   10008              :         break;
   10009              :       }
   10010      6804975 :     default:;
   10011              :     }
   10012      6804975 :   switch (TREE_CODE (_p0))
   10013              :     {
   10014       320571 :     case PLUS_EXPR:
   10015       320571 :       {
   10016       320571 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10017       320571 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10018       320571 :         if (integer_minus_onep (_q21))
   10019              :           {
   10020       116426 :             switch (TREE_CODE (_p1))
   10021              :               {
   10022        10469 :               case NEGATE_EXPR:
   10023        10469 :                 {
   10024        10469 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10025        10469 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10026              :                     {
   10027            9 :                       {
   10028            9 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10029            9 :                         tree res = generic_simplify_8 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10030            9 :                         if (res) return res;
   10031              :                       }
   10032              :                     }
   10033              :                   break;
   10034              :                 }
   10035              :               default:;
   10036              :               }
   10037              :           }
   10038              :         break;
   10039              :       }
   10040        47173 :     case NEGATE_EXPR:
   10041        47173 :       {
   10042        47173 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10043        47173 :         switch (TREE_CODE (_p1))
   10044              :           {
   10045           26 :           case PLUS_EXPR:
   10046           26 :             {
   10047           26 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10048           26 :               tree _q41 = TREE_OPERAND (_p1, 1);
   10049           26 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10050              :                 {
   10051            0 :                   if (integer_minus_onep (_q41))
   10052              :                     {
   10053            0 :                       {
   10054            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10055            0 :                         tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10056            0 :                         if (res) return res;
   10057              :                       }
   10058              :                     }
   10059              :                 }
   10060              :               break;
   10061              :             }
   10062            0 :           case MINUS_EXPR:
   10063            0 :             {
   10064            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10065            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
   10066            0 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10067              :                 {
   10068            0 :                   if (integer_onep (_q41))
   10069              :                     {
   10070            0 :                       {
   10071            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10072            0 :                         tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10073            0 :                         if (res) return res;
   10074              :                       }
   10075              :                     }
   10076              :                 }
   10077              :               break;
   10078              :             }
   10079              :           default:;
   10080              :           }
   10081              :         break;
   10082              :       }
   10083       679834 :     case MINUS_EXPR:
   10084       679834 :       {
   10085       679834 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10086       679834 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10087       679834 :         if (integer_onep (_q21))
   10088              :           {
   10089          805 :             switch (TREE_CODE (_p1))
   10090              :               {
   10091            0 :               case NEGATE_EXPR:
   10092            0 :                 {
   10093            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10094            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10095              :                     {
   10096            0 :                       {
   10097            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10098            0 :                         tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10099            0 :                         if (res) return res;
   10100              :                       }
   10101              :                     }
   10102              :                   break;
   10103              :                 }
   10104              :               default:;
   10105              :               }
   10106              :           }
   10107              :         break;
   10108              :       }
   10109      6804966 :     default:;
   10110              :     }
   10111      6804966 :   switch (TREE_CODE (_p1))
   10112              :     {
   10113         1780 :     case EQ_EXPR:
   10114         1780 :       {
   10115         1780 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10116         1780 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10117         1780 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10118              :           {
   10119            1 :             {
   10120            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   10121            1 :               tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10122            1 :               if (res) return res;
   10123              :             }
   10124              :           }
   10125         1780 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10126              :           {
   10127            0 :             {
   10128            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
   10129            0 :               tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10130            0 :               if (res) return res;
   10131              :             }
   10132              :           }
   10133              :         break;
   10134              :       }
   10135          257 :     case BIT_XOR_EXPR:
   10136          257 :       {
   10137          257 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10138          257 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10139          257 :         {
   10140          257 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   10141          257 :           tree res = generic_simplify_457 (loc, type, _p0, _p1, captures);
   10142          257 :           if (res) return res;
   10143              :         }
   10144          256 :         {
   10145          256 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
   10146          256 :           tree res = generic_simplify_457 (loc, type, _p0, _p1, captures);
   10147          256 :           if (res) return res;
   10148              :         }
   10149          256 :         break;
   10150              :       }
   10151      6804965 :     default:;
   10152              :     }
   10153      6804965 : {
   10154      6804965 :   tree _p1_pops[1];
   10155      6804965 :   if (tree_nop_convert (_p1, _p1_pops))
   10156              :     {
   10157       964974 :       tree _q30 = _p1_pops[0];
   10158       964974 :       switch (TREE_CODE (_q30))
   10159              :         {
   10160            0 :         case EQ_EXPR:
   10161            0 :           {
   10162            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
   10163            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
   10164            0 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10165              :               {
   10166            0 :                 {
   10167            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10168            0 :                   tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10169            0 :                   if (res) return res;
   10170              :                 }
   10171              :               }
   10172            0 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   10173              :               {
   10174            0 :                 {
   10175            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
   10176            0 :                   tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10177            0 :                   if (res) return res;
   10178              :                 }
   10179              :               }
   10180              :             break;
   10181              :           }
   10182              :         default:;
   10183              :         }
   10184              :     }
   10185              : }
   10186      6804965 :   switch (TREE_CODE (_p0))
   10187              :     {
   10188        61143 :     case BIT_XOR_EXPR:
   10189        61143 :       {
   10190        61143 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10191        61143 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10192        61143 :         {
   10193        61143 :           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10194        61143 :           tree res = generic_simplify_457 (loc, type, _p0, _p1, captures);
   10195        61143 :           if (res) return res;
   10196              :         }
   10197        61143 :         {
   10198        61143 :           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
   10199        61143 :           tree res = generic_simplify_457 (loc, type, _p0, _p1, captures);
   10200        61143 :           if (res) return res;
   10201              :         }
   10202        61143 :         switch (TREE_CODE (_p1))
   10203              :           {
   10204          152 :           case BIT_XOR_EXPR:
   10205          152 :             {
   10206          152 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10207          152 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10208          152 :               switch (TREE_CODE (_q50))
   10209              :                 {
   10210            3 :                 case BIT_XOR_EXPR:
   10211            3 :                   {
   10212            3 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   10213            3 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   10214            3 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   10215              :                       {
   10216            2 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10217              :                           {
   10218            1 :                             {
   10219            1 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q61 };
   10220            1 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10221            1 :                               if (res) return res;
   10222              :                             }
   10223              :                           }
   10224              :                       }
   10225            2 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   10226              :                       {
   10227            0 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10228              :                           {
   10229            0 :                             {
   10230            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q60 };
   10231            0 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10232            0 :                               if (res) return res;
   10233              :                             }
   10234              :                           }
   10235              :                       }
   10236            2 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10237              :                       {
   10238            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10239              :                           {
   10240            1 :                             {
   10241            1 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q61 };
   10242            1 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10243            1 :                               if (res) return res;
   10244              :                             }
   10245              :                           }
   10246              :                       }
   10247            1 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   10248              :                       {
   10249            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10250              :                           {
   10251            0 :                             {
   10252            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q60 };
   10253            0 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10254            0 :                               if (res) return res;
   10255              :                             }
   10256              :                           }
   10257              :                       }
   10258              :                     break;
   10259              :                   }
   10260          150 :                 default:;
   10261              :                 }
   10262          150 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10263              :                 {
   10264           47 :                   switch (TREE_CODE (_q51))
   10265              :                     {
   10266            0 :                     case BIT_XOR_EXPR:
   10267            0 :                       {
   10268            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
   10269            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
   10270            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   10271              :                           {
   10272            0 :                             {
   10273            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q71 };
   10274            0 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10275            0 :                               if (res) return res;
   10276              :                             }
   10277              :                           }
   10278            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10279              :                           {
   10280            0 :                             {
   10281            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q70 };
   10282            0 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10283            0 :                               if (res) return res;
   10284              :                             }
   10285              :                           }
   10286              :                         break;
   10287              :                       }
   10288              :                     default:;
   10289              :                     }
   10290              :                 }
   10291          150 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10292              :                 {
   10293            0 :                   switch (TREE_CODE (_q51))
   10294              :                     {
   10295            0 :                     case BIT_XOR_EXPR:
   10296            0 :                       {
   10297            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
   10298            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
   10299            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   10300              :                           {
   10301            0 :                             {
   10302            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q71 };
   10303            0 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10304            0 :                               if (res) return res;
   10305              :                             }
   10306              :                           }
   10307            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10308              :                           {
   10309            0 :                             {
   10310            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q70 };
   10311            0 :                               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   10312            0 :                               if (res) return res;
   10313              :                             }
   10314              :                           }
   10315              :                         break;
   10316              :                       }
   10317              :                     default:;
   10318              :                     }
   10319              :                 }
   10320              :               break;
   10321              :             }
   10322        61141 :           default:;
   10323              :           }
   10324        61141 :         switch (TREE_CODE (_q20))
   10325              :           {
   10326           11 :           case BIT_XOR_EXPR:
   10327           11 :             {
   10328           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10329           11 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10330           11 :               switch (TREE_CODE (_p1))
   10331              :                 {
   10332            0 :                 case BIT_XOR_EXPR:
   10333            0 :                   {
   10334            0 :                     tree _q70 = TREE_OPERAND (_p1, 0);
   10335            0 :                     tree _q71 = TREE_OPERAND (_p1, 1);
   10336            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   10337              :                       {
   10338            0 :                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10339              :                           {
   10340            0 :                             {
   10341            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
   10342            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10343            0 :                               if (res) return res;
   10344              :                             }
   10345              :                           }
   10346            0 :                         if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10347              :                           {
   10348            0 :                             {
   10349            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
   10350            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10351            0 :                               if (res) return res;
   10352              :                             }
   10353              :                           }
   10354              :                       }
   10355            0 :                     if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10356              :                       {
   10357            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10358              :                           {
   10359            0 :                             {
   10360            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
   10361            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10362            0 :                               if (res) return res;
   10363              :                             }
   10364              :                           }
   10365              :                       }
   10366            0 :                     if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10367              :                       {
   10368            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10369              :                           {
   10370            0 :                             {
   10371            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
   10372            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10373            0 :                               if (res) return res;
   10374              :                             }
   10375              :                           }
   10376              :                       }
   10377              :                     break;
   10378              :                   }
   10379              :                 default:;
   10380              :                 }
   10381              :               break;
   10382              :             }
   10383        61141 :           default:;
   10384              :           }
   10385        61141 :         switch (TREE_CODE (_q21))
   10386              :           {
   10387            0 :           case BIT_XOR_EXPR:
   10388            0 :             {
   10389            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10390            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10391            0 :               switch (TREE_CODE (_p1))
   10392              :                 {
   10393            0 :                 case BIT_XOR_EXPR:
   10394            0 :                   {
   10395            0 :                     tree _q70 = TREE_OPERAND (_p1, 0);
   10396            0 :                     tree _q71 = TREE_OPERAND (_p1, 1);
   10397            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   10398              :                       {
   10399            0 :                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   10400              :                           {
   10401            0 :                             {
   10402            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
   10403            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10404            0 :                               if (res) return res;
   10405              :                             }
   10406              :                           }
   10407            0 :                         if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
   10408              :                           {
   10409            0 :                             {
   10410            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
   10411            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10412            0 :                               if (res) return res;
   10413              :                             }
   10414              :                           }
   10415              :                       }
   10416            0 :                     if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   10417              :                       {
   10418            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10419              :                           {
   10420            0 :                             {
   10421            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
   10422            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10423            0 :                               if (res) return res;
   10424              :                             }
   10425              :                           }
   10426              :                       }
   10427            0 :                     if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
   10428              :                       {
   10429            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10430              :                           {
   10431            0 :                             {
   10432            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
   10433            0 :                               tree res = generic_simplify_459 (loc, type, _p0, _p1, captures);
   10434            0 :                               if (res) return res;
   10435              :                             }
   10436              :                           }
   10437              :                       }
   10438              :                     break;
   10439              :                   }
   10440              :                 default:;
   10441              :                 }
   10442              :               break;
   10443              :             }
   10444              :           default:;
   10445              :           }
   10446              :         break;
   10447              :       }
   10448        66951 :     case BIT_NOT_EXPR:
   10449        66951 :       {
   10450        66951 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10451        66951 :         switch (TREE_CODE (_q20))
   10452              :           {
   10453          212 :           case SSA_NAME:
   10454          212 :             {
   10455          212 :               switch (TREE_CODE (_p1))
   10456              :                 {
   10457          212 :                 case INTEGER_CST:
   10458          212 :                   {
   10459          212 :                     {
   10460          212 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10461          424 :                       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
   10462          636 :  && wi::bit_and_not (get_nonzero_bits (captures[0]), wi::to_wide (captures[1])) == 0
   10463              : )
   10464              :                         {
   10465           15 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1680;
   10466           15 :                           {
   10467           15 :                             tree res_op0;
   10468           15 :                             res_op0 = captures[0];
   10469           15 :                             tree res_op1;
   10470           15 :                             res_op1 = captures[1];
   10471           15 :                             tree _r;
   10472           15 :                             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
   10473           15 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1018, __FILE__, __LINE__, true);
   10474           15 :                             return _r;
   10475              :                           }
   10476            0 : next_after_fail1680:;
   10477              :                         }
   10478              :                     }
   10479          197 :                     break;
   10480              :                   }
   10481              :                 default:;
   10482              :                 }
   10483              :               break;
   10484              :             }
   10485              :           default:;
   10486              :           }
   10487              :         break;
   10488              :       }
   10489       320562 :     case PLUS_EXPR:
   10490       320562 :       {
   10491       320562 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10492       320562 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10493       320562 :         switch (TREE_CODE (_q20))
   10494              :           {
   10495           24 :           case BIT_AND_EXPR:
   10496           24 :             {
   10497           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10498           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10499           24 :               switch (TREE_CODE (_q31))
   10500              :                 {
   10501           20 :                 case INTEGER_CST:
   10502           20 :                   {
   10503           20 :                     switch (TREE_CODE (_p1))
   10504              :                       {
   10505           20 :                       case INTEGER_CST:
   10506           20 :                         {
   10507           20 :                           {
   10508           20 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10509           20 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
   10510           20 :                             if (res) return res;
   10511              :                           }
   10512           12 :                           break;
   10513              :                         }
   10514              :                       default:;
   10515              :                       }
   10516              :                     break;
   10517              :                   }
   10518              :                 default:;
   10519              :                 }
   10520              :               break;
   10521              :             }
   10522           64 :           case BIT_IOR_EXPR:
   10523           64 :             {
   10524           64 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10525           64 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10526           64 :               switch (TREE_CODE (_q31))
   10527              :                 {
   10528           52 :                 case INTEGER_CST:
   10529           52 :                   {
   10530           52 :                     switch (TREE_CODE (_p1))
   10531              :                       {
   10532           52 :                       case INTEGER_CST:
   10533           52 :                         {
   10534           52 :                           {
   10535           52 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10536           52 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
   10537           52 :                             if (res) return res;
   10538              :                           }
   10539           48 :                           break;
   10540              :                         }
   10541              :                       default:;
   10542              :                       }
   10543              :                     break;
   10544              :                   }
   10545              :                 default:;
   10546              :                 }
   10547              :               break;
   10548              :             }
   10549           24 :           case BIT_XOR_EXPR:
   10550           24 :             {
   10551           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10552           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10553           24 :               switch (TREE_CODE (_q31))
   10554              :                 {
   10555            4 :                 case INTEGER_CST:
   10556            4 :                   {
   10557            4 :                     switch (TREE_CODE (_p1))
   10558              :                       {
   10559            4 :                       case INTEGER_CST:
   10560            4 :                         {
   10561            4 :                           {
   10562            4 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10563            4 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
   10564            4 :                             if (res) return res;
   10565              :                           }
   10566            0 :                           break;
   10567              :                         }
   10568              :                       default:;
   10569              :                       }
   10570              :                     break;
   10571              :                   }
   10572              :                 default:;
   10573              :                 }
   10574              :               break;
   10575              :             }
   10576       320546 :           default:;
   10577              :           }
   10578       320546 :         switch (TREE_CODE (_q21))
   10579              :           {
   10580            0 :           case BIT_AND_EXPR:
   10581            0 :             {
   10582            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10583            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10584            0 :               switch (TREE_CODE (_q41))
   10585              :                 {
   10586            0 :                 case INTEGER_CST:
   10587            0 :                   {
   10588            0 :                     switch (TREE_CODE (_p1))
   10589              :                       {
   10590            0 :                       case INTEGER_CST:
   10591            0 :                         {
   10592            0 :                           {
   10593            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10594            0 :                             tree res = generic_simplify_461 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
   10595            0 :                             if (res) return res;
   10596              :                           }
   10597            0 :                           break;
   10598              :                         }
   10599              :                       default:;
   10600              :                       }
   10601              :                     break;
   10602              :                   }
   10603              :                 default:;
   10604              :                 }
   10605              :               break;
   10606              :             }
   10607            0 :           case BIT_IOR_EXPR:
   10608            0 :             {
   10609            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10610            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10611            0 :               switch (TREE_CODE (_q41))
   10612              :                 {
   10613            0 :                 case INTEGER_CST:
   10614            0 :                   {
   10615            0 :                     switch (TREE_CODE (_p1))
   10616              :                       {
   10617            0 :                       case INTEGER_CST:
   10618            0 :                         {
   10619            0 :                           {
   10620            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10621            0 :                             tree res = generic_simplify_461 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
   10622            0 :                             if (res) return res;
   10623              :                           }
   10624            0 :                           break;
   10625              :                         }
   10626              :                       default:;
   10627              :                       }
   10628              :                     break;
   10629              :                   }
   10630              :                 default:;
   10631              :                 }
   10632              :               break;
   10633              :             }
   10634            0 :           case BIT_XOR_EXPR:
   10635            0 :             {
   10636            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10637            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10638            0 :               switch (TREE_CODE (_q41))
   10639              :                 {
   10640            0 :                 case INTEGER_CST:
   10641            0 :                   {
   10642            0 :                     switch (TREE_CODE (_p1))
   10643              :                       {
   10644            0 :                       case INTEGER_CST:
   10645            0 :                         {
   10646            0 :                           {
   10647            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10648            0 :                             tree res = generic_simplify_461 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
   10649            0 :                             if (res) return res;
   10650              :                           }
   10651            0 :                           break;
   10652              :                         }
   10653              :                       default:;
   10654              :                       }
   10655              :                     break;
   10656              :                   }
   10657              :                 default:;
   10658              :                 }
   10659              :               break;
   10660              :             }
   10661       320546 :           default:;
   10662              :           }
   10663       320546 :         switch (TREE_CODE (_p1))
   10664              :           {
   10665       236346 :           case INTEGER_CST:
   10666       236346 :             {
   10667       236346 :               {
   10668       236346 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10669       236346 :                 tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, PLUS_EXPR);
   10670       236346 :                 if (res) return res;
   10671              :               }
   10672       105757 :               break;
   10673              :             }
   10674              :           default:;
   10675              :           }
   10676              :         break;
   10677              :       }
   10678       679834 :     case MINUS_EXPR:
   10679       679834 :       {
   10680       679834 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10681       679834 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10682       679834 :         switch (TREE_CODE (_q20))
   10683              :           {
   10684            4 :           case BIT_AND_EXPR:
   10685            4 :             {
   10686            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10687            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10688            4 :               switch (TREE_CODE (_q31))
   10689              :                 {
   10690            2 :                 case INTEGER_CST:
   10691            2 :                   {
   10692            2 :                     switch (TREE_CODE (_p1))
   10693              :                       {
   10694            2 :                       case INTEGER_CST:
   10695            2 :                         {
   10696            2 :                           {
   10697            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10698            2 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
   10699            2 :                             if (res) return res;
   10700              :                           }
   10701            0 :                           break;
   10702              :                         }
   10703              :                       default:;
   10704              :                       }
   10705              :                     break;
   10706              :                   }
   10707              :                 default:;
   10708              :                 }
   10709              :               break;
   10710              :             }
   10711            4 :           case BIT_IOR_EXPR:
   10712            4 :             {
   10713            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10714            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10715            4 :               switch (TREE_CODE (_q31))
   10716              :                 {
   10717            2 :                 case INTEGER_CST:
   10718            2 :                   {
   10719            2 :                     switch (TREE_CODE (_p1))
   10720              :                       {
   10721            2 :                       case INTEGER_CST:
   10722            2 :                         {
   10723            2 :                           {
   10724            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10725            2 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
   10726            2 :                             if (res) return res;
   10727              :                           }
   10728            0 :                           break;
   10729              :                         }
   10730              :                       default:;
   10731              :                       }
   10732              :                     break;
   10733              :                   }
   10734              :                 default:;
   10735              :                 }
   10736              :               break;
   10737              :             }
   10738            4 :           case BIT_XOR_EXPR:
   10739            4 :             {
   10740            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10741            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10742            4 :               switch (TREE_CODE (_q31))
   10743              :                 {
   10744            2 :                 case INTEGER_CST:
   10745            2 :                   {
   10746            2 :                     switch (TREE_CODE (_p1))
   10747              :                       {
   10748            2 :                       case INTEGER_CST:
   10749            2 :                         {
   10750            2 :                           {
   10751            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10752            2 :                             tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
   10753            2 :                             if (res) return res;
   10754              :                           }
   10755            0 :                           break;
   10756              :                         }
   10757              :                       default:;
   10758              :                       }
   10759              :                     break;
   10760              :                   }
   10761              :                 default:;
   10762              :                 }
   10763              :               break;
   10764              :             }
   10765       679828 :           default:;
   10766              :           }
   10767       679828 :         switch (TREE_CODE (_q21))
   10768              :           {
   10769          352 :           case BIT_AND_EXPR:
   10770          352 :             {
   10771          352 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10772          352 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10773          352 :               switch (TREE_CODE (_q41))
   10774              :                 {
   10775          350 :                 case INTEGER_CST:
   10776          350 :                   {
   10777          350 :                     switch (TREE_CODE (_p1))
   10778              :                       {
   10779          350 :                       case INTEGER_CST:
   10780          350 :                         {
   10781          350 :                           {
   10782          350 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10783          350 :                             tree res = generic_simplify_461 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
   10784          350 :                             if (res) return res;
   10785              :                           }
   10786            1 :                           break;
   10787              :                         }
   10788              :                       default:;
   10789              :                       }
   10790              :                     break;
   10791              :                   }
   10792              :                 default:;
   10793              :                 }
   10794              :               break;
   10795              :             }
   10796            4 :           case BIT_IOR_EXPR:
   10797            4 :             {
   10798            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10799            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10800            4 :               switch (TREE_CODE (_q41))
   10801              :                 {
   10802            2 :                 case INTEGER_CST:
   10803            2 :                   {
   10804            2 :                     switch (TREE_CODE (_p1))
   10805              :                       {
   10806            2 :                       case INTEGER_CST:
   10807            2 :                         {
   10808            2 :                           {
   10809            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10810            2 :                             tree res = generic_simplify_461 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
   10811            2 :                             if (res) return res;
   10812              :                           }
   10813            0 :                           break;
   10814              :                         }
   10815              :                       default:;
   10816              :                       }
   10817              :                     break;
   10818              :                   }
   10819              :                 default:;
   10820              :                 }
   10821              :               break;
   10822              :             }
   10823            4 :           case BIT_XOR_EXPR:
   10824            4 :             {
   10825            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10826            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10827            4 :               switch (TREE_CODE (_q41))
   10828              :                 {
   10829            2 :                 case INTEGER_CST:
   10830            2 :                   {
   10831            2 :                     switch (TREE_CODE (_p1))
   10832              :                       {
   10833            2 :                       case INTEGER_CST:
   10834            2 :                         {
   10835            2 :                           {
   10836            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10837            2 :                             tree res = generic_simplify_461 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
   10838            2 :                             if (res) return res;
   10839              :                           }
   10840            0 :                           break;
   10841              :                         }
   10842              :                       default:;
   10843              :                       }
   10844              :                     break;
   10845              :                   }
   10846              :                 default:;
   10847              :                 }
   10848              :               break;
   10849              :             }
   10850       679475 :           default:;
   10851              :           }
   10852       679475 :         switch (TREE_CODE (_p1))
   10853              :           {
   10854       679273 :           case INTEGER_CST:
   10855       679273 :             {
   10856       679273 :               {
   10857       679273 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10858       679273 :                 tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, MINUS_EXPR);
   10859       679273 :                 if (res) return res;
   10860              :               }
   10861       488020 :               break;
   10862              :             }
   10863              :           default:;
   10864              :           }
   10865              :         break;
   10866              :       }
   10867        47173 :     case NEGATE_EXPR:
   10868        47173 :       {
   10869        47173 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10870        47173 :         switch (TREE_CODE (_q20))
   10871              :           {
   10872           25 :           case BIT_AND_EXPR:
   10873           25 :             {
   10874           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10875           25 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10876           25 :               switch (TREE_CODE (_q31))
   10877              :                 {
   10878           21 :                 case INTEGER_CST:
   10879           21 :                   {
   10880           21 :                     switch (TREE_CODE (_p1))
   10881              :                       {
   10882           11 :                       case INTEGER_CST:
   10883           11 :                         {
   10884           11 :                           {
   10885           11 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10886           11 :                             tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10887           11 :                             if (res) return res;
   10888              :                           }
   10889            8 :                           break;
   10890              :                         }
   10891              :                       default:;
   10892              :                       }
   10893              :                     break;
   10894              :                   }
   10895              :                 default:;
   10896              :                 }
   10897              :               break;
   10898              :             }
   10899           44 :           case BIT_IOR_EXPR:
   10900           44 :             {
   10901           44 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10902           44 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10903           44 :               switch (TREE_CODE (_q31))
   10904              :                 {
   10905            2 :                 case INTEGER_CST:
   10906            2 :                   {
   10907            2 :                     switch (TREE_CODE (_p1))
   10908              :                       {
   10909            2 :                       case INTEGER_CST:
   10910            2 :                         {
   10911            2 :                           {
   10912            2 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10913            2 :                             tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
   10914            2 :                             if (res) return res;
   10915              :                           }
   10916            0 :                           break;
   10917              :                         }
   10918              :                       default:;
   10919              :                       }
   10920              :                     break;
   10921              :                   }
   10922              :                 default:;
   10923              :                 }
   10924              :               break;
   10925              :             }
   10926            4 :           case BIT_XOR_EXPR:
   10927            4 :             {
   10928            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10929            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10930            4 :               switch (TREE_CODE (_q31))
   10931              :                 {
   10932            2 :                 case INTEGER_CST:
   10933            2 :                   {
   10934            2 :                     switch (TREE_CODE (_p1))
   10935              :                       {
   10936            2 :                       case INTEGER_CST:
   10937            2 :                         {
   10938            2 :                           {
   10939            2 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10940            2 :                             tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
   10941            2 :                             if (res) return res;
   10942              :                           }
   10943            0 :                           break;
   10944              :                         }
   10945              :                       default:;
   10946              :                       }
   10947              :                     break;
   10948              :                   }
   10949              :                 default:;
   10950              :                 }
   10951              :               break;
   10952              :             }
   10953        47166 :           default:;
   10954              :           }
   10955        47166 :       if (tree_zero_one_valued_p (_q20))
   10956              :         {
   10957           21 :           {
   10958           21 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10959           21 :             tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   10960           21 :             if (res) return res;
   10961              :           }
   10962              :         }
   10963              :         break;
   10964              :       }
   10965      6482703 :     default:;
   10966              :     }
   10967      6482703 :   if (integer_zerop (_p1))
   10968              :     {
   10969         3896 :       {
   10970         3896 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10971         3896 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1681;
   10972         3896 :         {
   10973         3896 :           tree _r;
   10974         3896 :           _r = captures[1];
   10975         3896 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10976           51 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10977         3896 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1019, __FILE__, __LINE__, true);
   10978         3896 :           return _r;
   10979              :         }
   10980            0 : next_after_fail1681:;
   10981              :       }
   10982              :     }
   10983      6478807 :   if (integer_all_onesp (_p1))
   10984              :     {
   10985        45300 :       {
   10986        45300 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10987        45300 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1682;
   10988        45300 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1682;
   10989        45300 :         {
   10990        45300 :           tree res_op0;
   10991        45300 :           res_op0 = captures[0];
   10992        45300 :           tree _r;
   10993        45300 :           _r = non_lvalue_loc (loc, res_op0);
   10994        45300 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1020, __FILE__, __LINE__, true);
   10995        45300 :           return _r;
   10996              :         }
   10997              : next_after_fail1682:;
   10998              :       }
   10999              :     }
   11000      6433507 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11001              :     {
   11002          131 :       {
   11003          131 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11004          131 :         tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11005          131 :         if (res) return res;
   11006              :       }
   11007              :     }
   11008      6433376 :   switch (TREE_CODE (_p1))
   11009              :     {
   11010        53712 :     case BIT_NOT_EXPR:
   11011        53712 :       {
   11012        53712 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11013        53712 :         switch (TREE_CODE (_q30))
   11014              :           {
   11015           13 :           case BIT_AND_EXPR:
   11016           13 :             {
   11017           13 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11018           13 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11019           13 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11020              :                 {
   11021            0 :                   {
   11022            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
   11023            0 :                     tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11024            0 :                     if (res) return res;
   11025              :                   }
   11026              :                 }
   11027           13 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   11028              :                 {
   11029            0 :                   {
   11030            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
   11031            0 :                     tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11032            0 :                     if (res) return res;
   11033              :                   }
   11034              :                 }
   11035              :               break;
   11036              :             }
   11037              :           default:;
   11038              :           }
   11039              :         break;
   11040              :       }
   11041      6433376 :     default:;
   11042              :     }
   11043      6433376 :   switch (TREE_CODE (_p0))
   11044              :     {
   11045        66920 :     case BIT_NOT_EXPR:
   11046        66920 :       {
   11047        66920 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11048        66920 :         switch (TREE_CODE (_q20))
   11049              :           {
   11050           28 :           case BIT_AND_EXPR:
   11051           28 :             {
   11052           28 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11053           28 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11054           28 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11055              :                 {
   11056            4 :                   {
   11057            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
   11058            4 :                     tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11059            4 :                     if (res) return res;
   11060              :                   }
   11061              :                 }
   11062           24 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   11063              :                 {
   11064            3 :                   {
   11065            3 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
   11066            3 :                     tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11067            3 :                     if (res) return res;
   11068              :                   }
   11069              :                 }
   11070           21 :               switch (TREE_CODE (_p1))
   11071              :                 {
   11072            0 :                 case BIT_IOR_EXPR:
   11073            0 :                   {
   11074            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11075            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11076            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11077              :                       {
   11078            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   11079              :                           {
   11080            0 :                             {
   11081            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   11082            0 :                               tree res = generic_simplify_465 (loc, type, _p0, _p1, captures);
   11083            0 :                               if (res) return res;
   11084              :                             }
   11085              :                           }
   11086              :                       }
   11087              :                     break;
   11088              :                   }
   11089              :                 default:;
   11090              :                 }
   11091              :               break;
   11092              :             }
   11093        66913 :           default:;
   11094              :           }
   11095        66913 :         switch (TREE_CODE (_p1))
   11096              :           {
   11097        27507 :           CASE_CONVERT:
   11098        27507 :             {
   11099        27507 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11100        27507 :               switch (TREE_CODE (_q40))
   11101              :                 {
   11102            0 :                 case BIT_NOT_EXPR:
   11103            0 :                   {
   11104            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   11105            0 :                     {
   11106            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   11107            0 :                       tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11108            0 :                       if (res) return res;
   11109              :                     }
   11110            0 :                     break;
   11111              :                   }
   11112              :                 default:;
   11113              :                 }
   11114              :               break;
   11115              :             }
   11116           44 :           case BIT_NOT_EXPR:
   11117           44 :             {
   11118           44 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11119           44 :               {
   11120           44 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11121           44 :                 tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11122           44 :                 if (res) return res;
   11123              :               }
   11124            0 :               break;
   11125              :             }
   11126              :           default:;
   11127              :           }
   11128              :         break;
   11129              :       }
   11130         1585 :     case BIT_IOR_EXPR:
   11131         1585 :       {
   11132         1585 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11133         1585 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11134         1585 :         switch (TREE_CODE (_p1))
   11135              :           {
   11136          169 :           case BIT_NOT_EXPR:
   11137          169 :             {
   11138          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11139          169 :               switch (TREE_CODE (_q50))
   11140              :                 {
   11141            0 :                 case BIT_AND_EXPR:
   11142            0 :                   {
   11143            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   11144            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   11145            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11146              :                       {
   11147            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   11148              :                           {
   11149            0 :                             {
   11150            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   11151            0 :                               tree res = generic_simplify_465 (loc, type, _p0, _p1, captures);
   11152            0 :                               if (res) return res;
   11153              :                             }
   11154              :                           }
   11155              :                       }
   11156              :                     break;
   11157              :                   }
   11158              :                 default:;
   11159              :                 }
   11160              :               break;
   11161              :             }
   11162            2 :           case BIT_XOR_EXPR:
   11163            2 :             {
   11164            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11165            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11166            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11167              :                 {
   11168            0 :                   {
   11169            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
   11170            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11171            0 :                     if (res) return res;
   11172              :                   }
   11173              :                 }
   11174            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11175              :                 {
   11176            2 :                   {
   11177            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   11178            2 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11179            2 :                     if (res) return res;
   11180              :                   }
   11181              :                 }
   11182            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11183              :                 {
   11184            0 :                   {
   11185            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
   11186            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11187            0 :                     if (res) return res;
   11188              :                   }
   11189              :                 }
   11190            2 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11191              :                 {
   11192            0 :                   {
   11193            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
   11194            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11195            0 :                     if (res) return res;
   11196              :                   }
   11197              :                 }
   11198              :               break;
   11199              :             }
   11200         1585 :           default:;
   11201              :           }
   11202         1585 :         switch (TREE_CODE (_q20))
   11203              :           {
   11204          127 :           case BIT_NOT_EXPR:
   11205          127 :             {
   11206          127 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11207          127 :               switch (TREE_CODE (_p1))
   11208              :                 {
   11209            2 :                 case BIT_IOR_EXPR:
   11210            2 :                   {
   11211            2 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11212            2 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11213            2 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11214              :                       {
   11215            0 :                         switch (TREE_CODE (_q61))
   11216              :                           {
   11217            0 :                           case BIT_NOT_EXPR:
   11218            0 :                             {
   11219            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
   11220            0 :                               if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11221              :                                 {
   11222            0 :                                   {
   11223            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
   11224            0 :                                     tree res = generic_simplify_467 (loc, type, _p0, _p1, captures);
   11225            0 :                                     if (res) return res;
   11226              :                                   }
   11227              :                                 }
   11228              :                               break;
   11229              :                             }
   11230              :                           default:;
   11231              :                           }
   11232              :                       }
   11233            2 :                     switch (TREE_CODE (_q60))
   11234              :                       {
   11235            2 :                       case BIT_NOT_EXPR:
   11236            2 :                         {
   11237            2 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11238            2 :                           if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   11239              :                             {
   11240            2 :                               if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   11241              :                                 {
   11242            2 :                                   {
   11243            2 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
   11244            2 :                                     tree res = generic_simplify_467 (loc, type, _p0, _p1, captures);
   11245            2 :                                     if (res) return res;
   11246              :                                   }
   11247              :                                 }
   11248              :                             }
   11249              :                           break;
   11250              :                         }
   11251              :                       default:;
   11252              :                       }
   11253              :                     break;
   11254              :                   }
   11255              :                 default:;
   11256              :                 }
   11257              :               break;
   11258              :             }
   11259         1583 :           default:;
   11260              :           }
   11261         1583 :         switch (TREE_CODE (_q21))
   11262              :           {
   11263            0 :           case BIT_NOT_EXPR:
   11264            0 :             {
   11265            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11266            0 :               switch (TREE_CODE (_p1))
   11267              :                 {
   11268            0 :                 case BIT_IOR_EXPR:
   11269            0 :                   {
   11270            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11271            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11272            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   11273              :                       {
   11274            0 :                         switch (TREE_CODE (_q61))
   11275              :                           {
   11276            0 :                           case BIT_NOT_EXPR:
   11277            0 :                             {
   11278            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
   11279            0 :                               if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11280              :                                 {
   11281            0 :                                   {
   11282            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
   11283            0 :                                     tree res = generic_simplify_467 (loc, type, _p0, _p1, captures);
   11284            0 :                                     if (res) return res;
   11285              :                                   }
   11286              :                                 }
   11287              :                               break;
   11288              :                             }
   11289              :                           default:;
   11290              :                           }
   11291              :                       }
   11292            0 :                     switch (TREE_CODE (_q60))
   11293              :                       {
   11294            0 :                       case BIT_NOT_EXPR:
   11295            0 :                         {
   11296            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11297            0 :                           if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   11298              :                             {
   11299            0 :                               if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   11300              :                                 {
   11301            0 :                                   {
   11302            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
   11303            0 :                                     tree res = generic_simplify_467 (loc, type, _p0, _p1, captures);
   11304            0 :                                     if (res) return res;
   11305              :                                   }
   11306              :                                 }
   11307              :                             }
   11308              :                           break;
   11309              :                         }
   11310              :                       default:;
   11311              :                       }
   11312              :                     break;
   11313              :                   }
   11314              :                 default:;
   11315              :                 }
   11316              :               break;
   11317              :             }
   11318              :           default:;
   11319              :           }
   11320              :         break;
   11321              :       }
   11322        61085 :     case BIT_XOR_EXPR:
   11323        61085 :       {
   11324        61085 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11325        61085 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11326        61085 :         switch (TREE_CODE (_p1))
   11327              :           {
   11328          133 :           case BIT_IOR_EXPR:
   11329          133 :             {
   11330          133 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11331          133 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11332          133 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11333              :                 {
   11334           18 :                   {
   11335           18 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
   11336           18 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11337           18 :                     if (res) return res;
   11338              :                   }
   11339              :                 }
   11340          133 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11341              :                 {
   11342           33 :                   {
   11343           33 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q21, _q20 };
   11344           33 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11345           33 :                     if (res) return res;
   11346              :                   }
   11347              :                 }
   11348          133 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11349              :                 {
   11350           30 :                   {
   11351           30 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q20, _q21 };
   11352           30 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11353           30 :                     if (res) return res;
   11354              :                   }
   11355              :                 }
   11356          133 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11357              :                 {
   11358           21 :                   {
   11359           21 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q21, _q20 };
   11360           21 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures);
   11361           21 :                     if (res) return res;
   11362              :                   }
   11363              :                 }
   11364              :               break;
   11365              :             }
   11366        61085 :           default:;
   11367              :           }
   11368        61085 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11369              :           {
   11370           31 :             {
   11371           31 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   11372           31 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11373           31 :               if (res) return res;
   11374              :             }
   11375              :           }
   11376        61054 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11377              :           {
   11378            2 :             {
   11379            2 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   11380            2 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11381            2 :               if (res) return res;
   11382              :             }
   11383              :           }
   11384              :         break;
   11385              :       }
   11386      1974305 :     CASE_CONVERT:
   11387      1974305 :       {
   11388      1974305 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11389      1974305 :         switch (TREE_CODE (_q20))
   11390              :           {
   11391          164 :           case BIT_NOT_EXPR:
   11392          164 :             {
   11393          164 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11394          164 :               switch (TREE_CODE (_p1))
   11395              :                 {
   11396           34 :                 CASE_CONVERT:
   11397           34 :                   {
   11398           34 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11399           34 :                     switch (TREE_CODE (_q50))
   11400              :                       {
   11401            0 :                       case BIT_NOT_EXPR:
   11402            0 :                         {
   11403            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
   11404            0 :                           {
   11405            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
   11406            0 :                             tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11407            0 :                             if (res) return res;
   11408              :                           }
   11409            0 :                           break;
   11410              :                         }
   11411              :                       default:;
   11412              :                       }
   11413              :                     break;
   11414              :                   }
   11415            1 :                 case BIT_NOT_EXPR:
   11416            1 :                   {
   11417            1 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11418            1 :                     {
   11419            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
   11420            1 :                       tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11421            1 :                       if (res) return res;
   11422              :                     }
   11423            0 :                     break;
   11424              :                   }
   11425              :                 default:;
   11426              :                 }
   11427              :               break;
   11428              :             }
   11429              :           default:;
   11430              :           }
   11431              :         break;
   11432              :       }
   11433      6433289 :     default:;
   11434              :     }
   11435      6433289 :   switch (TREE_CODE (_p1))
   11436              :     {
   11437          254 :     case BIT_XOR_EXPR:
   11438          254 :       {
   11439          254 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11440          254 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11441          254 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   11442              :           {
   11443            0 :             {
   11444            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   11445            0 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11446            0 :               if (res) return res;
   11447              :             }
   11448              :           }
   11449          254 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11450              :           {
   11451            1 :             {
   11452            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
   11453            1 :               tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11454            1 :               if (res) return res;
   11455              :             }
   11456              :           }
   11457              :         break;
   11458              :       }
   11459      6433288 :     default:;
   11460              :     }
   11461      6433288 :   switch (TREE_CODE (_p0))
   11462              :     {
   11463      1974304 :     CASE_CONVERT:
   11464      1974304 :       {
   11465      1974304 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11466      1974304 :         switch (TREE_CODE (_q20))
   11467              :           {
   11468          171 :           case BIT_IOR_EXPR:
   11469          171 :             {
   11470          171 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11471          171 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11472          171 :               switch (TREE_CODE (_p1))
   11473              :                 {
   11474           12 :                 CASE_CONVERT:
   11475           12 :                   {
   11476           12 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11477           12 :                     switch (TREE_CODE (_q60))
   11478              :                       {
   11479            0 :                       case BIT_IOR_EXPR:
   11480            0 :                         {
   11481            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11482            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
   11483            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
   11484              :                             {
   11485            0 :                               {
   11486            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
   11487            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11488            0 :                                 if (res) return res;
   11489              :                               }
   11490              :                             }
   11491            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
   11492              :                             {
   11493            0 :                               {
   11494            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
   11495            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11496            0 :                                 if (res) return res;
   11497              :                               }
   11498              :                             }
   11499            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
   11500              :                             {
   11501            0 :                               {
   11502            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
   11503            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11504            0 :                                 if (res) return res;
   11505              :                               }
   11506              :                             }
   11507            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
   11508              :                             {
   11509            0 :                               {
   11510            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
   11511            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11512            0 :                                 if (res) return res;
   11513              :                               }
   11514              :                             }
   11515              :                           break;
   11516              :                         }
   11517              :                       default:;
   11518              :                       }
   11519              :                     break;
   11520              :                   }
   11521              :                 default:;
   11522              :                 }
   11523              :               break;
   11524              :             }
   11525           40 :           case BIT_AND_EXPR:
   11526           40 :             {
   11527           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11528           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11529           40 :               switch (TREE_CODE (_p1))
   11530              :                 {
   11531            0 :                 CASE_CONVERT:
   11532            0 :                   {
   11533            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11534            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
   11535              :                       {
   11536            0 :                         {
   11537            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
   11538            0 :                           tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11539            0 :                           if (res) return res;
   11540              :                         }
   11541              :                       }
   11542            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
   11543              :                       {
   11544            0 :                         {
   11545            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
   11546            0 :                           tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11547            0 :                           if (res) return res;
   11548              :                         }
   11549              :                       }
   11550              :                     break;
   11551              :                   }
   11552           40 :                 default:;
   11553              :                 }
   11554           40 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
   11555              :                 {
   11556            0 :                   {
   11557            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
   11558            0 :                     tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11559            0 :                     if (res) return res;
   11560              :                   }
   11561              :                 }
   11562           40 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
   11563              :                 {
   11564            0 :                   {
   11565            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
   11566            0 :                     tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11567            0 :                     if (res) return res;
   11568              :                   }
   11569              :                 }
   11570              :               break;
   11571              :             }
   11572      1974304 :           default:;
   11573              :           }
   11574      1974304 :         switch (TREE_CODE (_p1))
   11575              :           {
   11576       807955 :           CASE_CONVERT:
   11577       807955 :             {
   11578       807955 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11579       807955 :               switch (TREE_CODE (_q40))
   11580              :                 {
   11581            0 :                 case BIT_AND_EXPR:
   11582            0 :                   {
   11583            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   11584            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   11585            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
   11586              :                       {
   11587            0 :                         {
   11588            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
   11589            0 :                           tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11590            0 :                           if (res) return res;
   11591              :                         }
   11592              :                       }
   11593            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11594              :                       {
   11595            0 :                         {
   11596            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
   11597            0 :                           tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11598            0 :                           if (res) return res;
   11599              :                         }
   11600              :                       }
   11601              :                     break;
   11602              :                   }
   11603              :                 default:;
   11604              :                 }
   11605              :               break;
   11606              :             }
   11607           47 :           case BIT_AND_EXPR:
   11608           47 :             {
   11609           47 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11610           47 :               tree _q41 = TREE_OPERAND (_p1, 1);
   11611           47 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
   11612              :                 {
   11613            0 :                   {
   11614            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
   11615            0 :                     tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11616            0 :                     if (res) return res;
   11617              :                   }
   11618              :                 }
   11619           47 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
   11620              :                 {
   11621            0 :                   {
   11622            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
   11623            0 :                     tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11624            0 :                     if (res) return res;
   11625              :                   }
   11626              :                 }
   11627              :               break;
   11628              :             }
   11629              :           default:;
   11630              :           }
   11631              :         break;
   11632              :       }
   11633         1583 :     case BIT_IOR_EXPR:
   11634         1583 :       {
   11635         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11636         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11637         1583 :         switch (TREE_CODE (_p1))
   11638              :           {
   11639            9 :           case BIT_IOR_EXPR:
   11640            9 :             {
   11641            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11642            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11643            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11644              :                 {
   11645            0 :                   {
   11646            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
   11647            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11648            0 :                     if (res) return res;
   11649              :                   }
   11650              :                 }
   11651            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
   11652              :                 {
   11653            0 :                   {
   11654            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
   11655            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11656            0 :                     if (res) return res;
   11657              :                   }
   11658              :                 }
   11659            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
   11660              :                 {
   11661            0 :                   {
   11662            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
   11663            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11664            0 :                     if (res) return res;
   11665              :                   }
   11666              :                 }
   11667            9 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
   11668              :                 {
   11669            0 :                   {
   11670            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
   11671            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11672            0 :                     if (res) return res;
   11673              :                   }
   11674              :                 }
   11675              :               break;
   11676              :             }
   11677              :           default:;
   11678              :           }
   11679              :         break;
   11680              :       }
   11681      6433288 :     default:;
   11682              :     }
   11683      6433288 :   switch (TREE_CODE (_p1))
   11684              :     {
   11685       956946 :     CASE_CONVERT:
   11686       956946 :       {
   11687       956946 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11688       956946 :         switch (TREE_CODE (_q30))
   11689              :           {
   11690            8 :           case BIT_AND_EXPR:
   11691            8 :             {
   11692            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11693            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11694            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
   11695              :                 {
   11696            0 :                   {
   11697            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
   11698            0 :                     tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11699            0 :                     if (res) return res;
   11700              :                   }
   11701              :                 }
   11702            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
   11703              :                 {
   11704            0 :                   {
   11705            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
   11706            0 :                     tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11707            0 :                     if (res) return res;
   11708              :                   }
   11709              :                 }
   11710              :               break;
   11711              :             }
   11712              :           default:;
   11713              :           }
   11714              :         break;
   11715              :       }
   11716      6433288 :     default:;
   11717              :     }
   11718      6433288 :   switch (TREE_CODE (_p0))
   11719              :     {
   11720         1591 :     case BIT_AND_EXPR:
   11721         1591 :       {
   11722         1591 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11723         1591 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11724         1591 :         switch (TREE_CODE (_p1))
   11725              :           {
   11726           82 :           CASE_CONVERT:
   11727           82 :             {
   11728           82 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11729           82 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
   11730              :                 {
   11731            0 :                   {
   11732            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
   11733            0 :                     tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11734            0 :                     if (res) return res;
   11735              :                   }
   11736              :                 }
   11737           82 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11738              :                 {
   11739            0 :                   {
   11740            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
   11741            0 :                     tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11742            0 :                     if (res) return res;
   11743              :                   }
   11744              :                 }
   11745              :               break;
   11746              :             }
   11747         1591 :           default:;
   11748              :           }
   11749         1591 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
   11750              :           {
   11751            0 :             {
   11752            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
   11753            0 :               tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11754            0 :               if (res) return res;
   11755              :             }
   11756              :           }
   11757         1591 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
   11758              :           {
   11759            0 :             {
   11760            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
   11761            0 :               tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11762            0 :               if (res) return res;
   11763              :             }
   11764              :           }
   11765         1591 :         {
   11766         1591 :           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11767         1591 :           tree res = generic_simplify_468 (loc, type, _p0, _p1, captures);
   11768         1591 :           if (res) return res;
   11769              :         }
   11770         1583 :         switch (TREE_CODE (_p1))
   11771              :           {
   11772           82 :           CASE_CONVERT:
   11773           82 :             {
   11774           82 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11775           82 :               switch (TREE_CODE (_q50))
   11776              :                 {
   11777            8 :                 case BIT_AND_EXPR:
   11778            8 :                   {
   11779            8 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   11780            8 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   11781            8 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11782              :                       {
   11783            0 :                         {
   11784            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
   11785            0 :                           tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11786            0 :                           if (res) return res;
   11787              :                         }
   11788              :                       }
   11789            8 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   11790              :                       {
   11791            0 :                         {
   11792            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
   11793            0 :                           tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11794            0 :                           if (res) return res;
   11795              :                         }
   11796              :                       }
   11797            8 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   11798              :                       {
   11799            0 :                         {
   11800            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
   11801            0 :                           tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11802            0 :                           if (res) return res;
   11803              :                         }
   11804              :                       }
   11805            8 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   11806              :                       {
   11807            0 :                         {
   11808            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
   11809            0 :                           tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11810            0 :                           if (res) return res;
   11811              :                         }
   11812              :                       }
   11813              :                     break;
   11814              :                   }
   11815              :                 default:;
   11816              :                 }
   11817              :               break;
   11818              :             }
   11819           12 :           case BIT_AND_EXPR:
   11820           12 :             {
   11821           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11822           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11823           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11824              :                 {
   11825            0 :                   {
   11826            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
   11827            0 :                     tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11828            0 :                     if (res) return res;
   11829              :                   }
   11830              :                 }
   11831           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11832              :                 {
   11833            0 :                   {
   11834            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
   11835            0 :                     tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11836            0 :                     if (res) return res;
   11837              :                   }
   11838              :                 }
   11839           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11840              :                 {
   11841            0 :                   {
   11842            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
   11843            0 :                     tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11844            0 :                     if (res) return res;
   11845              :                   }
   11846              :                 }
   11847           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11848              :                 {
   11849            0 :                   {
   11850            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
   11851            0 :                     tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11852            0 :                     if (res) return res;
   11853              :                   }
   11854              :                 }
   11855              :               break;
   11856              :             }
   11857              :           default:;
   11858              :           }
   11859              :         break;
   11860              :       }
   11861      6433280 :     default:;
   11862              :     }
   11863      6433280 :   switch (TREE_CODE (_p1))
   11864              :     {
   11865           76 :     case BIT_AND_EXPR:
   11866           76 :       {
   11867           76 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11868           76 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11869           76 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
   11870              :           {
   11871            0 :             {
   11872            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
   11873            0 :               tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11874            0 :               if (res) return res;
   11875              :             }
   11876              :           }
   11877           76 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
   11878              :           {
   11879            0 :             {
   11880            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
   11881            0 :               tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11882            0 :               if (res) return res;
   11883              :             }
   11884              :           }
   11885           76 :         {
   11886           76 :           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
   11887           76 :           tree res = generic_simplify_468 (loc, type, _p0, _p1, captures);
   11888           76 :           if (res) return res;
   11889              :         }
   11890           76 :         break;
   11891              :       }
   11892      6433280 :     default:;
   11893              :     }
   11894      6433280 :   switch (TREE_CODE (_p0))
   11895              :     {
   11896      1974304 :     CASE_CONVERT:
   11897      1974304 :       {
   11898      1974304 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11899      1974304 :         switch (TREE_CODE (_q20))
   11900              :           {
   11901           40 :           case BIT_AND_EXPR:
   11902           40 :             {
   11903           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11904           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11905           40 :               switch (TREE_CODE (_p1))
   11906              :                 {
   11907            0 :                 CASE_CONVERT:
   11908            0 :                   {
   11909            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11910            0 :                     switch (TREE_CODE (_q60))
   11911              :                       {
   11912            0 :                       case BIT_AND_EXPR:
   11913            0 :                         {
   11914            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11915            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
   11916            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11917              :                             {
   11918            0 :                               {
   11919            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
   11920            0 :                                 tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11921            0 :                                 if (res) return res;
   11922              :                               }
   11923              :                             }
   11924            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   11925              :                             {
   11926            0 :                               {
   11927            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
   11928            0 :                                 tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11929            0 :                                 if (res) return res;
   11930              :                               }
   11931              :                             }
   11932            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   11933              :                             {
   11934            0 :                               {
   11935            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
   11936            0 :                                 tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11937            0 :                                 if (res) return res;
   11938              :                               }
   11939              :                             }
   11940            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   11941              :                             {
   11942            0 :                               {
   11943            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
   11944            0 :                                 tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11945            0 :                                 if (res) return res;
   11946              :                               }
   11947              :                             }
   11948              :                           break;
   11949              :                         }
   11950              :                       default:;
   11951              :                       }
   11952              :                     break;
   11953              :                   }
   11954            0 :                 case BIT_AND_EXPR:
   11955            0 :                   {
   11956            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11957            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11958            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11959              :                       {
   11960            0 :                         {
   11961            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
   11962            0 :                           tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11963            0 :                           if (res) return res;
   11964              :                         }
   11965              :                       }
   11966            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   11967              :                       {
   11968            0 :                         {
   11969            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
   11970            0 :                           tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11971            0 :                           if (res) return res;
   11972              :                         }
   11973              :                       }
   11974            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
   11975              :                       {
   11976            0 :                         {
   11977            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
   11978            0 :                           tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11979            0 :                           if (res) return res;
   11980              :                         }
   11981              :                       }
   11982            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   11983              :                       {
   11984            0 :                         {
   11985            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
   11986            0 :                           tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11987            0 :                           if (res) return res;
   11988              :                         }
   11989              :                       }
   11990              :                     break;
   11991              :                   }
   11992              :                 default:;
   11993              :                 }
   11994              :               break;
   11995              :             }
   11996      1974304 :           default:;
   11997              :           }
   11998      1974304 :         switch (TREE_CODE (_p1))
   11999              :           {
   12000       807955 :           CASE_CONVERT:
   12001       807955 :             {
   12002       807955 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12003       807955 :               {
   12004       807955 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   12005       807955 :                 tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12006       807955 :                 if (res) return res;
   12007              :               }
   12008       807955 :               break;
   12009              :             }
   12010      1974304 :           default:;
   12011              :           }
   12012      1974304 :         {
   12013      1974304 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
   12014      1974304 :           tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12015      1974304 :           if (res) return res;
   12016              :         }
   12017      1974304 :         break;
   12018              :       }
   12019         1583 :     case BIT_IOR_EXPR:
   12020         1583 :       {
   12021         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12022         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12023         1583 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12024              :           {
   12025            2 :             {
   12026            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   12027            2 :               tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12028            2 :               if (res) return res;
   12029              :             }
   12030              :           }
   12031         1581 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   12032              :           {
   12033            4 :             {
   12034            4 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   12035            4 :               tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12036            4 :               if (res) return res;
   12037              :             }
   12038              :           }
   12039         1577 :         switch (TREE_CODE (_p1))
   12040              :           {
   12041            1 :           case BIT_AND_EXPR:
   12042            1 :             {
   12043            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12044            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12045            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12046              :                 {
   12047            1 :                   {
   12048            1 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51 };
   12049            1 :                     tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12050            1 :                     if (res) return res;
   12051              :                   }
   12052              :                 }
   12053            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12054              :                 {
   12055            0 :                   {
   12056            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50 };
   12057            0 :                     tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12058            0 :                     if (res) return res;
   12059              :                   }
   12060              :                 }
   12061            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12062              :                 {
   12063            0 :                   {
   12064            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51 };
   12065            0 :                     tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12066            0 :                     if (res) return res;
   12067              :                   }
   12068              :                 }
   12069            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12070              :                 {
   12071            0 :                   {
   12072            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50 };
   12073            0 :                     tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12074            0 :                     if (res) return res;
   12075              :                   }
   12076              :                 }
   12077              :               break;
   12078              :             }
   12079          169 :           case BIT_NOT_EXPR:
   12080          169 :             {
   12081          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12082          169 :               switch (TREE_CODE (_q50))
   12083              :                 {
   12084            9 :                 case BIT_IOR_EXPR:
   12085            9 :                   {
   12086            9 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   12087            9 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   12088            9 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   12089              :                       {
   12090            0 :                         {
   12091            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q61 };
   12092            0 :                           tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12093            0 :                           if (res) return res;
   12094              :                         }
   12095              :                       }
   12096            9 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   12097              :                       {
   12098            1 :                         {
   12099            1 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q60 };
   12100            1 :                           tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12101            1 :                           if (res) return res;
   12102              :                         }
   12103              :                       }
   12104            8 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12105              :                       {
   12106            0 :                         {
   12107            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q61 };
   12108            0 :                           tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12109            0 :                           if (res) return res;
   12110              :                         }
   12111              :                       }
   12112            8 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   12113              :                       {
   12114            0 :                         {
   12115            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q60 };
   12116            0 :                           tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12117            0 :                           if (res) return res;
   12118              :                         }
   12119              :                       }
   12120              :                     break;
   12121              :                   }
   12122              :                 default:;
   12123              :                 }
   12124              :               break;
   12125              :             }
   12126              :           default:;
   12127              :           }
   12128              :         break;
   12129              :       }
   12130      6433272 :     default:;
   12131              :     }
   12132      6433272 :   switch (TREE_CODE (_p1))
   12133              :     {
   12134          476 :     case BIT_IOR_EXPR:
   12135          476 :       {
   12136          476 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12137          476 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12138          476 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12139              :           {
   12140            0 :             {
   12141            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   12142            0 :               tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12143            0 :               if (res) return res;
   12144              :             }
   12145              :           }
   12146          476 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   12147              :           {
   12148            0 :             {
   12149            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
   12150            0 :               tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12151            0 :               if (res) return res;
   12152              :             }
   12153              :           }
   12154              :         break;
   12155              :       }
   12156      6433272 :     default:;
   12157              :     }
   12158      6433272 :   switch (TREE_CODE (_p0))
   12159              :     {
   12160         1583 :     case BIT_AND_EXPR:
   12161         1583 :       {
   12162         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12163         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12164         1583 :         switch (TREE_CODE (_p1))
   12165              :           {
   12166           16 :           case BIT_IOR_EXPR:
   12167           16 :             {
   12168           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12169           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12170           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12171              :                 {
   12172            0 :                   {
   12173            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p0, _q21 };
   12174            0 :                     tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12175            0 :                     if (res) return res;
   12176              :                   }
   12177              :                 }
   12178           16 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12179              :                 {
   12180            0 :                   {
   12181            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q51, _p0, _q20 };
   12182            0 :                     tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12183            0 :                     if (res) return res;
   12184              :                   }
   12185              :                 }
   12186           16 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12187              :                 {
   12188            0 :                   {
   12189            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q50, _p0, _q21 };
   12190            0 :                     tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12191            0 :                     if (res) return res;
   12192              :                   }
   12193              :                 }
   12194           16 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12195              :                 {
   12196            0 :                   {
   12197            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20 };
   12198            0 :                     tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12199            0 :                     if (res) return res;
   12200              :                   }
   12201              :                 }
   12202              :               break;
   12203              :             }
   12204              :           default:;
   12205              :           }
   12206              :         break;
   12207              :       }
   12208        66869 :     case BIT_NOT_EXPR:
   12209        66869 :       {
   12210        66869 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12211        66869 :         switch (TREE_CODE (_q20))
   12212              :           {
   12213           11 :           case BIT_IOR_EXPR:
   12214           11 :             {
   12215           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12216           11 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12217           11 :               switch (TREE_CODE (_p1))
   12218              :                 {
   12219            0 :                 case BIT_IOR_EXPR:
   12220            0 :                   {
   12221            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12222            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12223            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   12224              :                       {
   12225            0 :                         {
   12226            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q30, _p0, _q31 };
   12227            0 :                           tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12228            0 :                           if (res) return res;
   12229              :                         }
   12230              :                       }
   12231            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   12232              :                       {
   12233            0 :                         {
   12234            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q31, _p0, _q30 };
   12235            0 :                           tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12236            0 :                           if (res) return res;
   12237              :                         }
   12238              :                       }
   12239            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12240              :                       {
   12241            0 :                         {
   12242            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q30, _p0, _q31 };
   12243            0 :                           tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12244            0 :                           if (res) return res;
   12245              :                         }
   12246              :                       }
   12247            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
   12248              :                       {
   12249            0 :                         {
   12250            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q31, _p0, _q30 };
   12251            0 :                           tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12252            0 :                           if (res) return res;
   12253              :                         }
   12254              :                       }
   12255              :                     break;
   12256              :                   }
   12257           11 :                 default:;
   12258              :                 }
   12259           11 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12260              :                 {
   12261            0 :                   {
   12262            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   12263            0 :                     tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12264            0 :                     if (res) return res;
   12265              :                   }
   12266              :                 }
   12267           11 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   12268              :                 {
   12269            1 :                   {
   12270            1 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
   12271            1 :                     tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12272            1 :                     if (res) return res;
   12273              :                   }
   12274              :                 }
   12275              :               break;
   12276              :             }
   12277           88 :           case RSHIFT_EXPR:
   12278           88 :             {
   12279           88 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12280           88 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12281           88 :               switch (TREE_CODE (_q31))
   12282              :                 {
   12283           76 :                 case INTEGER_CST:
   12284           76 :                   {
   12285           76 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12286              :                       {
   12287            0 :                         {
   12288            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   12289            0 :                           tree res = generic_simplify_173 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MIN_EXPR, MAX_EXPR);
   12290            0 :                           if (res) return res;
   12291              :                         }
   12292              :                       }
   12293              :                     break;
   12294              :                   }
   12295              :                 default:;
   12296              :                 }
   12297              :               break;
   12298              :             }
   12299              :           default:;
   12300              :           }
   12301              :         break;
   12302              :       }
   12303      6433271 :     default:;
   12304              :     }
   12305      6433271 :   switch (TREE_CODE (_p1))
   12306              :     {
   12307        53666 :     case BIT_NOT_EXPR:
   12308        53666 :       {
   12309        53666 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12310        53666 :         switch (TREE_CODE (_q30))
   12311              :           {
   12312            8 :           case BIT_IOR_EXPR:
   12313            8 :             {
   12314            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12315            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
   12316            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   12317              :                 {
   12318            0 :                   {
   12319            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   12320            0 :                     tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12321            0 :                     if (res) return res;
   12322              :                   }
   12323              :                 }
   12324            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   12325              :                 {
   12326            0 :                   {
   12327            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
   12328            0 :                     tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12329            0 :                     if (res) return res;
   12330              :                   }
   12331              :                 }
   12332              :               break;
   12333              :             }
   12334              :           default:;
   12335              :           }
   12336              :         break;
   12337              :       }
   12338      6433271 :     default:;
   12339              :     }
   12340      6433271 :   switch (TREE_CODE (_p0))
   12341              :     {
   12342         1575 :     case BIT_IOR_EXPR:
   12343         1575 :       {
   12344         1575 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12345         1575 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12346         1575 :         {
   12347         1575 :           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12348         1575 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12349         1575 :           if (res) return res;
   12350              :         }
   12351         1570 :         {
   12352         1570 :           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12353         1570 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12354         1570 :           if (res) return res;
   12355              :         }
   12356         1570 :         if (CONSTANT_CLASS_P (_q21))
   12357              :           {
   12358          459 :             if (CONSTANT_CLASS_P (_p1))
   12359              :               {
   12360           25 :                 {
   12361           25 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12362           25 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1683;
   12363           25 :                   {
   12364           25 :                     if (! tree_invariant_p (captures[2])) goto next_after_fail1683;
   12365           25 :                     tree res_op0;
   12366           25 :                     {
   12367           25 :                       tree _o1[2], _r1;
   12368           25 :                       _o1[0] = captures[0];
   12369           25 :                       _o1[1] = unshare_expr (captures[2]);
   12370           25 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12371           25 :                       res_op0 = _r1;
   12372              :                     }
   12373           25 :                     tree res_op1;
   12374           25 :                     {
   12375           25 :                       tree _o1[2], _r1;
   12376           25 :                       _o1[0] = captures[1];
   12377           25 :                       _o1[1] = captures[2];
   12378           25 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12379           25 :                       if (EXPR_P (_r1))
   12380            0 :                         goto next_after_fail1683;
   12381           25 :                       res_op1 = _r1;
   12382              :                     }
   12383           25 :                     tree _r;
   12384           25 :                     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
   12385           25 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1021, __FILE__, __LINE__, true);
   12386           25 :                     return _r;
   12387              :                   }
   12388            0 : next_after_fail1683:;
   12389              :                 }
   12390              :               }
   12391              :           }
   12392              :         break;
   12393              :       }
   12394      6433241 :     default:;
   12395              :     }
   12396      6433241 :   switch (TREE_CODE (_p1))
   12397              :     {
   12398          476 :     case BIT_IOR_EXPR:
   12399          476 :       {
   12400          476 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12401          476 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12402          476 :         {
   12403          476 :           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
   12404          476 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12405          476 :           if (res) return res;
   12406              :         }
   12407          476 :         {
   12408          476 :           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
   12409          476 :           tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, BIT_AND_EXPR);
   12410          476 :           if (res) return res;
   12411              :         }
   12412          475 :         break;
   12413              :       }
   12414      6433240 :     default:;
   12415              :     }
   12416      6433240 :   switch (TREE_CODE (_p0))
   12417              :     {
   12418         1583 :     case BIT_AND_EXPR:
   12419         1583 :       {
   12420         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12421         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12422         1583 :         if (CONSTANT_CLASS_P (_q21))
   12423              :           {
   12424          508 :             if (CONSTANT_CLASS_P (_p1))
   12425              :               {
   12426          441 :                 {
   12427          441 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12428          441 :                   tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12429          441 :                   if (res) return res;
   12430              :                 }
   12431              :               }
   12432              :           }
   12433              :         break;
   12434              :       }
   12435      6432799 :     default:;
   12436              :     }
   12437      6432799 :   {
   12438      6432799 :     tree _p1_pops[1];
   12439      6432799 :     if (tree_logical_inverted_value (_p1, _p1_pops))
   12440              :       {
   12441          897 :         tree _q30 = _p1_pops[0];
   12442          897 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12443              :           {
   12444            1 :             {
   12445            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   12446            1 :               tree res = generic_simplify_469 (loc, type, _p0, _p1, captures);
   12447            1 :               if (res) return res;
   12448              :             }
   12449              :           }
   12450              :       }
   12451              :   }
   12452      6432798 :   switch (TREE_CODE (_p0))
   12453              :     {
   12454      1974304 :     CASE_CONVERT:
   12455      1974304 :       {
   12456      1974304 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12457      1974304 :         switch (TREE_CODE (_q20))
   12458              :           {
   12459         6051 :           case NEGATE_EXPR:
   12460         6051 :             {
   12461         6051 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12462         6051 :               if (tree_zero_one_valued_p (_q30))
   12463              :                 {
   12464            2 :                   {
   12465            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
   12466            2 :                     tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   12467            2 :                     if (res) return res;
   12468              :                   }
   12469              :                 }
   12470              :               break;
   12471              :             }
   12472              :           default:;
   12473              :           }
   12474              :         break;
   12475              :       }
   12476      6432796 :     default:;
   12477              :     }
   12478      6432796 : {
   12479      6432796 :   tree _p0_pops[1];
   12480      6432796 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   12481              :     {
   12482          526 :       tree _q20 = _p0_pops[0];
   12483          526 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12484              :         {
   12485           12 :           {
   12486           12 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   12487           12 :             tree res = generic_simplify_469 (loc, type, _p0, _p1, captures);
   12488           12 :             if (res) return res;
   12489              :           }
   12490              :         }
   12491              :     }
   12492              : }
   12493      6432784 :   switch (TREE_CODE (_p1))
   12494              :     {
   12495       956946 :     CASE_CONVERT:
   12496       956946 :       {
   12497       956946 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12498       956946 :         switch (TREE_CODE (_q30))
   12499              :           {
   12500          108 :           case NEGATE_EXPR:
   12501          108 :             {
   12502          108 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12503          108 :               if (tree_zero_one_valued_p (_q40))
   12504              :                 {
   12505           18 :                   {
   12506           18 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
   12507           18 :                     tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   12508           18 :                     if (res) return res;
   12509              :                   }
   12510              :                 }
   12511              :               break;
   12512              :             }
   12513              :           default:;
   12514              :           }
   12515              :         break;
   12516              :       }
   12517        10638 :     case NEGATE_EXPR:
   12518        10638 :       {
   12519        10638 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12520        10638 :         if (tree_zero_one_valued_p (_q30))
   12521              :           {
   12522           24 :             {
   12523           24 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
   12524           24 :               tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
   12525           24 :               if (res) return res;
   12526              :             }
   12527              :           }
   12528              :         break;
   12529              :       }
   12530      6432742 :     default:;
   12531              :     }
   12532      6432742 :   switch (TREE_CODE (_p0))
   12533              :     {
   12534        47132 :     case NEGATE_EXPR:
   12535        47132 :       {
   12536        47132 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12537        47132 :         switch (TREE_CODE (_q20))
   12538              :           {
   12539         5532 :           CASE_CONVERT:
   12540         5532 :             {
   12541         5532 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12542         5532 :               switch (TREE_CODE (_q30))
   12543              :                 {
   12544            0 :                 case LT_EXPR:
   12545            0 :                   {
   12546            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12547            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12548            0 :                     {
   12549            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12550            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, LT_EXPR);
   12551            0 :                       if (res) return res;
   12552              :                     }
   12553            0 :                     break;
   12554              :                   }
   12555            0 :                 case LE_EXPR:
   12556            0 :                   {
   12557            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12558            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12559            0 :                     {
   12560            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12561            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, LE_EXPR);
   12562            0 :                       if (res) return res;
   12563              :                     }
   12564            0 :                     break;
   12565              :                   }
   12566            0 :                 case EQ_EXPR:
   12567            0 :                   {
   12568            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12569            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12570            0 :                     {
   12571            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12572            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12573            0 :                       if (res) return res;
   12574              :                     }
   12575            0 :                     break;
   12576              :                   }
   12577            0 :                 case NE_EXPR:
   12578            0 :                   {
   12579            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12580            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12581            0 :                     {
   12582            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12583            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, NE_EXPR);
   12584            0 :                       if (res) return res;
   12585              :                     }
   12586            0 :                     break;
   12587              :                   }
   12588            0 :                 case GE_EXPR:
   12589            0 :                   {
   12590            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12591            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12592            0 :                     {
   12593            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12594            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, GE_EXPR);
   12595            0 :                       if (res) return res;
   12596              :                     }
   12597            0 :                     break;
   12598              :                   }
   12599            0 :                 case GT_EXPR:
   12600            0 :                   {
   12601            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12602            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12603            0 :                     {
   12604            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12605            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, GT_EXPR);
   12606            0 :                       if (res) return res;
   12607              :                     }
   12608            0 :                     break;
   12609              :                   }
   12610            0 :                 case UNORDERED_EXPR:
   12611            0 :                   {
   12612            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12613            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12614            0 :                     {
   12615            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12616            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   12617            0 :                       if (res) return res;
   12618              :                     }
   12619            0 :                     break;
   12620              :                   }
   12621            0 :                 case ORDERED_EXPR:
   12622            0 :                   {
   12623            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12624            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12625            0 :                     {
   12626            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12627            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   12628            0 :                       if (res) return res;
   12629              :                     }
   12630            0 :                     break;
   12631              :                   }
   12632            0 :                 case UNLT_EXPR:
   12633            0 :                   {
   12634            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12635            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12636            0 :                     {
   12637            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12638            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12639            0 :                       if (res) return res;
   12640              :                     }
   12641            0 :                     break;
   12642              :                   }
   12643            0 :                 case UNLE_EXPR:
   12644            0 :                   {
   12645            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12646            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12647            0 :                     {
   12648            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12649            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12650            0 :                       if (res) return res;
   12651              :                     }
   12652            0 :                     break;
   12653              :                   }
   12654            0 :                 case UNGT_EXPR:
   12655            0 :                   {
   12656            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12657            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12658            0 :                     {
   12659            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12660            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   12661            0 :                       if (res) return res;
   12662              :                     }
   12663            0 :                     break;
   12664              :                   }
   12665            0 :                 case UNGE_EXPR:
   12666            0 :                   {
   12667            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12668            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12669            0 :                     {
   12670            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12671            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12672            0 :                       if (res) return res;
   12673              :                     }
   12674            0 :                     break;
   12675              :                   }
   12676            0 :                 case UNEQ_EXPR:
   12677            0 :                   {
   12678            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12679            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12680            0 :                     {
   12681            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12682            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   12683            0 :                       if (res) return res;
   12684              :                     }
   12685            0 :                     break;
   12686              :                   }
   12687            0 :                 case LTGT_EXPR:
   12688            0 :                   {
   12689            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12690            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12691            0 :                     {
   12692            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12693            0 :                       tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   12694            0 :                       if (res) return res;
   12695              :                     }
   12696            0 :                     break;
   12697              :                   }
   12698              :                 default:;
   12699              :                 }
   12700              :               break;
   12701              :             }
   12702              :           default:;
   12703              :           }
   12704              :         break;
   12705              :       }
   12706      6432742 :     default:;
   12707              :     }
   12708      6432742 :   switch (TREE_CODE (_p1))
   12709              :     {
   12710        10614 :     case NEGATE_EXPR:
   12711        10614 :       {
   12712        10614 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12713        10614 :         switch (TREE_CODE (_q30))
   12714              :           {
   12715           65 :           CASE_CONVERT:
   12716           65 :             {
   12717           65 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12718           65 :               switch (TREE_CODE (_q40))
   12719              :                 {
   12720            0 :                 case LT_EXPR:
   12721            0 :                   {
   12722            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12723            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12724            0 :                     {
   12725            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12726            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR);
   12727            0 :                       if (res) return res;
   12728              :                     }
   12729            0 :                     break;
   12730              :                   }
   12731            0 :                 case LE_EXPR:
   12732            0 :                   {
   12733            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12734            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12735            0 :                     {
   12736            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12737            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR);
   12738            0 :                       if (res) return res;
   12739              :                     }
   12740            0 :                     break;
   12741              :                   }
   12742            0 :                 case EQ_EXPR:
   12743            0 :                   {
   12744            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12745            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12746            0 :                     {
   12747            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12748            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12749            0 :                       if (res) return res;
   12750              :                     }
   12751            0 :                     break;
   12752              :                   }
   12753            0 :                 case NE_EXPR:
   12754            0 :                   {
   12755            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12756            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12757            0 :                     {
   12758            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12759            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR);
   12760            0 :                       if (res) return res;
   12761              :                     }
   12762            0 :                     break;
   12763              :                   }
   12764            0 :                 case GE_EXPR:
   12765            0 :                   {
   12766            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12767            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12768            0 :                     {
   12769            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12770            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR);
   12771            0 :                       if (res) return res;
   12772              :                     }
   12773            0 :                     break;
   12774              :                   }
   12775            0 :                 case GT_EXPR:
   12776            0 :                   {
   12777            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12778            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12779            0 :                     {
   12780            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12781            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR);
   12782            0 :                       if (res) return res;
   12783              :                     }
   12784            0 :                     break;
   12785              :                   }
   12786            0 :                 case UNORDERED_EXPR:
   12787            0 :                   {
   12788            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12789            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12790            0 :                     {
   12791            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12792            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   12793            0 :                       if (res) return res;
   12794              :                     }
   12795            0 :                     break;
   12796              :                   }
   12797            0 :                 case ORDERED_EXPR:
   12798            0 :                   {
   12799            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12800            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12801            0 :                     {
   12802            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12803            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   12804            0 :                       if (res) return res;
   12805              :                     }
   12806            0 :                     break;
   12807              :                   }
   12808            0 :                 case UNLT_EXPR:
   12809            0 :                   {
   12810            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12811            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12812            0 :                     {
   12813            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12814            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12815            0 :                       if (res) return res;
   12816              :                     }
   12817            0 :                     break;
   12818              :                   }
   12819            0 :                 case UNLE_EXPR:
   12820            0 :                   {
   12821            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12822            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12823            0 :                     {
   12824            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12825            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12826            0 :                       if (res) return res;
   12827              :                     }
   12828            0 :                     break;
   12829              :                   }
   12830            0 :                 case UNGT_EXPR:
   12831            0 :                   {
   12832            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12833            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12834            0 :                     {
   12835            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12836            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   12837            0 :                       if (res) return res;
   12838              :                     }
   12839            0 :                     break;
   12840              :                   }
   12841            0 :                 case UNGE_EXPR:
   12842            0 :                   {
   12843            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12844            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12845            0 :                     {
   12846            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12847            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12848            0 :                       if (res) return res;
   12849              :                     }
   12850            0 :                     break;
   12851              :                   }
   12852            0 :                 case UNEQ_EXPR:
   12853            0 :                   {
   12854            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12855            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12856            0 :                     {
   12857            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12858            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   12859            0 :                       if (res) return res;
   12860              :                     }
   12861            0 :                     break;
   12862              :                   }
   12863            0 :                 case LTGT_EXPR:
   12864            0 :                   {
   12865            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12866            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12867            0 :                     {
   12868            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12869            0 :                       tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   12870            0 :                       if (res) return res;
   12871              :                     }
   12872            0 :                     break;
   12873              :                   }
   12874              :                 default:;
   12875              :                 }
   12876              :               break;
   12877              :             }
   12878              :           default:;
   12879              :           }
   12880              :         break;
   12881              :       }
   12882      6432742 :     default:;
   12883              :     }
   12884      6432742 :   switch (TREE_CODE (_p0))
   12885              :     {
   12886      1974300 :     CASE_CONVERT:
   12887      1974300 :       {
   12888      1974300 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12889      1974300 :         switch (TREE_CODE (_p1))
   12890              :           {
   12891       912894 :           case INTEGER_CST:
   12892       912894 :             {
   12893       912894 :               {
   12894       912894 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12895       912894 :                 tree res = generic_simplify_472 (loc, type, _p0, _p1, captures);
   12896       912894 :                 if (res) return res;
   12897              :               }
   12898       907423 :               break;
   12899              :             }
   12900              :           default:;
   12901              :           }
   12902              :         break;
   12903              :       }
   12904      6427271 :     default:;
   12905              :     }
   12906      6427271 :   switch (TREE_CODE (_p1))
   12907              :     {
   12908      4426438 :     case INTEGER_CST:
   12909      4426438 :       {
   12910      4426438 :         {
   12911      4426438 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12912      4426438 :           tree res = generic_simplify_472 (loc, type, _p0, _p1, captures);
   12913      4426438 :           if (res) return res;
   12914              :         }
   12915      4426438 :         break;
   12916              :       }
   12917      6427271 :     default:;
   12918              :     }
   12919      6427271 :   switch (TREE_CODE (_p0))
   12920              :     {
   12921          404 :     case GT_EXPR:
   12922          404 :       {
   12923          404 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12924          404 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12925          404 :         switch (TREE_CODE (_p1))
   12926              :           {
   12927           59 :           case EQ_EXPR:
   12928           59 :             {
   12929           59 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12930           59 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12931           59 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12932              :                 {
   12933            8 :                   if (tree_min_value (_q51))
   12934              :                     {
   12935            4 :                       {
   12936            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   12937            4 :                         tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12938            4 :                         if (res) return res;
   12939              :                       }
   12940              :                     }
   12941              :                 }
   12942           55 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12943              :                 {
   12944            0 :                   if (tree_max_value (_q51))
   12945              :                     {
   12946            0 :                       {
   12947            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   12948            0 :                         tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12949            0 :                         if (res) return res;
   12950              :                       }
   12951              :                     }
   12952              :                 }
   12953              :               break;
   12954              :             }
   12955            4 :           case NE_EXPR:
   12956            4 :             {
   12957            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12958            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12959            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12960              :                 {
   12961            4 :                   if (tree_min_value (_q51))
   12962              :                     {
   12963            4 :                       {
   12964            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   12965            4 :                         tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR);
   12966            4 :                         if (res) return res;
   12967              :                       }
   12968              :                     }
   12969              :                 }
   12970            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12971              :                 {
   12972            0 :                   if (tree_max_value (_q51))
   12973              :                     {
   12974            0 :                       {
   12975            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   12976            0 :                         tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, NE_EXPR);
   12977            0 :                         if (res) return res;
   12978              :                       }
   12979              :                     }
   12980              :                 }
   12981              :               break;
   12982              :             }
   12983          396 :           default:;
   12984              :           }
   12985          396 :         switch (TREE_CODE (_q20))
   12986              :           {
   12987            0 :           CASE_CONVERT:
   12988            0 :             {
   12989            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12990            0 :               switch (TREE_CODE (_p1))
   12991              :                 {
   12992            0 :                 case EQ_EXPR:
   12993            0 :                   {
   12994            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12995            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12996            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12997              :                       {
   12998            0 :                         {
   12999            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13000            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13001            0 :                           if (res) return res;
   13002              :                         }
   13003              :                       }
   13004            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13005              :                       {
   13006            0 :                         {
   13007            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13008            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13009            0 :                           if (res) return res;
   13010              :                         }
   13011              :                       }
   13012              :                     break;
   13013              :                   }
   13014            0 :                 case NE_EXPR:
   13015            0 :                   {
   13016            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13017            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13018            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13019              :                       {
   13020            0 :                         {
   13021            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13022            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13023            0 :                           if (res) return res;
   13024              :                         }
   13025              :                       }
   13026            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13027              :                       {
   13028            0 :                         {
   13029            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13030            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13031            0 :                           if (res) return res;
   13032              :                         }
   13033              :                       }
   13034              :                     break;
   13035              :                   }
   13036              :                 default:;
   13037              :                 }
   13038              :               break;
   13039              :             }
   13040          396 :           default:;
   13041              :           }
   13042          396 :         switch (TREE_CODE (_q21))
   13043              :           {
   13044            0 :           CASE_CONVERT:
   13045            0 :             {
   13046            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   13047            0 :               switch (TREE_CODE (_p1))
   13048              :                 {
   13049            0 :                 case EQ_EXPR:
   13050            0 :                   {
   13051            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13052            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13053            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13054              :                       {
   13055            0 :                         {
   13056            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13057            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13058            0 :                           if (res) return res;
   13059              :                         }
   13060              :                       }
   13061            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13062              :                       {
   13063            0 :                         {
   13064            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13065            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13066            0 :                           if (res) return res;
   13067              :                         }
   13068              :                       }
   13069              :                     break;
   13070              :                   }
   13071            0 :                 case NE_EXPR:
   13072            0 :                   {
   13073            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13074            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13075            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13076              :                       {
   13077            0 :                         {
   13078            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13079            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13080            0 :                           if (res) return res;
   13081              :                         }
   13082              :                       }
   13083            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13084              :                       {
   13085            0 :                         {
   13086            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13087            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13088            0 :                           if (res) return res;
   13089              :                         }
   13090              :                       }
   13091              :                     break;
   13092              :                   }
   13093              :                 default:;
   13094              :                 }
   13095              :               break;
   13096              :             }
   13097          396 :           default:;
   13098              :           }
   13099          396 :         switch (TREE_CODE (_p1))
   13100              :           {
   13101           55 :           case EQ_EXPR:
   13102           55 :             {
   13103           55 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13104           55 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13105           55 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13106              :                 {
   13107            4 :                   {
   13108            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13109            4 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13110            4 :                     if (res) return res;
   13111              :                   }
   13112              :                 }
   13113           55 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13114              :                 {
   13115            0 :                   {
   13116            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13117            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13118            0 :                     if (res) return res;
   13119              :                   }
   13120              :                 }
   13121           55 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13122              :                 {
   13123            0 :                   {
   13124            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13125            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13126            0 :                     if (res) return res;
   13127              :                   }
   13128              :                 }
   13129           55 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13130              :                 {
   13131            0 :                   {
   13132            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13133            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13134            0 :                     if (res) return res;
   13135              :                   }
   13136              :                 }
   13137              :               break;
   13138              :             }
   13139            0 :           case NE_EXPR:
   13140            0 :             {
   13141            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13142            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13143            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13144              :                 {
   13145            0 :                   {
   13146            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13147            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13148            0 :                     if (res) return res;
   13149              :                   }
   13150              :                 }
   13151            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13152              :                 {
   13153            0 :                   {
   13154            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13155            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13156            0 :                     if (res) return res;
   13157              :                   }
   13158              :                 }
   13159            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13160              :                 {
   13161            0 :                   {
   13162            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13163            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13164            0 :                     if (res) return res;
   13165              :                   }
   13166              :                 }
   13167            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13168              :                 {
   13169            0 :                   {
   13170            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13171            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13172            0 :                     if (res) return res;
   13173              :                   }
   13174              :                 }
   13175              :               break;
   13176              :             }
   13177           67 :           case LT_EXPR:
   13178           67 :             {
   13179           67 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13180           67 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13181           67 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13182              :                 {
   13183            4 :                   {
   13184            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13185            4 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13186            4 :                     if (res) return res;
   13187              :                   }
   13188              :                 }
   13189           67 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13190              :                 {
   13191            0 :                   {
   13192            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13193            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13194            0 :                     if (res) return res;
   13195              :                   }
   13196              :                 }
   13197           67 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13198              :                 {
   13199            0 :                   {
   13200            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13201            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13202            0 :                     if (res) return res;
   13203              :                   }
   13204              :                 }
   13205           67 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13206              :                 {
   13207            4 :                   {
   13208            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13209            4 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13210            4 :                     if (res) return res;
   13211              :                   }
   13212              :                 }
   13213              :               break;
   13214              :             }
   13215           72 :           case LE_EXPR:
   13216           72 :             {
   13217           72 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13218           72 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13219           72 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13220              :                 {
   13221           23 :                   {
   13222           23 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13223           23 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13224           23 :                     if (res) return res;
   13225              :                   }
   13226              :                 }
   13227           72 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13228              :                 {
   13229            0 :                   {
   13230            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13231            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13232            0 :                     if (res) return res;
   13233              :                   }
   13234              :                 }
   13235           72 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13236              :                 {
   13237            0 :                   {
   13238            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13239            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13240            0 :                     if (res) return res;
   13241              :                   }
   13242              :                 }
   13243           72 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13244              :                 {
   13245            0 :                   {
   13246            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13247            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13248            0 :                     if (res) return res;
   13249              :                   }
   13250              :                 }
   13251              :               break;
   13252              :             }
   13253          133 :           case GT_EXPR:
   13254          133 :             {
   13255          133 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13256          133 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13257          133 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13258              :                 {
   13259            0 :                   {
   13260            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13261            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13262            0 :                     if (res) return res;
   13263              :                   }
   13264              :                 }
   13265          133 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13266              :                 {
   13267            0 :                   {
   13268            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13269            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13270            0 :                     if (res) return res;
   13271              :                   }
   13272              :                 }
   13273          133 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13274              :                 {
   13275            0 :                   {
   13276            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13277            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13278            0 :                     if (res) return res;
   13279              :                   }
   13280              :                 }
   13281          133 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13282              :                 {
   13283           83 :                   {
   13284           83 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13285           83 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13286           83 :                     if (res) return res;
   13287              :                   }
   13288              :                 }
   13289              :               break;
   13290              :             }
   13291            0 :           case GE_EXPR:
   13292            0 :             {
   13293            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13294            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13295            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13296              :                 {
   13297            0 :                   {
   13298            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13299            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13300            0 :                     if (res) return res;
   13301              :                   }
   13302              :                 }
   13303            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13304              :                 {
   13305            0 :                   {
   13306            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13307            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13308            0 :                     if (res) return res;
   13309              :                   }
   13310              :                 }
   13311            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13312              :                 {
   13313            0 :                   {
   13314            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13315            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13316            0 :                     if (res) return res;
   13317              :                   }
   13318              :                 }
   13319            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13320              :                 {
   13321            0 :                   {
   13322            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13323            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13324            0 :                     if (res) return res;
   13325              :                   }
   13326              :                 }
   13327              :               break;
   13328              :             }
   13329              :           default:;
   13330              :           }
   13331              :         break;
   13332              :       }
   13333           92 :     case LT_EXPR:
   13334           92 :       {
   13335           92 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13336           92 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13337           92 :         switch (TREE_CODE (_p1))
   13338              :           {
   13339           35 :           case EQ_EXPR:
   13340           35 :             {
   13341           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13342           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13343           35 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13344              :                 {
   13345            0 :                   if (tree_min_value (_q51))
   13346              :                     {
   13347            0 :                       {
   13348            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13349            0 :                         tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13350            0 :                         if (res) return res;
   13351              :                       }
   13352              :                     }
   13353              :                 }
   13354           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13355              :                 {
   13356            4 :                   if (tree_max_value (_q51))
   13357              :                     {
   13358            4 :                       {
   13359            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   13360            4 :                         tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13361            4 :                         if (res) return res;
   13362              :                       }
   13363              :                     }
   13364              :                 }
   13365              :               break;
   13366              :             }
   13367            6 :           case NE_EXPR:
   13368            6 :             {
   13369            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13370            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13371            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13372              :                 {
   13373            0 :                   if (tree_min_value (_q51))
   13374              :                     {
   13375            0 :                       {
   13376            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13377            0 :                         tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, NE_EXPR);
   13378            0 :                         if (res) return res;
   13379              :                       }
   13380              :                     }
   13381              :                 }
   13382            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13383              :                 {
   13384            4 :                   if (tree_max_value (_q51))
   13385              :                     {
   13386            4 :                       {
   13387            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   13388            4 :                         tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, NE_EXPR);
   13389            4 :                         if (res) return res;
   13390              :                       }
   13391              :                     }
   13392              :                 }
   13393              :               break;
   13394              :             }
   13395           84 :           default:;
   13396              :           }
   13397           84 :         switch (TREE_CODE (_q20))
   13398              :           {
   13399            8 :           CASE_CONVERT:
   13400            8 :             {
   13401            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13402            8 :               switch (TREE_CODE (_p1))
   13403              :                 {
   13404            0 :                 case EQ_EXPR:
   13405            0 :                   {
   13406            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13407            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13408            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13409              :                       {
   13410            0 :                         {
   13411            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13412            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13413            0 :                           if (res) return res;
   13414              :                         }
   13415              :                       }
   13416            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13417              :                       {
   13418            0 :                         {
   13419            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13420            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13421            0 :                           if (res) return res;
   13422              :                         }
   13423              :                       }
   13424              :                     break;
   13425              :                   }
   13426            0 :                 case NE_EXPR:
   13427            0 :                   {
   13428            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13429            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13430            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13431              :                       {
   13432            0 :                         {
   13433            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13434            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13435            0 :                           if (res) return res;
   13436              :                         }
   13437              :                       }
   13438            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13439              :                       {
   13440            0 :                         {
   13441            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13442            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13443            0 :                           if (res) return res;
   13444              :                         }
   13445              :                       }
   13446              :                     break;
   13447              :                   }
   13448              :                 default:;
   13449              :                 }
   13450              :               break;
   13451              :             }
   13452           84 :           default:;
   13453              :           }
   13454           84 :         switch (TREE_CODE (_q21))
   13455              :           {
   13456            5 :           CASE_CONVERT:
   13457            5 :             {
   13458            5 :               tree _q40 = TREE_OPERAND (_q21, 0);
   13459            5 :               switch (TREE_CODE (_p1))
   13460              :                 {
   13461            0 :                 case EQ_EXPR:
   13462            0 :                   {
   13463            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13464            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13465            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13466              :                       {
   13467            0 :                         {
   13468            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13469            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13470            0 :                           if (res) return res;
   13471              :                         }
   13472              :                       }
   13473            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13474              :                       {
   13475            0 :                         {
   13476            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13477            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13478            0 :                           if (res) return res;
   13479              :                         }
   13480              :                       }
   13481              :                     break;
   13482              :                   }
   13483            0 :                 case NE_EXPR:
   13484            0 :                   {
   13485            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13486            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13487            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13488              :                       {
   13489            0 :                         {
   13490            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13491            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13492            0 :                           if (res) return res;
   13493              :                         }
   13494              :                       }
   13495            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13496              :                       {
   13497            0 :                         {
   13498            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13499            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13500            0 :                           if (res) return res;
   13501              :                         }
   13502              :                       }
   13503              :                     break;
   13504              :                   }
   13505              :                 default:;
   13506              :                 }
   13507              :               break;
   13508              :             }
   13509           84 :           default:;
   13510              :           }
   13511           84 :         switch (TREE_CODE (_p1))
   13512              :           {
   13513           31 :           case EQ_EXPR:
   13514           31 :             {
   13515           31 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13516           31 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13517           31 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13518              :                 {
   13519            0 :                   {
   13520            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13521            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13522            0 :                     if (res) return res;
   13523              :                   }
   13524              :                 }
   13525           31 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13526              :                 {
   13527            0 :                   {
   13528            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13529            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13530            0 :                     if (res) return res;
   13531              :                   }
   13532              :                 }
   13533           31 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13534              :                 {
   13535            0 :                   {
   13536            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13537            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13538            0 :                     if (res) return res;
   13539              :                   }
   13540              :                 }
   13541           31 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13542              :                 {
   13543            0 :                   {
   13544            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13545            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13546            0 :                     if (res) return res;
   13547              :                   }
   13548              :                 }
   13549              :               break;
   13550              :             }
   13551            2 :           case NE_EXPR:
   13552            2 :             {
   13553            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13554            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13555            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13556              :                 {
   13557            0 :                   {
   13558            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13559            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13560            0 :                     if (res) return res;
   13561              :                   }
   13562              :                 }
   13563            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13564              :                 {
   13565            0 :                   {
   13566            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13567            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13568            0 :                     if (res) return res;
   13569              :                   }
   13570              :                 }
   13571            2 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13572              :                 {
   13573            0 :                   {
   13574            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13575            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13576            0 :                     if (res) return res;
   13577              :                   }
   13578              :                 }
   13579            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13580              :                 {
   13581            2 :                   {
   13582            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13583            2 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13584            2 :                     if (res) return res;
   13585              :                   }
   13586              :                 }
   13587              :               break;
   13588              :             }
   13589            8 :           case LT_EXPR:
   13590            8 :             {
   13591            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13592            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13593            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13594              :                 {
   13595            0 :                   {
   13596            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13597            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13598            0 :                     if (res) return res;
   13599              :                   }
   13600              :                 }
   13601            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13602              :                 {
   13603            0 :                   {
   13604            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13605            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13606            0 :                     if (res) return res;
   13607              :                   }
   13608              :                 }
   13609            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13610              :                 {
   13611            0 :                   {
   13612            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13613            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13614            0 :                     if (res) return res;
   13615              :                   }
   13616              :                 }
   13617            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13618              :                 {
   13619            0 :                   {
   13620            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13621            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13622            0 :                     if (res) return res;
   13623              :                   }
   13624              :                 }
   13625              :               break;
   13626              :             }
   13627            0 :           case LE_EXPR:
   13628            0 :             {
   13629            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13630            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13631            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13632              :                 {
   13633            0 :                   {
   13634            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13635            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13636            0 :                     if (res) return res;
   13637              :                   }
   13638              :                 }
   13639            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13640              :                 {
   13641            0 :                   {
   13642            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13643            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13644            0 :                     if (res) return res;
   13645              :                   }
   13646              :                 }
   13647            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13648              :                 {
   13649            0 :                   {
   13650            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13651            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13652            0 :                     if (res) return res;
   13653              :                   }
   13654              :                 }
   13655            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13656              :                 {
   13657            0 :                   {
   13658            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13659            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13660            0 :                     if (res) return res;
   13661              :                   }
   13662              :                 }
   13663              :               break;
   13664              :             }
   13665            5 :           case GT_EXPR:
   13666            5 :             {
   13667            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13668            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13669            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13670              :                 {
   13671            4 :                   {
   13672            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13673            4 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13674            4 :                     if (res) return res;
   13675              :                   }
   13676              :                 }
   13677            1 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13678              :                 {
   13679            0 :                   {
   13680            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13681            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13682            0 :                     if (res) return res;
   13683              :                   }
   13684              :                 }
   13685            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13686              :                 {
   13687            0 :                   {
   13688            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13689            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13690            0 :                     if (res) return res;
   13691              :                   }
   13692              :                 }
   13693            1 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13694              :                 {
   13695            0 :                   {
   13696            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13697            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13698            0 :                     if (res) return res;
   13699              :                   }
   13700              :                 }
   13701              :               break;
   13702              :             }
   13703            0 :           case GE_EXPR:
   13704            0 :             {
   13705            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13706            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13707            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13708              :                 {
   13709            0 :                   {
   13710            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13711            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13712            0 :                     if (res) return res;
   13713              :                   }
   13714              :                 }
   13715            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13716              :                 {
   13717            0 :                   {
   13718            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13719            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13720            0 :                     if (res) return res;
   13721              :                   }
   13722              :                 }
   13723            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13724              :                 {
   13725            0 :                   {
   13726            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13727            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13728            0 :                     if (res) return res;
   13729              :                   }
   13730              :                 }
   13731            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13732              :                 {
   13733            0 :                   {
   13734            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13735            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13736            0 :                     if (res) return res;
   13737              :                   }
   13738              :                 }
   13739              :               break;
   13740              :             }
   13741              :           default:;
   13742              :           }
   13743              :         break;
   13744              :       }
   13745         1072 :     case EQ_EXPR:
   13746         1072 :       {
   13747         1072 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13748         1072 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13749         1072 :         if (tree_min_value (_q21))
   13750              :           {
   13751           40 :             switch (TREE_CODE (_p1))
   13752              :               {
   13753            0 :               case GT_EXPR:
   13754            0 :                 {
   13755            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13756            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13757            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13758              :                     {
   13759            0 :                       {
   13760            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   13761            0 :                         tree res = generic_simplify_478 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13762            0 :                         if (res) return res;
   13763              :                       }
   13764              :                     }
   13765              :                   break;
   13766              :                 }
   13767           14 :               case LT_EXPR:
   13768           14 :                 {
   13769           14 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13770           14 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13771           14 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13772              :                     {
   13773            0 :                       {
   13774            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   13775            0 :                         tree res = generic_simplify_478 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13776            0 :                         if (res) return res;
   13777              :                       }
   13778              :                     }
   13779              :                   break;
   13780              :                 }
   13781            0 :               case LE_EXPR:
   13782            0 :                 {
   13783            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13784            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13785            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13786              :                     {
   13787            0 :                       {
   13788            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
   13789            0 :                         tree res = generic_simplify_479 (loc, type, _p0, _p1, captures);
   13790            0 :                         if (res) return res;
   13791              :                       }
   13792              :                     }
   13793              :                   break;
   13794              :                 }
   13795            0 :               case GE_EXPR:
   13796            0 :                 {
   13797            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13798            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13799            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13800              :                     {
   13801            0 :                       {
   13802            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
   13803            0 :                         tree res = generic_simplify_479 (loc, type, _p0, _p1, captures);
   13804            0 :                         if (res) return res;
   13805              :                       }
   13806              :                     }
   13807              :                   break;
   13808              :                 }
   13809              :               default:;
   13810              :               }
   13811              :           }
   13812         1072 :         if (tree_max_value (_q21))
   13813              :           {
   13814            0 :             switch (TREE_CODE (_p1))
   13815              :               {
   13816            0 :               case LT_EXPR:
   13817            0 :                 {
   13818            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13819            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13820            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13821              :                     {
   13822            0 :                       {
   13823            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   13824            0 :                         tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13825            0 :                         if (res) return res;
   13826              :                       }
   13827              :                     }
   13828              :                   break;
   13829              :                 }
   13830            0 :               case GT_EXPR:
   13831            0 :                 {
   13832            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13833            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13834            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13835              :                     {
   13836            0 :                       {
   13837            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   13838            0 :                         tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13839            0 :                         if (res) return res;
   13840              :                       }
   13841              :                     }
   13842              :                   break;
   13843              :                 }
   13844            0 :               case GE_EXPR:
   13845            0 :                 {
   13846            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13847            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13848            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13849              :                     {
   13850            0 :                       {
   13851            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
   13852            0 :                         tree res = generic_simplify_481 (loc, type, _p0, _p1, captures);
   13853            0 :                         if (res) return res;
   13854              :                       }
   13855              :                     }
   13856              :                   break;
   13857              :                 }
   13858            0 :               case LE_EXPR:
   13859            0 :                 {
   13860            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13861            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13862            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13863              :                     {
   13864            0 :                       {
   13865            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
   13866            0 :                         tree res = generic_simplify_481 (loc, type, _p0, _p1, captures);
   13867            0 :                         if (res) return res;
   13868              :                       }
   13869              :                     }
   13870              :                   break;
   13871              :                 }
   13872              :               default:;
   13873              :               }
   13874              :           }
   13875         1072 :         switch (TREE_CODE (_p1))
   13876              :           {
   13877          537 :           case EQ_EXPR:
   13878          537 :             {
   13879          537 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13880          537 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13881          537 :               switch (TREE_CODE (_q50))
   13882              :                 {
   13883            0 :                 CASE_CONVERT:
   13884            0 :                   {
   13885            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13886            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13887              :                       {
   13888            0 :                         {
   13889            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13890            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13891            0 :                           if (res) return res;
   13892              :                         }
   13893              :                       }
   13894            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13895              :                       {
   13896            0 :                         {
   13897            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13898            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13899            0 :                           if (res) return res;
   13900              :                         }
   13901              :                       }
   13902              :                     break;
   13903              :                   }
   13904          537 :                 default:;
   13905              :                 }
   13906          537 :               switch (TREE_CODE (_q51))
   13907              :                 {
   13908            0 :                 CASE_CONVERT:
   13909            0 :                   {
   13910            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13911            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13912              :                       {
   13913            0 :                         {
   13914            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13915            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13916            0 :                           if (res) return res;
   13917              :                         }
   13918              :                       }
   13919            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13920              :                       {
   13921            0 :                         {
   13922            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13923            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13924            0 :                           if (res) return res;
   13925              :                         }
   13926              :                       }
   13927              :                     break;
   13928              :                   }
   13929              :                 default:;
   13930              :                 }
   13931              :               break;
   13932              :             }
   13933           33 :           case NE_EXPR:
   13934           33 :             {
   13935           33 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13936           33 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13937           33 :               switch (TREE_CODE (_q50))
   13938              :                 {
   13939            0 :                 CASE_CONVERT:
   13940            0 :                   {
   13941            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13942            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13943              :                       {
   13944            0 :                         {
   13945            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13946            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13947            0 :                           if (res) return res;
   13948              :                         }
   13949              :                       }
   13950            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13951              :                       {
   13952            0 :                         {
   13953            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13954            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13955            0 :                           if (res) return res;
   13956              :                         }
   13957              :                       }
   13958              :                     break;
   13959              :                   }
   13960           33 :                 default:;
   13961              :                 }
   13962           33 :               switch (TREE_CODE (_q51))
   13963              :                 {
   13964            0 :                 CASE_CONVERT:
   13965            0 :                   {
   13966            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13967            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13968              :                       {
   13969            0 :                         {
   13970            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13971            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13972            0 :                           if (res) return res;
   13973              :                         }
   13974              :                       }
   13975            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13976              :                       {
   13977            0 :                         {
   13978            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13979            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13980            0 :                           if (res) return res;
   13981              :                         }
   13982              :                       }
   13983              :                     break;
   13984              :                   }
   13985              :                 default:;
   13986              :                 }
   13987              :               break;
   13988              :             }
   13989           19 :           case LT_EXPR:
   13990           19 :             {
   13991           19 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13992           19 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13993           19 :               switch (TREE_CODE (_q50))
   13994              :                 {
   13995            0 :                 CASE_CONVERT:
   13996            0 :                   {
   13997            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13998            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13999              :                       {
   14000            0 :                         {
   14001            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14002            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14003            0 :                           if (res) return res;
   14004              :                         }
   14005              :                       }
   14006            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14007              :                       {
   14008            0 :                         {
   14009            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14010            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14011            0 :                           if (res) return res;
   14012              :                         }
   14013              :                       }
   14014              :                     break;
   14015              :                   }
   14016           19 :                 default:;
   14017              :                 }
   14018           19 :               switch (TREE_CODE (_q51))
   14019              :                 {
   14020            0 :                 CASE_CONVERT:
   14021            0 :                   {
   14022            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14023            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14024              :                       {
   14025            0 :                         {
   14026            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14027            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14028            0 :                           if (res) return res;
   14029              :                         }
   14030              :                       }
   14031            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14032              :                       {
   14033            0 :                         {
   14034            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14035            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14036            0 :                           if (res) return res;
   14037              :                         }
   14038              :                       }
   14039              :                     break;
   14040              :                   }
   14041              :                 default:;
   14042              :                 }
   14043              :               break;
   14044              :             }
   14045           12 :           case GT_EXPR:
   14046           12 :             {
   14047           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14048           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14049           12 :               switch (TREE_CODE (_q50))
   14050              :                 {
   14051            0 :                 CASE_CONVERT:
   14052            0 :                   {
   14053            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14054            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14055              :                       {
   14056            0 :                         {
   14057            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14058            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14059            0 :                           if (res) return res;
   14060              :                         }
   14061              :                       }
   14062            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14063              :                       {
   14064            0 :                         {
   14065            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14066            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14067            0 :                           if (res) return res;
   14068              :                         }
   14069              :                       }
   14070              :                     break;
   14071              :                   }
   14072           12 :                 default:;
   14073              :                 }
   14074           12 :               switch (TREE_CODE (_q51))
   14075              :                 {
   14076            0 :                 CASE_CONVERT:
   14077            0 :                   {
   14078            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14079            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14080              :                       {
   14081            0 :                         {
   14082            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14083            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14084            0 :                           if (res) return res;
   14085              :                         }
   14086              :                       }
   14087            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14088              :                       {
   14089            0 :                         {
   14090            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14091            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14092            0 :                           if (res) return res;
   14093              :                         }
   14094              :                       }
   14095              :                     break;
   14096              :                   }
   14097              :                 default:;
   14098              :                 }
   14099              :               break;
   14100              :             }
   14101           36 :           case LE_EXPR:
   14102           36 :             {
   14103           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14104           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14105           36 :               switch (TREE_CODE (_q50))
   14106              :                 {
   14107           12 :                 CASE_CONVERT:
   14108           12 :                   {
   14109           12 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14110           12 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14111              :                       {
   14112            0 :                         {
   14113            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14114            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14115            0 :                           if (res) return res;
   14116              :                         }
   14117              :                       }
   14118           12 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14119              :                       {
   14120            0 :                         {
   14121            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14122            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14123            0 :                           if (res) return res;
   14124              :                         }
   14125              :                       }
   14126              :                     break;
   14127              :                   }
   14128           36 :                 default:;
   14129              :                 }
   14130           36 :               switch (TREE_CODE (_q51))
   14131              :                 {
   14132            0 :                 CASE_CONVERT:
   14133            0 :                   {
   14134            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14135            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14136              :                       {
   14137            0 :                         {
   14138            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14139            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14140            0 :                           if (res) return res;
   14141              :                         }
   14142              :                       }
   14143            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14144              :                       {
   14145            0 :                         {
   14146            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14147            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14148            0 :                           if (res) return res;
   14149              :                         }
   14150              :                       }
   14151              :                     break;
   14152              :                   }
   14153              :                 default:;
   14154              :                 }
   14155              :               break;
   14156              :             }
   14157            4 :           case GE_EXPR:
   14158            4 :             {
   14159            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14160            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14161            4 :               switch (TREE_CODE (_q50))
   14162              :                 {
   14163            0 :                 CASE_CONVERT:
   14164            0 :                   {
   14165            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14166            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14167              :                       {
   14168            0 :                         {
   14169            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14170            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14171            0 :                           if (res) return res;
   14172              :                         }
   14173              :                       }
   14174            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14175              :                       {
   14176            0 :                         {
   14177            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14178            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14179            0 :                           if (res) return res;
   14180              :                         }
   14181              :                       }
   14182              :                     break;
   14183              :                   }
   14184            4 :                 default:;
   14185              :                 }
   14186            4 :               switch (TREE_CODE (_q51))
   14187              :                 {
   14188            0 :                 CASE_CONVERT:
   14189            0 :                   {
   14190            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14191            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14192              :                       {
   14193            0 :                         {
   14194            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14195            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14196            0 :                           if (res) return res;
   14197              :                         }
   14198              :                       }
   14199            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14200              :                       {
   14201            0 :                         {
   14202            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14203            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14204            0 :                           if (res) return res;
   14205              :                         }
   14206              :                       }
   14207              :                     break;
   14208              :                   }
   14209              :                 default:;
   14210              :                 }
   14211              :               break;
   14212              :             }
   14213         1072 :           default:;
   14214              :           }
   14215         1072 :         switch (TREE_CODE (_q20))
   14216              :           {
   14217            0 :           CASE_CONVERT:
   14218            0 :             {
   14219            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14220            0 :               switch (TREE_CODE (_p1))
   14221              :                 {
   14222            0 :                 case EQ_EXPR:
   14223            0 :                   {
   14224            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14225            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14226            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14227              :                       {
   14228            0 :                         {
   14229            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   14230            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14231            0 :                           if (res) return res;
   14232              :                         }
   14233              :                       }
   14234            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   14235              :                       {
   14236            0 :                         {
   14237            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   14238            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14239            0 :                           if (res) return res;
   14240              :                         }
   14241              :                       }
   14242              :                     break;
   14243              :                   }
   14244            0 :                 case NE_EXPR:
   14245            0 :                   {
   14246            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14247            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14248            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14249              :                       {
   14250            0 :                         {
   14251            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   14252            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14253            0 :                           if (res) return res;
   14254              :                         }
   14255              :                       }
   14256            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   14257              :                       {
   14258            0 :                         {
   14259            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   14260            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14261            0 :                           if (res) return res;
   14262              :                         }
   14263              :                       }
   14264              :                     break;
   14265              :                   }
   14266              :                 default:;
   14267              :                 }
   14268              :               break;
   14269              :             }
   14270         1072 :           default:;
   14271              :           }
   14272         1072 :         switch (TREE_CODE (_q21))
   14273              :           {
   14274            0 :           CASE_CONVERT:
   14275            0 :             {
   14276            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   14277            0 :               switch (TREE_CODE (_p1))
   14278              :                 {
   14279            0 :                 case EQ_EXPR:
   14280            0 :                   {
   14281            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14282            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14283            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14284              :                       {
   14285            0 :                         {
   14286            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14287            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14288            0 :                           if (res) return res;
   14289              :                         }
   14290              :                       }
   14291            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14292              :                       {
   14293            0 :                         {
   14294            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14295            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14296            0 :                           if (res) return res;
   14297              :                         }
   14298              :                       }
   14299              :                     break;
   14300              :                   }
   14301            0 :                 case NE_EXPR:
   14302            0 :                   {
   14303            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14304            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14305            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14306              :                       {
   14307            0 :                         {
   14308            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14309            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14310            0 :                           if (res) return res;
   14311              :                         }
   14312              :                       }
   14313            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14314              :                       {
   14315            0 :                         {
   14316            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14317            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14318            0 :                           if (res) return res;
   14319              :                         }
   14320              :                       }
   14321              :                     break;
   14322              :                   }
   14323              :                 default:;
   14324              :                 }
   14325              :               break;
   14326              :             }
   14327         1072 :           default:;
   14328              :           }
   14329         1072 :         switch (TREE_CODE (_p1))
   14330              :           {
   14331          537 :           case EQ_EXPR:
   14332          537 :             {
   14333          537 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14334          537 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14335          537 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14336              :                 {
   14337            0 :                   {
   14338            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14339            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14340            0 :                     if (res) return res;
   14341              :                   }
   14342            0 :                   {
   14343            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14344            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14345            0 :                     if (res) return res;
   14346              :                   }
   14347              :                 }
   14348          537 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14349              :                 {
   14350            0 :                   {
   14351            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14352            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14353            0 :                     if (res) return res;
   14354              :                   }
   14355              :                 }
   14356          537 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14357              :                 {
   14358            0 :                   {
   14359            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14360            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14361            0 :                     if (res) return res;
   14362              :                   }
   14363            0 :                   {
   14364            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14365            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14366            0 :                     if (res) return res;
   14367              :                   }
   14368              :                 }
   14369          537 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14370              :                 {
   14371          178 :                   {
   14372          178 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14373          178 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14374          178 :                     if (res) return res;
   14375              :                   }
   14376          178 :                   {
   14377          178 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   14378          178 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14379          178 :                     if (res) return res;
   14380              :                   }
   14381              :                 }
   14382          537 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14383              :                 {
   14384            0 :                   {
   14385            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   14386            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14387            0 :                     if (res) return res;
   14388              :                   }
   14389              :                 }
   14390              :               break;
   14391              :             }
   14392           33 :           case NE_EXPR:
   14393           33 :             {
   14394           33 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14395           33 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14396           33 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14397              :                 {
   14398            0 :                   {
   14399            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14400            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14401            0 :                     if (res) return res;
   14402              :                   }
   14403            0 :                   {
   14404            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14405            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14406            0 :                     if (res) return res;
   14407              :                   }
   14408              :                 }
   14409           33 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14410              :                 {
   14411            0 :                   {
   14412            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14413            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14414            0 :                     if (res) return res;
   14415              :                   }
   14416              :                 }
   14417           33 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14418              :                 {
   14419            0 :                   {
   14420            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14421            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14422            0 :                     if (res) return res;
   14423              :                   }
   14424            0 :                   {
   14425            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14426            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14427            0 :                     if (res) return res;
   14428              :                   }
   14429              :                 }
   14430           33 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14431              :                 {
   14432           11 :                   {
   14433           11 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14434           11 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14435           11 :                     if (res) return res;
   14436              :                   }
   14437           11 :                   {
   14438           11 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   14439           11 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14440           11 :                     if (res) return res;
   14441              :                   }
   14442              :                 }
   14443           33 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14444              :                 {
   14445            0 :                   {
   14446            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   14447            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14448            0 :                     if (res) return res;
   14449              :                   }
   14450              :                 }
   14451              :               break;
   14452              :             }
   14453           19 :           case LT_EXPR:
   14454           19 :             {
   14455           19 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14456           19 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14457           19 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14458              :                 {
   14459            0 :                   {
   14460            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14461            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14462            0 :                     if (res) return res;
   14463              :                   }
   14464              :                 }
   14465           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14466              :                 {
   14467            0 :                   {
   14468            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14469            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14470            0 :                     if (res) return res;
   14471              :                   }
   14472              :                 }
   14473           19 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14474              :                 {
   14475            0 :                   {
   14476            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14477            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14478            0 :                     if (res) return res;
   14479              :                   }
   14480              :                 }
   14481           19 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14482              :                 {
   14483            0 :                   {
   14484            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14485            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14486            0 :                     if (res) return res;
   14487              :                   }
   14488              :                 }
   14489              :               break;
   14490              :             }
   14491           12 :           case GT_EXPR:
   14492           12 :             {
   14493           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14494           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14495           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14496              :                 {
   14497            0 :                   {
   14498            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14499            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14500            0 :                     if (res) return res;
   14501              :                   }
   14502              :                 }
   14503           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14504              :                 {
   14505            0 :                   {
   14506            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14507            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14508            0 :                     if (res) return res;
   14509              :                   }
   14510              :                 }
   14511           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14512              :                 {
   14513            0 :                   {
   14514            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14515            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14516            0 :                     if (res) return res;
   14517              :                   }
   14518              :                 }
   14519           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14520              :                 {
   14521            0 :                   {
   14522            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14523            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14524            0 :                     if (res) return res;
   14525              :                   }
   14526              :                 }
   14527              :               break;
   14528              :             }
   14529           36 :           case LE_EXPR:
   14530           36 :             {
   14531           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14532           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14533           36 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14534              :                 {
   14535            0 :                   {
   14536            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14537            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14538            0 :                     if (res) return res;
   14539              :                   }
   14540              :                 }
   14541           36 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14542              :                 {
   14543            0 :                   {
   14544            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14545            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14546            0 :                     if (res) return res;
   14547              :                   }
   14548              :                 }
   14549           36 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14550              :                 {
   14551            0 :                   {
   14552            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14553            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14554            0 :                     if (res) return res;
   14555              :                   }
   14556              :                 }
   14557           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14558              :                 {
   14559            0 :                   {
   14560            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14561            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14562            0 :                     if (res) return res;
   14563              :                   }
   14564              :                 }
   14565              :               break;
   14566              :             }
   14567            4 :           case GE_EXPR:
   14568            4 :             {
   14569            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14570            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14571            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14572              :                 {
   14573            0 :                   {
   14574            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14575            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14576            0 :                     if (res) return res;
   14577              :                   }
   14578              :                 }
   14579            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14580              :                 {
   14581            0 :                   {
   14582            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14583            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14584            0 :                     if (res) return res;
   14585              :                   }
   14586              :                 }
   14587            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14588              :                 {
   14589            0 :                   {
   14590            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14591            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14592            0 :                     if (res) return res;
   14593              :                   }
   14594              :                 }
   14595            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14596              :                 {
   14597            0 :                   {
   14598            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14599            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14600            0 :                     if (res) return res;
   14601              :                   }
   14602              :                 }
   14603              :               break;
   14604              :             }
   14605              :           default:;
   14606              :           }
   14607              :         break;
   14608              :       }
   14609          140 :     case NE_EXPR:
   14610          140 :       {
   14611          140 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14612          140 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14613          140 :         if (tree_min_value (_q21))
   14614              :           {
   14615           16 :             switch (TREE_CODE (_p1))
   14616              :               {
   14617            0 :               case GT_EXPR:
   14618            0 :                 {
   14619            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14620            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14621            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14622              :                     {
   14623            0 :                       {
   14624            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   14625            0 :                         tree res = generic_simplify_478 (loc, type, _p0, _p1, captures, NE_EXPR);
   14626            0 :                         if (res) return res;
   14627              :                       }
   14628              :                     }
   14629              :                   break;
   14630              :                 }
   14631            0 :               case LT_EXPR:
   14632            0 :                 {
   14633            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14634            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14635            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14636              :                     {
   14637            0 :                       {
   14638            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   14639            0 :                         tree res = generic_simplify_478 (loc, type, _p0, _p1, captures, NE_EXPR);
   14640            0 :                         if (res) return res;
   14641              :                       }
   14642              :                     }
   14643              :                   break;
   14644              :                 }
   14645            3 :               case GE_EXPR:
   14646            3 :                 {
   14647            3 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14648            3 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14649            3 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14650              :                     {
   14651            3 :                       {
   14652            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   14653            3 :                         tree res = generic_simplify_484 (loc, type, _p0, _p1, captures);
   14654            3 :                         if (res) return res;
   14655              :                       }
   14656              :                     }
   14657              :                   break;
   14658              :                 }
   14659            0 :               case LE_EXPR:
   14660            0 :                 {
   14661            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14662            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14663            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14664              :                     {
   14665            0 :                       {
   14666            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
   14667            0 :                         tree res = generic_simplify_484 (loc, type, _p0, _p1, captures);
   14668            0 :                         if (res) return res;
   14669              :                       }
   14670              :                     }
   14671              :                   break;
   14672              :                 }
   14673              :               default:;
   14674              :               }
   14675              :           }
   14676          137 :         if (tree_max_value (_q21))
   14677              :           {
   14678            0 :             switch (TREE_CODE (_p1))
   14679              :               {
   14680            0 :               case LT_EXPR:
   14681            0 :                 {
   14682            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14683            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14684            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14685              :                     {
   14686            0 :                       {
   14687            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   14688            0 :                         tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR);
   14689            0 :                         if (res) return res;
   14690              :                       }
   14691              :                     }
   14692              :                   break;
   14693              :                 }
   14694            0 :               case GT_EXPR:
   14695            0 :                 {
   14696            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14697            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14698            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14699              :                     {
   14700            0 :                       {
   14701            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   14702            0 :                         tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, NE_EXPR);
   14703            0 :                         if (res) return res;
   14704              :                       }
   14705              :                     }
   14706              :                   break;
   14707              :                 }
   14708              :               default:;
   14709              :               }
   14710              :           }
   14711          137 :         switch (TREE_CODE (_p1))
   14712              :           {
   14713           20 :           case EQ_EXPR:
   14714           20 :             {
   14715           20 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14716           20 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14717           20 :               switch (TREE_CODE (_q50))
   14718              :                 {
   14719            0 :                 CASE_CONVERT:
   14720            0 :                   {
   14721            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14722            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14723              :                       {
   14724            0 :                         {
   14725            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14726            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14727            0 :                           if (res) return res;
   14728              :                         }
   14729              :                       }
   14730            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14731              :                       {
   14732            0 :                         {
   14733            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14734            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14735            0 :                           if (res) return res;
   14736              :                         }
   14737              :                       }
   14738              :                     break;
   14739              :                   }
   14740           20 :                 default:;
   14741              :                 }
   14742           20 :               switch (TREE_CODE (_q51))
   14743              :                 {
   14744            0 :                 CASE_CONVERT:
   14745            0 :                   {
   14746            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14747            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14748              :                       {
   14749            0 :                         {
   14750            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14751            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14752            0 :                           if (res) return res;
   14753              :                         }
   14754              :                       }
   14755            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14756              :                       {
   14757            0 :                         {
   14758            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14759            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14760            0 :                           if (res) return res;
   14761              :                         }
   14762              :                       }
   14763              :                     break;
   14764              :                   }
   14765              :                 default:;
   14766              :                 }
   14767              :               break;
   14768              :             }
   14769            4 :           case NE_EXPR:
   14770            4 :             {
   14771            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14772            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14773            4 :               switch (TREE_CODE (_q50))
   14774              :                 {
   14775            0 :                 CASE_CONVERT:
   14776            0 :                   {
   14777            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14778            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14779              :                       {
   14780            0 :                         {
   14781            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14782            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14783            0 :                           if (res) return res;
   14784              :                         }
   14785              :                       }
   14786            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14787              :                       {
   14788            0 :                         {
   14789            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14790            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14791            0 :                           if (res) return res;
   14792              :                         }
   14793              :                       }
   14794              :                     break;
   14795              :                   }
   14796            4 :                 default:;
   14797              :                 }
   14798            4 :               switch (TREE_CODE (_q51))
   14799              :                 {
   14800            0 :                 CASE_CONVERT:
   14801            0 :                   {
   14802            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14803            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14804              :                       {
   14805            0 :                         {
   14806            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14807            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14808            0 :                           if (res) return res;
   14809              :                         }
   14810              :                       }
   14811            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14812              :                       {
   14813            0 :                         {
   14814            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14815            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14816            0 :                           if (res) return res;
   14817              :                         }
   14818              :                       }
   14819              :                     break;
   14820              :                   }
   14821              :                 default:;
   14822              :                 }
   14823              :               break;
   14824              :             }
   14825            0 :           case LT_EXPR:
   14826            0 :             {
   14827            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14828            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14829            0 :               switch (TREE_CODE (_q50))
   14830              :                 {
   14831            0 :                 CASE_CONVERT:
   14832            0 :                   {
   14833            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14834            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14835              :                       {
   14836            0 :                         {
   14837            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14838            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14839            0 :                           if (res) return res;
   14840              :                         }
   14841              :                       }
   14842            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14843              :                       {
   14844            0 :                         {
   14845            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14846            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14847            0 :                           if (res) return res;
   14848              :                         }
   14849              :                       }
   14850              :                     break;
   14851              :                   }
   14852            0 :                 default:;
   14853              :                 }
   14854            0 :               switch (TREE_CODE (_q51))
   14855              :                 {
   14856            0 :                 CASE_CONVERT:
   14857            0 :                   {
   14858            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14859            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14860              :                       {
   14861            0 :                         {
   14862            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14863            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14864            0 :                           if (res) return res;
   14865              :                         }
   14866              :                       }
   14867            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14868              :                       {
   14869            0 :                         {
   14870            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14871            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14872            0 :                           if (res) return res;
   14873              :                         }
   14874              :                       }
   14875              :                     break;
   14876              :                   }
   14877              :                 default:;
   14878              :                 }
   14879              :               break;
   14880              :             }
   14881            4 :           case GT_EXPR:
   14882            4 :             {
   14883            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14884            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14885            4 :               switch (TREE_CODE (_q50))
   14886              :                 {
   14887            0 :                 CASE_CONVERT:
   14888            0 :                   {
   14889            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14890            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14891              :                       {
   14892            0 :                         {
   14893            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14894            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14895            0 :                           if (res) return res;
   14896              :                         }
   14897              :                       }
   14898            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14899              :                       {
   14900            0 :                         {
   14901            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14902            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14903            0 :                           if (res) return res;
   14904              :                         }
   14905              :                       }
   14906              :                     break;
   14907              :                   }
   14908            4 :                 default:;
   14909              :                 }
   14910            4 :               switch (TREE_CODE (_q51))
   14911              :                 {
   14912            0 :                 CASE_CONVERT:
   14913            0 :                   {
   14914            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14915            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14916              :                       {
   14917            0 :                         {
   14918            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14919            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14920            0 :                           if (res) return res;
   14921              :                         }
   14922              :                       }
   14923            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14924              :                       {
   14925            0 :                         {
   14926            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14927            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14928            0 :                           if (res) return res;
   14929              :                         }
   14930              :                       }
   14931              :                     break;
   14932              :                   }
   14933              :                 default:;
   14934              :                 }
   14935              :               break;
   14936              :             }
   14937            0 :           case LE_EXPR:
   14938            0 :             {
   14939            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14940            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14941            0 :               switch (TREE_CODE (_q50))
   14942              :                 {
   14943            0 :                 CASE_CONVERT:
   14944            0 :                   {
   14945            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14946            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14947              :                       {
   14948            0 :                         {
   14949            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14950            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   14951            0 :                           if (res) return res;
   14952              :                         }
   14953              :                       }
   14954            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14955              :                       {
   14956            0 :                         {
   14957            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14958            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   14959            0 :                           if (res) return res;
   14960              :                         }
   14961              :                       }
   14962              :                     break;
   14963              :                   }
   14964            0 :                 default:;
   14965              :                 }
   14966            0 :               switch (TREE_CODE (_q51))
   14967              :                 {
   14968            0 :                 CASE_CONVERT:
   14969            0 :                   {
   14970            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14971            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14972              :                       {
   14973            0 :                         {
   14974            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14975            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   14976            0 :                           if (res) return res;
   14977              :                         }
   14978              :                       }
   14979            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14980              :                       {
   14981            0 :                         {
   14982            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14983            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   14984            0 :                           if (res) return res;
   14985              :                         }
   14986              :                       }
   14987              :                     break;
   14988              :                   }
   14989              :                 default:;
   14990              :                 }
   14991              :               break;
   14992              :             }
   14993           14 :           case GE_EXPR:
   14994           14 :             {
   14995           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14996           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14997           14 :               switch (TREE_CODE (_q50))
   14998              :                 {
   14999            0 :                 CASE_CONVERT:
   15000            0 :                   {
   15001            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   15002            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15003              :                       {
   15004            0 :                         {
   15005            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15006            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15007            0 :                           if (res) return res;
   15008              :                         }
   15009              :                       }
   15010            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   15011              :                       {
   15012            0 :                         {
   15013            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15014            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15015            0 :                           if (res) return res;
   15016              :                         }
   15017              :                       }
   15018              :                     break;
   15019              :                   }
   15020           14 :                 default:;
   15021              :                 }
   15022           14 :               switch (TREE_CODE (_q51))
   15023              :                 {
   15024            0 :                 CASE_CONVERT:
   15025            0 :                   {
   15026            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   15027            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   15028              :                       {
   15029            0 :                         {
   15030            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15031            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15032            0 :                           if (res) return res;
   15033              :                         }
   15034              :                       }
   15035            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   15036              :                       {
   15037            0 :                         {
   15038            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15039            0 :                           tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15040            0 :                           if (res) return res;
   15041              :                         }
   15042              :                       }
   15043              :                     break;
   15044              :                   }
   15045              :                 default:;
   15046              :                 }
   15047              :               break;
   15048              :             }
   15049          137 :           default:;
   15050              :           }
   15051          137 :         switch (TREE_CODE (_q20))
   15052              :           {
   15053            0 :           CASE_CONVERT:
   15054            0 :             {
   15055            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15056            0 :               switch (TREE_CODE (_p1))
   15057              :                 {
   15058            0 :                 case EQ_EXPR:
   15059            0 :                   {
   15060            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15061            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15062            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15063              :                       {
   15064            0 :                         {
   15065            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15066            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15067            0 :                           if (res) return res;
   15068              :                         }
   15069              :                       }
   15070            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15071              :                       {
   15072            0 :                         {
   15073            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15074            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15075            0 :                           if (res) return res;
   15076              :                         }
   15077              :                       }
   15078              :                     break;
   15079              :                   }
   15080            0 :                 case NE_EXPR:
   15081            0 :                   {
   15082            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15083            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15084            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15085              :                       {
   15086            0 :                         {
   15087            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15088            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15089            0 :                           if (res) return res;
   15090              :                         }
   15091              :                       }
   15092            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15093              :                       {
   15094            0 :                         {
   15095            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15096            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15097            0 :                           if (res) return res;
   15098              :                         }
   15099              :                       }
   15100              :                     break;
   15101              :                   }
   15102              :                 default:;
   15103              :                 }
   15104              :               break;
   15105              :             }
   15106          137 :           default:;
   15107              :           }
   15108          137 :         switch (TREE_CODE (_q21))
   15109              :           {
   15110            0 :           CASE_CONVERT:
   15111            0 :             {
   15112            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   15113            0 :               switch (TREE_CODE (_p1))
   15114              :                 {
   15115            0 :                 case EQ_EXPR:
   15116            0 :                   {
   15117            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15118            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15119            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15120              :                       {
   15121            0 :                         {
   15122            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15123            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15124            0 :                           if (res) return res;
   15125              :                         }
   15126              :                       }
   15127            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15128              :                       {
   15129            0 :                         {
   15130            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15131            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15132            0 :                           if (res) return res;
   15133              :                         }
   15134              :                       }
   15135              :                     break;
   15136              :                   }
   15137            0 :                 case NE_EXPR:
   15138            0 :                   {
   15139            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15140            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15141            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15142              :                       {
   15143            0 :                         {
   15144            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15145            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15146            0 :                           if (res) return res;
   15147              :                         }
   15148              :                       }
   15149            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15150              :                       {
   15151            0 :                         {
   15152            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15153            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15154            0 :                           if (res) return res;
   15155              :                         }
   15156              :                       }
   15157              :                     break;
   15158              :                   }
   15159              :                 default:;
   15160              :                 }
   15161              :               break;
   15162              :             }
   15163          137 :           default:;
   15164              :           }
   15165          137 :         switch (TREE_CODE (_p1))
   15166              :           {
   15167           20 :           case EQ_EXPR:
   15168           20 :             {
   15169           20 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15170           20 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15171           20 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15172              :                 {
   15173            0 :                   {
   15174            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15175            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15176            0 :                     if (res) return res;
   15177              :                   }
   15178            0 :                   {
   15179            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15180            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15181            0 :                     if (res) return res;
   15182              :                   }
   15183              :                 }
   15184           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15185              :                 {
   15186            0 :                   {
   15187            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15188            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15189            0 :                     if (res) return res;
   15190              :                   }
   15191              :                 }
   15192           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15193              :                 {
   15194            0 :                   {
   15195            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15196            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15197            0 :                     if (res) return res;
   15198              :                   }
   15199            0 :                   {
   15200            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15201            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15202            0 :                     if (res) return res;
   15203              :                   }
   15204              :                 }
   15205           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15206              :                 {
   15207            4 :                   {
   15208            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15209            4 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   15210            4 :                     if (res) return res;
   15211              :                   }
   15212            4 :                   {
   15213            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15214            4 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15215            4 :                     if (res) return res;
   15216              :                   }
   15217              :                 }
   15218           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15219              :                 {
   15220            0 :                   {
   15221            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15222            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   15223            0 :                     if (res) return res;
   15224              :                   }
   15225              :                 }
   15226              :               break;
   15227              :             }
   15228            4 :           case NE_EXPR:
   15229            4 :             {
   15230            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15231            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15232            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15233              :                 {
   15234            2 :                   {
   15235            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15236            2 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15237            2 :                     if (res) return res;
   15238              :                   }
   15239            2 :                   {
   15240            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15241            2 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15242            2 :                     if (res) return res;
   15243              :                   }
   15244              :                 }
   15245            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15246              :                 {
   15247            0 :                   {
   15248            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15249            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15250            0 :                     if (res) return res;
   15251              :                   }
   15252              :                 }
   15253            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15254              :                 {
   15255            0 :                   {
   15256            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15257            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15258            0 :                     if (res) return res;
   15259              :                   }
   15260            0 :                   {
   15261            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15262            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15263            0 :                     if (res) return res;
   15264              :                   }
   15265              :                 }
   15266            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15267              :                 {
   15268            1 :                   {
   15269            1 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15270            1 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15271            1 :                     if (res) return res;
   15272              :                   }
   15273            1 :                   {
   15274            1 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15275            1 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15276            1 :                     if (res) return res;
   15277              :                   }
   15278              :                 }
   15279            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15280              :                 {
   15281            0 :                   {
   15282            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15283            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15284            0 :                     if (res) return res;
   15285              :                   }
   15286              :                 }
   15287              :               break;
   15288              :             }
   15289            0 :           case LT_EXPR:
   15290            0 :             {
   15291            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15292            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15293            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15294              :                 {
   15295            0 :                   {
   15296            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15297            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15298            0 :                     if (res) return res;
   15299              :                   }
   15300              :                 }
   15301            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15302              :                 {
   15303            0 :                   {
   15304            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15305            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15306            0 :                     if (res) return res;
   15307              :                   }
   15308              :                 }
   15309            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15310              :                 {
   15311            0 :                   {
   15312            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15313            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15314            0 :                     if (res) return res;
   15315              :                   }
   15316              :                 }
   15317            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15318              :                 {
   15319            0 :                   {
   15320            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15321            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15322            0 :                     if (res) return res;
   15323              :                   }
   15324              :                 }
   15325              :               break;
   15326              :             }
   15327            4 :           case GT_EXPR:
   15328            4 :             {
   15329            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15330            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15331            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15332              :                 {
   15333            4 :                   {
   15334            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15335            4 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15336            4 :                     if (res) return res;
   15337              :                   }
   15338              :                 }
   15339            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15340              :                 {
   15341            0 :                   {
   15342            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15343            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15344            0 :                     if (res) return res;
   15345              :                   }
   15346              :                 }
   15347            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15348              :                 {
   15349            0 :                   {
   15350            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15351            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15352            0 :                     if (res) return res;
   15353              :                   }
   15354              :                 }
   15355            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15356              :                 {
   15357            0 :                   {
   15358            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15359            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15360            0 :                     if (res) return res;
   15361              :                   }
   15362              :                 }
   15363              :               break;
   15364              :             }
   15365            0 :           case LE_EXPR:
   15366            0 :             {
   15367            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15368            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15369            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15370              :                 {
   15371            0 :                   {
   15372            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15373            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15374            0 :                     if (res) return res;
   15375              :                   }
   15376              :                 }
   15377            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15378              :                 {
   15379            0 :                   {
   15380            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15381            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15382            0 :                     if (res) return res;
   15383              :                   }
   15384              :                 }
   15385            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15386              :                 {
   15387            0 :                   {
   15388            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15389            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15390            0 :                     if (res) return res;
   15391              :                   }
   15392              :                 }
   15393            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15394              :                 {
   15395            0 :                   {
   15396            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15397            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15398            0 :                     if (res) return res;
   15399              :                   }
   15400              :                 }
   15401              :               break;
   15402              :             }
   15403           14 :           case GE_EXPR:
   15404           14 :             {
   15405           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15406           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15407           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15408              :                 {
   15409            0 :                   {
   15410            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15411            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15412            0 :                     if (res) return res;
   15413              :                   }
   15414              :                 }
   15415           14 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15416              :                 {
   15417            0 :                   {
   15418            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15419            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15420            0 :                     if (res) return res;
   15421              :                   }
   15422              :                 }
   15423           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15424              :                 {
   15425            0 :                   {
   15426            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15427            0 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15428            0 :                     if (res) return res;
   15429              :                   }
   15430              :                 }
   15431           14 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15432              :                 {
   15433           14 :                   {
   15434           14 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15435           14 :                     tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15436           14 :                     if (res) return res;
   15437              :                   }
   15438              :                 }
   15439              :               break;
   15440              :             }
   15441              :           default:;
   15442              :           }
   15443              :         break;
   15444              :       }
   15445           36 :     case LE_EXPR:
   15446           36 :       {
   15447           36 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15448           36 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15449           36 :         switch (TREE_CODE (_p1))
   15450              :           {
   15451           16 :           case EQ_EXPR:
   15452           16 :             {
   15453           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15454           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15455           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15456              :                 {
   15457            4 :                   if (tree_min_value (_q51))
   15458              :                     {
   15459            4 :                       {
   15460            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15461            4 :                         tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   15462            4 :                         if (res) return res;
   15463              :                       }
   15464              :                     }
   15465              :                 }
   15466           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15467              :                 {
   15468            0 :                   if (tree_max_value (_q51))
   15469              :                     {
   15470            0 :                       {
   15471            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15472            0 :                         tree res = generic_simplify_486 (loc, type, _p0, _p1, captures);
   15473            0 :                         if (res) return res;
   15474              :                       }
   15475              :                     }
   15476              :                 }
   15477              :               break;
   15478              :             }
   15479            0 :           case NE_EXPR:
   15480            0 :             {
   15481            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15482            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15483            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15484              :                 {
   15485            0 :                   if (tree_min_value (_q51))
   15486              :                     {
   15487            0 :                       {
   15488            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
   15489            0 :                         tree res = generic_simplify_487 (loc, type, _p0, _p1, captures);
   15490            0 :                         if (res) return res;
   15491              :                       }
   15492              :                     }
   15493              :                 }
   15494              :               break;
   15495              :             }
   15496           32 :           default:;
   15497              :           }
   15498           32 :         switch (TREE_CODE (_q20))
   15499              :           {
   15500            0 :           CASE_CONVERT:
   15501            0 :             {
   15502            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15503            0 :               switch (TREE_CODE (_p1))
   15504              :                 {
   15505            0 :                 case EQ_EXPR:
   15506            0 :                   {
   15507            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15508            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15509            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15510              :                       {
   15511            0 :                         {
   15512            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15513            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15514            0 :                           if (res) return res;
   15515              :                         }
   15516              :                       }
   15517            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15518              :                       {
   15519            0 :                         {
   15520            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15521            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15522            0 :                           if (res) return res;
   15523              :                         }
   15524              :                       }
   15525              :                     break;
   15526              :                   }
   15527            0 :                 case NE_EXPR:
   15528            0 :                   {
   15529            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15530            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15531            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15532              :                       {
   15533            0 :                         {
   15534            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15535            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15536            0 :                           if (res) return res;
   15537              :                         }
   15538              :                       }
   15539            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15540              :                       {
   15541            0 :                         {
   15542            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15543            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15544            0 :                           if (res) return res;
   15545              :                         }
   15546              :                       }
   15547              :                     break;
   15548              :                   }
   15549              :                 default:;
   15550              :                 }
   15551              :               break;
   15552              :             }
   15553           32 :           default:;
   15554              :           }
   15555           32 :         switch (TREE_CODE (_q21))
   15556              :           {
   15557            0 :           CASE_CONVERT:
   15558            0 :             {
   15559            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   15560            0 :               switch (TREE_CODE (_p1))
   15561              :                 {
   15562            0 :                 case EQ_EXPR:
   15563            0 :                   {
   15564            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15565            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15566            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15567              :                       {
   15568            0 :                         {
   15569            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15570            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15571            0 :                           if (res) return res;
   15572              :                         }
   15573              :                       }
   15574            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15575              :                       {
   15576            0 :                         {
   15577            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15578            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15579            0 :                           if (res) return res;
   15580              :                         }
   15581              :                       }
   15582              :                     break;
   15583              :                   }
   15584            0 :                 case NE_EXPR:
   15585            0 :                   {
   15586            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15587            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15588            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15589              :                       {
   15590            0 :                         {
   15591            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15592            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15593            0 :                           if (res) return res;
   15594              :                         }
   15595              :                       }
   15596            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15597              :                       {
   15598            0 :                         {
   15599            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15600            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15601            0 :                           if (res) return res;
   15602              :                         }
   15603              :                       }
   15604              :                     break;
   15605              :                   }
   15606              :                 default:;
   15607              :                 }
   15608              :               break;
   15609              :             }
   15610           32 :           default:;
   15611              :           }
   15612           32 :         switch (TREE_CODE (_p1))
   15613              :           {
   15614           12 :           case EQ_EXPR:
   15615           12 :             {
   15616           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15617           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15618           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15619              :                 {
   15620            0 :                   {
   15621            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15622            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15623            0 :                     if (res) return res;
   15624              :                   }
   15625              :                 }
   15626           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15627              :                 {
   15628            0 :                   {
   15629            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15630            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15631            0 :                     if (res) return res;
   15632              :                   }
   15633              :                 }
   15634           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15635              :                 {
   15636            0 :                   {
   15637            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15638            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15639            0 :                     if (res) return res;
   15640              :                   }
   15641              :                 }
   15642           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15643              :                 {
   15644            0 :                   {
   15645            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15646            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15647            0 :                     if (res) return res;
   15648              :                   }
   15649              :                 }
   15650              :               break;
   15651              :             }
   15652            0 :           case NE_EXPR:
   15653            0 :             {
   15654            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15655            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15656            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15657              :                 {
   15658            0 :                   {
   15659            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15660            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15661            0 :                     if (res) return res;
   15662              :                   }
   15663              :                 }
   15664            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15665              :                 {
   15666            0 :                   {
   15667            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15668            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15669            0 :                     if (res) return res;
   15670              :                   }
   15671              :                 }
   15672            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15673              :                 {
   15674            0 :                   {
   15675            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15676            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15677            0 :                     if (res) return res;
   15678              :                   }
   15679              :                 }
   15680            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15681              :                 {
   15682            0 :                   {
   15683            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15684            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15685            0 :                     if (res) return res;
   15686              :                   }
   15687              :                 }
   15688              :               break;
   15689              :             }
   15690            0 :           case LT_EXPR:
   15691            0 :             {
   15692            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15693            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15694            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15695              :                 {
   15696            0 :                   {
   15697            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15698            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15699            0 :                     if (res) return res;
   15700              :                   }
   15701              :                 }
   15702            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15703              :                 {
   15704            0 :                   {
   15705            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15706            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15707            0 :                     if (res) return res;
   15708              :                   }
   15709              :                 }
   15710            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15711              :                 {
   15712            0 :                   {
   15713            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15714            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15715            0 :                     if (res) return res;
   15716              :                   }
   15717              :                 }
   15718            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15719              :                 {
   15720            0 :                   {
   15721            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15722            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15723            0 :                     if (res) return res;
   15724              :                   }
   15725              :                 }
   15726              :               break;
   15727              :             }
   15728            5 :           case LE_EXPR:
   15729            5 :             {
   15730            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15731            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15732            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15733              :                 {
   15734            0 :                   {
   15735            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15736            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15737            0 :                     if (res) return res;
   15738              :                   }
   15739              :                 }
   15740            5 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15741              :                 {
   15742            0 :                   {
   15743            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15744            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15745            0 :                     if (res) return res;
   15746              :                   }
   15747              :                 }
   15748            5 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15749              :                 {
   15750            0 :                   {
   15751            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15752            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15753            0 :                     if (res) return res;
   15754              :                   }
   15755              :                 }
   15756            5 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15757              :                 {
   15758            4 :                   {
   15759            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15760            4 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15761            4 :                     if (res) return res;
   15762              :                   }
   15763              :                 }
   15764              :               break;
   15765              :             }
   15766            4 :           case GT_EXPR:
   15767            4 :             {
   15768            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15769            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15770            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15771              :                 {
   15772            0 :                   {
   15773            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15774            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15775            0 :                     if (res) return res;
   15776              :                   }
   15777              :                 }
   15778            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15779              :                 {
   15780            0 :                   {
   15781            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15782            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15783            0 :                     if (res) return res;
   15784              :                   }
   15785              :                 }
   15786            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15787              :                 {
   15788            0 :                   {
   15789            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15790            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15791            0 :                     if (res) return res;
   15792              :                   }
   15793              :                 }
   15794            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15795              :                 {
   15796            0 :                   {
   15797            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15798            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15799            0 :                     if (res) return res;
   15800              :                   }
   15801              :                 }
   15802              :               break;
   15803              :             }
   15804            0 :           case GE_EXPR:
   15805            0 :             {
   15806            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15807            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15808            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15809              :                 {
   15810            0 :                   {
   15811            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15812            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15813            0 :                     if (res) return res;
   15814              :                   }
   15815              :                 }
   15816            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15817              :                 {
   15818            0 :                   {
   15819            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15820            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15821            0 :                     if (res) return res;
   15822              :                   }
   15823              :                 }
   15824            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15825              :                 {
   15826            0 :                   {
   15827            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15828            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15829            0 :                     if (res) return res;
   15830              :                   }
   15831              :                 }
   15832            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15833              :                 {
   15834            0 :                   {
   15835            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15836            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15837            0 :                     if (res) return res;
   15838              :                   }
   15839              :                 }
   15840              :               break;
   15841              :             }
   15842              :           default:;
   15843              :           }
   15844              :         break;
   15845              :       }
   15846           78 :     case GE_EXPR:
   15847           78 :       {
   15848           78 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15849           78 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15850           78 :         switch (TREE_CODE (_p1))
   15851              :           {
   15852           10 :           case EQ_EXPR:
   15853           10 :             {
   15854           10 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15855           10 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15856           10 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15857              :                 {
   15858            0 :                   if (tree_min_value (_q51))
   15859              :                     {
   15860            0 :                       {
   15861            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15862            0 :                         tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   15863            0 :                         if (res) return res;
   15864              :                       }
   15865              :                     }
   15866              :                 }
   15867           10 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15868              :                 {
   15869            4 :                   if (tree_max_value (_q51))
   15870              :                     {
   15871            4 :                       {
   15872            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15873            4 :                         tree res = generic_simplify_486 (loc, type, _p0, _p1, captures);
   15874            4 :                         if (res) return res;
   15875              :                       }
   15876              :                     }
   15877              :                 }
   15878              :               break;
   15879              :             }
   15880            0 :           case NE_EXPR:
   15881            0 :             {
   15882            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15883            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15884            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15885              :                 {
   15886            0 :                   if (tree_min_value (_q51))
   15887              :                     {
   15888            0 :                       {
   15889            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
   15890            0 :                         tree res = generic_simplify_487 (loc, type, _p0, _p1, captures);
   15891            0 :                         if (res) return res;
   15892              :                       }
   15893              :                     }
   15894              :                 }
   15895              :               break;
   15896              :             }
   15897           74 :           default:;
   15898              :           }
   15899           74 :         switch (TREE_CODE (_q20))
   15900              :           {
   15901            4 :           CASE_CONVERT:
   15902            4 :             {
   15903            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15904            4 :               switch (TREE_CODE (_p1))
   15905              :                 {
   15906            0 :                 case EQ_EXPR:
   15907            0 :                   {
   15908            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15909            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15910            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15911              :                       {
   15912            0 :                         {
   15913            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15914            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15915            0 :                           if (res) return res;
   15916              :                         }
   15917              :                       }
   15918            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15919              :                       {
   15920            0 :                         {
   15921            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15922            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15923            0 :                           if (res) return res;
   15924              :                         }
   15925              :                       }
   15926              :                     break;
   15927              :                   }
   15928            0 :                 case NE_EXPR:
   15929            0 :                   {
   15930            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15931            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15932            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15933              :                       {
   15934            0 :                         {
   15935            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15936            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15937            0 :                           if (res) return res;
   15938              :                         }
   15939              :                       }
   15940            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15941              :                       {
   15942            0 :                         {
   15943            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15944            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15945            0 :                           if (res) return res;
   15946              :                         }
   15947              :                       }
   15948              :                     break;
   15949              :                   }
   15950              :                 default:;
   15951              :                 }
   15952              :               break;
   15953              :             }
   15954           74 :           default:;
   15955              :           }
   15956           74 :         switch (TREE_CODE (_q21))
   15957              :           {
   15958            0 :           CASE_CONVERT:
   15959            0 :             {
   15960            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   15961            0 :               switch (TREE_CODE (_p1))
   15962              :                 {
   15963            0 :                 case EQ_EXPR:
   15964            0 :                   {
   15965            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15966            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15967            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15968              :                       {
   15969            0 :                         {
   15970            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15971            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15972            0 :                           if (res) return res;
   15973              :                         }
   15974              :                       }
   15975            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15976              :                       {
   15977            0 :                         {
   15978            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15979            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15980            0 :                           if (res) return res;
   15981              :                         }
   15982              :                       }
   15983              :                     break;
   15984              :                   }
   15985            0 :                 case NE_EXPR:
   15986            0 :                   {
   15987            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15988            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15989            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15990              :                       {
   15991            0 :                         {
   15992            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15993            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15994            0 :                           if (res) return res;
   15995              :                         }
   15996              :                       }
   15997            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15998              :                       {
   15999            0 :                         {
   16000            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   16001            0 :                           tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   16002            0 :                           if (res) return res;
   16003              :                         }
   16004              :                       }
   16005              :                     break;
   16006              :                   }
   16007              :                 default:;
   16008              :                 }
   16009              :               break;
   16010              :             }
   16011           74 :           default:;
   16012              :           }
   16013           74 :         switch (TREE_CODE (_p1))
   16014              :           {
   16015            6 :           case EQ_EXPR:
   16016            6 :             {
   16017            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16018            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16019            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16020              :                 {
   16021            0 :                   {
   16022            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   16023            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   16024            0 :                     if (res) return res;
   16025              :                   }
   16026              :                 }
   16027            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16028              :                 {
   16029            0 :                   {
   16030            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   16031            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   16032            0 :                     if (res) return res;
   16033              :                   }
   16034              :                 }
   16035            6 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16036              :                 {
   16037            0 :                   {
   16038            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   16039            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   16040            0 :                     if (res) return res;
   16041              :                   }
   16042              :                 }
   16043            6 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16044              :                 {
   16045            0 :                   {
   16046            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   16047            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   16048            0 :                     if (res) return res;
   16049              :                   }
   16050              :                 }
   16051              :               break;
   16052              :             }
   16053            0 :           case NE_EXPR:
   16054            0 :             {
   16055            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16056            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16057            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16058              :                 {
   16059            0 :                   {
   16060            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   16061            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   16062            0 :                     if (res) return res;
   16063              :                   }
   16064              :                 }
   16065            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16066              :                 {
   16067            0 :                   {
   16068            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   16069            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   16070            0 :                     if (res) return res;
   16071              :                   }
   16072              :                 }
   16073            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16074              :                 {
   16075            0 :                   {
   16076            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   16077            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   16078            0 :                     if (res) return res;
   16079              :                   }
   16080              :                 }
   16081            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16082              :                 {
   16083            0 :                   {
   16084            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   16085            0 :                     tree res = generic_simplify_476 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   16086            0 :                     if (res) return res;
   16087              :                   }
   16088              :                 }
   16089              :               break;
   16090              :             }
   16091           12 :           case LT_EXPR:
   16092           12 :             {
   16093           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16094           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16095           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16096              :                 {
   16097           12 :                   {
   16098           12 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16099           12 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   16100           12 :                     if (res) return res;
   16101              :                   }
   16102              :                 }
   16103           11 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16104              :                 {
   16105            0 :                   {
   16106            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16107            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   16108            0 :                     if (res) return res;
   16109              :                   }
   16110              :                 }
   16111           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16112              :                 {
   16113            0 :                   {
   16114            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16115            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   16116            0 :                     if (res) return res;
   16117              :                   }
   16118              :                 }
   16119           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16120              :                 {
   16121            0 :                   {
   16122            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16123            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   16124            0 :                     if (res) return res;
   16125              :                   }
   16126              :                 }
   16127              :               break;
   16128              :             }
   16129           17 :           case LE_EXPR:
   16130           17 :             {
   16131           17 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16132           17 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16133           17 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16134              :                 {
   16135           14 :                   {
   16136           14 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16137           14 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   16138           14 :                     if (res) return res;
   16139              :                   }
   16140              :                 }
   16141           17 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16142              :                 {
   16143            0 :                   {
   16144            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16145            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   16146            0 :                     if (res) return res;
   16147              :                   }
   16148              :                 }
   16149           17 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16150              :                 {
   16151            0 :                   {
   16152            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16153            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   16154            0 :                     if (res) return res;
   16155              :                   }
   16156              :                 }
   16157           17 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16158              :                 {
   16159            0 :                   {
   16160            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16161            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   16162            0 :                     if (res) return res;
   16163              :                   }
   16164              :                 }
   16165              :               break;
   16166              :             }
   16167            0 :           case GT_EXPR:
   16168            0 :             {
   16169            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16170            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16171            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16172              :                 {
   16173            0 :                   {
   16174            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16175            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   16176            0 :                     if (res) return res;
   16177              :                   }
   16178              :                 }
   16179            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16180              :                 {
   16181            0 :                   {
   16182            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16183            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   16184            0 :                     if (res) return res;
   16185              :                   }
   16186              :                 }
   16187            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16188              :                 {
   16189            0 :                   {
   16190            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16191            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   16192            0 :                     if (res) return res;
   16193              :                   }
   16194              :                 }
   16195            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16196              :                 {
   16197            0 :                   {
   16198            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16199            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   16200            0 :                     if (res) return res;
   16201              :                   }
   16202              :                 }
   16203              :               break;
   16204              :             }
   16205           11 :           case GE_EXPR:
   16206           11 :             {
   16207           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16208           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16209           11 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16210              :                 {
   16211            7 :                   {
   16212            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   16213            7 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   16214            7 :                     if (res) return res;
   16215              :                   }
   16216              :                 }
   16217           11 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16218              :                 {
   16219            0 :                   {
   16220            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   16221            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   16222            0 :                     if (res) return res;
   16223              :                   }
   16224              :                 }
   16225           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16226              :                 {
   16227            4 :                   {
   16228            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   16229            4 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   16230            4 :                     if (res) return res;
   16231              :                   }
   16232              :                 }
   16233           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16234              :                 {
   16235            0 :                   {
   16236            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   16237            0 :                     tree res = generic_simplify_477 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   16238            0 :                     if (res) return res;
   16239              :                   }
   16240              :                 }
   16241              :               break;
   16242              :             }
   16243              :           default:;
   16244              :           }
   16245              :         break;
   16246              :       }
   16247            0 :     case MIN_EXPR:
   16248            0 :       {
   16249            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16250            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16251            0 :         switch (TREE_CODE (_p1))
   16252              :           {
   16253            0 :           case MAX_EXPR:
   16254            0 :             {
   16255            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16256            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16257            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16258              :                 {
   16259            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16260              :                     {
   16261            0 :                       {
   16262            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16263            0 :                         if (!HONOR_NANS (captures[0])
   16264              : )
   16265              :                           {
   16266            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1684;
   16267            0 :                             {
   16268            0 :                               tree res_op0;
   16269            0 :                               res_op0 = captures[0];
   16270            0 :                               tree res_op1;
   16271            0 :                               res_op1 = captures[1];
   16272            0 :                               tree _r;
   16273            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16274            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   16275            0 :                               return _r;
   16276              :                             }
   16277            0 : next_after_fail1684:;
   16278              :                           }
   16279              :                       }
   16280              :                     }
   16281              :                 }
   16282            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16283              :                 {
   16284            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16285              :                     {
   16286            0 :                       {
   16287            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16288            0 :                         if (!HONOR_NANS (captures[0])
   16289              : )
   16290              :                           {
   16291            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1685;
   16292            0 :                             {
   16293            0 :                               tree res_op0;
   16294            0 :                               res_op0 = captures[0];
   16295            0 :                               tree res_op1;
   16296            0 :                               res_op1 = captures[1];
   16297            0 :                               tree _r;
   16298            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16299            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   16300            0 :                               return _r;
   16301              :                             }
   16302            0 : next_after_fail1685:;
   16303              :                           }
   16304              :                       }
   16305              :                     }
   16306              :                 }
   16307              :               break;
   16308              :             }
   16309              :           default:;
   16310              :           }
   16311              :         break;
   16312              :       }
   16313           80 :     case MAX_EXPR:
   16314           80 :       {
   16315           80 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16316           80 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16317           80 :         switch (TREE_CODE (_p1))
   16318              :           {
   16319            0 :           case MIN_EXPR:
   16320            0 :             {
   16321            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16322            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16323            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16324              :                 {
   16325            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16326              :                     {
   16327            0 :                       {
   16328            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16329            0 :                         if (!HONOR_NANS (captures[0])
   16330              : )
   16331              :                           {
   16332            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1686;
   16333            0 :                             {
   16334            0 :                               tree res_op0;
   16335            0 :                               res_op0 = captures[0];
   16336            0 :                               tree res_op1;
   16337            0 :                               res_op1 = captures[1];
   16338            0 :                               tree _r;
   16339            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16340            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   16341            0 :                               return _r;
   16342              :                             }
   16343            0 : next_after_fail1686:;
   16344              :                           }
   16345              :                       }
   16346              :                     }
   16347              :                 }
   16348            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16349              :                 {
   16350            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16351              :                     {
   16352            0 :                       {
   16353            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16354            0 :                         if (!HONOR_NANS (captures[0])
   16355              : )
   16356              :                           {
   16357            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1687;
   16358            0 :                             {
   16359            0 :                               tree res_op0;
   16360            0 :                               res_op0 = captures[0];
   16361            0 :                               tree res_op1;
   16362            0 :                               res_op1 = captures[1];
   16363            0 :                               tree _r;
   16364            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16365            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   16366            0 :                               return _r;
   16367              :                             }
   16368            0 : next_after_fail1687:;
   16369              :                           }
   16370              :                       }
   16371              :                     }
   16372              :                 }
   16373              :               break;
   16374              :             }
   16375              :           default:;
   16376              :           }
   16377              :         break;
   16378              :       }
   16379       120895 :     case MULT_EXPR:
   16380       120895 :       {
   16381       120895 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16382       120895 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16383       120895 :         if (tree_zero_one_valued_p (_q20))
   16384              :           {
   16385            4 :             {
   16386            4 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   16387            4 :               tree res = generic_simplify_488 (loc, type, _p0, _p1, captures);
   16388            4 :               if (res) return res;
   16389              :             }
   16390              :           }
   16391       120893 :         if (tree_zero_one_valued_p (_q21))
   16392              :           {
   16393            0 :             {
   16394            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
   16395            0 :               tree res = generic_simplify_488 (loc, type, _p0, _p1, captures);
   16396            0 :               if (res) return res;
   16397              :             }
   16398              :           }
   16399              :         break;
   16400              :       }
   16401      6427237 :     default:;
   16402              :     }
   16403      6427237 :   switch (TREE_CODE (_p1))
   16404              :     {
   16405           26 :     case MULT_EXPR:
   16406           26 :       {
   16407           26 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16408           26 :         tree _q31 = TREE_OPERAND (_p1, 1);
   16409           26 :         if (tree_zero_one_valued_p (_q30))
   16410              :           {
   16411            0 :             {
   16412            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
   16413            0 :               tree res = generic_simplify_488 (loc, type, _p0, _p1, captures);
   16414            0 :               if (res) return res;
   16415              :             }
   16416              :           }
   16417           26 :         if (tree_zero_one_valued_p (_q31))
   16418              :           {
   16419            0 :             {
   16420            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
   16421            0 :               tree res = generic_simplify_488 (loc, type, _p0, _p1, captures);
   16422            0 :               if (res) return res;
   16423              :             }
   16424              :           }
   16425              :         break;
   16426              :       }
   16427           99 :     case RSHIFT_EXPR:
   16428           99 :       {
   16429           99 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16430           99 :         tree _q31 = TREE_OPERAND (_p1, 1);
   16431           99 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16432              :           {
   16433            0 :             switch (TREE_CODE (_q31))
   16434              :               {
   16435            0 :               case INTEGER_CST:
   16436            0 :                 {
   16437            0 :                   {
   16438            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   16439            0 :                     tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MIN_EXPR, MAX_EXPR);
   16440            0 :                     if (res) return res;
   16441              :                   }
   16442            0 :                   break;
   16443              :                 }
   16444              :               default:;
   16445              :               }
   16446              :           }
   16447              :         break;
   16448              :       }
   16449      6427237 :     default:;
   16450              :     }
   16451      6427237 :   switch (TREE_CODE (_p0))
   16452              :     {
   16453        80463 :     case RSHIFT_EXPR:
   16454        80463 :       {
   16455        80463 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16456        80463 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16457        80463 :         switch (TREE_CODE (_q21))
   16458              :           {
   16459        35112 :           case INTEGER_CST:
   16460        35112 :             {
   16461        35112 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16462              :                 {
   16463            0 :                   {
   16464            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16465            0 :                     tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MIN_EXPR, MAX_EXPR);
   16466            0 :                     if (res) return res;
   16467              :                   }
   16468              :                 }
   16469              :               break;
   16470              :             }
   16471              :           default:;
   16472              :           }
   16473              :         break;
   16474              :       }
   16475      6427237 :     default:;
   16476              :     }
   16477      6427237 :   switch (TREE_CODE (_p1))
   16478              :     {
   16479        53663 :     case BIT_NOT_EXPR:
   16480        53663 :       {
   16481        53663 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16482        53663 :         switch (TREE_CODE (_q30))
   16483              :           {
   16484            8 :           case RSHIFT_EXPR:
   16485            8 :             {
   16486            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
   16487            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
   16488            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16489              :                 {
   16490            0 :                   switch (TREE_CODE (_q41))
   16491              :                     {
   16492            0 :                     case INTEGER_CST:
   16493            0 :                       {
   16494            0 :                         {
   16495            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   16496            0 :                           tree res = generic_simplify_173 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MIN_EXPR, MAX_EXPR);
   16497            0 :                           if (res) return res;
   16498              :                         }
   16499            0 :                         break;
   16500              :                       }
   16501              :                     default:;
   16502              :                     }
   16503              :                 }
   16504              :               break;
   16505              :             }
   16506              :           default:;
   16507              :           }
   16508              :         break;
   16509              :       }
   16510      6427237 :     default:;
   16511              :     }
   16512      6427237 :   switch (TREE_CODE (_p0))
   16513              :     {
   16514        34206 :     case LSHIFT_EXPR:
   16515        34206 :       {
   16516        34206 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16517        34206 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16518        34206 :         switch (TREE_CODE (_q20))
   16519              :           {
   16520         5301 :           case INTEGER_CST:
   16521         5301 :             {
   16522         5301 :               if (integer_onep (_p1))
   16523              :                 {
   16524           44 :                   {
   16525           44 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16526           44 :                     if ((wi::to_wide (captures[0]) & 1) != 0
   16527              : )
   16528              :                       {
   16529           40 :                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1688;
   16530           40 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1688;
   16531           40 :                         {
   16532           40 :                           tree res_op0;
   16533           40 :                           {
   16534           40 :                             tree _o1[2], _r1;
   16535           40 :                             _o1[0] = captures[1];
   16536           40 :                             _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
   16537           40 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
   16538           40 :                             res_op0 = _r1;
   16539              :                           }
   16540           40 :                           tree _r;
   16541           40 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   16542           40 :                           if (TREE_SIDE_EFFECTS (captures[0]))
   16543            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   16544           40 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1022, __FILE__, __LINE__, true);
   16545           40 :                           return _r;
   16546              :                         }
   16547            0 : next_after_fail1688:;
   16548              :                       }
   16549              :                     else
   16550              :                       {
   16551            4 :                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1689;
   16552            4 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1689;
   16553            4 :                         {
   16554            4 :                           tree _r;
   16555            4 :                           _r =  build_zero_cst (type);
   16556            4 :                           if (TREE_SIDE_EFFECTS (captures[0]))
   16557            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   16558            4 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   16559            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16560            4 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   16561            4 :                           return _r;
   16562              :                         }
   16563            0 : next_after_fail1689:;
   16564              :                       }
   16565              :                   }
   16566              :                 }
   16567              :               break;
   16568              :             }
   16569         5195 :           CASE_CONVERT:
   16570         5195 :             {
   16571         5195 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16572         5195 :               switch (TREE_CODE (_q21))
   16573              :                 {
   16574         5091 :                 case INTEGER_CST:
   16575         5091 :                   {
   16576         5091 :                     switch (TREE_CODE (_p1))
   16577              :                       {
   16578         5091 :                       case INTEGER_CST:
   16579         5091 :                         {
   16580         5091 :                           {
   16581         5091 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
   16582         5091 :                             tree res = generic_simplify_489 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16583         5091 :                             if (res) return res;
   16584              :                           }
   16585         4435 :                           break;
   16586              :                         }
   16587              :                       default:;
   16588              :                       }
   16589              :                     break;
   16590              :                   }
   16591              :                 default:;
   16592              :                 }
   16593              :               break;
   16594              :             }
   16595        33506 :           default:;
   16596              :           }
   16597        33506 :         switch (TREE_CODE (_q21))
   16598              :           {
   16599        27844 :           case INTEGER_CST:
   16600        27844 :             {
   16601        27844 :               switch (TREE_CODE (_p1))
   16602              :                 {
   16603        27807 :                 case INTEGER_CST:
   16604        27807 :                   {
   16605        27807 :                     {
   16606        27807 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
   16607        27807 :                       tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16608        27807 :                       if (res) return res;
   16609              :                     }
   16610        16991 :                     break;
   16611              :                   }
   16612              :                 default:;
   16613              :                 }
   16614              :               break;
   16615              :             }
   16616              :           default:;
   16617              :           }
   16618              :         break;
   16619              :       }
   16620      1968829 :     CASE_CONVERT:
   16621      1968829 :       {
   16622      1968829 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16623      1968829 :         switch (TREE_CODE (_q20))
   16624              :           {
   16625        74787 :           case LSHIFT_EXPR:
   16626        74787 :             {
   16627        74787 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16628        74787 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16629        74787 :               switch (TREE_CODE (_q30))
   16630              :                 {
   16631          147 :                 CASE_CONVERT:
   16632          147 :                   {
   16633          147 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   16634          147 :                     switch (TREE_CODE (_q31))
   16635              :                       {
   16636           79 :                       case INTEGER_CST:
   16637           79 :                         {
   16638           79 :                           switch (TREE_CODE (_p1))
   16639              :                             {
   16640           79 :                             case INTEGER_CST:
   16641           79 :                               {
   16642           79 :                                 {
   16643           79 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
   16644           79 :                                   tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16645           79 :                                   if (res) return res;
   16646              :                                 }
   16647           79 :                                 break;
   16648              :                               }
   16649              :                             default:;
   16650              :                             }
   16651              :                           break;
   16652              :                         }
   16653              :                       default:;
   16654              :                       }
   16655              :                     break;
   16656              :                   }
   16657        74787 :                 default:;
   16658              :                 }
   16659        74787 :               switch (TREE_CODE (_q31))
   16660              :                 {
   16661           79 :                 case INTEGER_CST:
   16662           79 :                   {
   16663           79 :                     switch (TREE_CODE (_p1))
   16664              :                       {
   16665           79 :                       case INTEGER_CST:
   16666           79 :                         {
   16667           79 :                           {
   16668           79 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
   16669           79 :                             tree res = generic_simplify_492 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16670           79 :                             if (res) return res;
   16671              :                           }
   16672           79 :                           break;
   16673              :                         }
   16674              :                       default:;
   16675              :                       }
   16676              :                     break;
   16677              :                   }
   16678              :                 default:;
   16679              :                 }
   16680              :               break;
   16681              :             }
   16682       113387 :           case RSHIFT_EXPR:
   16683       113387 :             {
   16684       113387 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16685       113387 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16686       113387 :               switch (TREE_CODE (_q30))
   16687              :                 {
   16688        32730 :                 CASE_CONVERT:
   16689        32730 :                   {
   16690        32730 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   16691        32730 :                     switch (TREE_CODE (_q31))
   16692              :                       {
   16693        32603 :                       case INTEGER_CST:
   16694        32603 :                         {
   16695        32603 :                           switch (TREE_CODE (_p1))
   16696              :                             {
   16697        32603 :                             case INTEGER_CST:
   16698        32603 :                               {
   16699        32603 :                                 {
   16700        32603 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
   16701        32603 :                                   tree res = generic_simplify_491 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16702        32603 :                                   if (res) return res;
   16703              :                                 }
   16704        32546 :                                 break;
   16705              :                               }
   16706              :                             default:;
   16707              :                             }
   16708              :                           break;
   16709              :                         }
   16710        32673 :                       default:;
   16711              :                       }
   16712        32673 :                     switch (TREE_CODE (_q40))
   16713              :                       {
   16714            2 :                       case CALL_EXPR:
   16715            2 :                         switch (get_call_combined_fn (_q40))
   16716              :                           {
   16717            0 :                           case CFN_BSWAP:
   16718            0 :                             if (call_expr_nargs (_q40) == 1)
   16719              :     {
   16720            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16721            0 :                                 switch (TREE_CODE (_q31))
   16722              :                                   {
   16723            0 :                                   case INTEGER_CST:
   16724            0 :                                     {
   16725            0 :                                       switch (TREE_CODE (_p1))
   16726              :                                         {
   16727            0 :                                         case INTEGER_CST:
   16728            0 :                                           {
   16729            0 :                                             {
   16730            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16731            0 :                                               tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BSWAP);
   16732            0 :                                               if (res) return res;
   16733              :                                             }
   16734            0 :                                             break;
   16735              :                                           }
   16736              :                                         default:;
   16737              :                                         }
   16738              :                                       break;
   16739              :                                     }
   16740              :                                   default:;
   16741              :                                   }
   16742              :                               }
   16743              :                             break;
   16744            0 :                           case CFN_BUILT_IN_BSWAP128:
   16745            0 :                             if (call_expr_nargs (_q40) == 1)
   16746              :     {
   16747            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16748            0 :                                 switch (TREE_CODE (_q31))
   16749              :                                   {
   16750            0 :                                   case INTEGER_CST:
   16751            0 :                                     {
   16752            0 :                                       switch (TREE_CODE (_p1))
   16753              :                                         {
   16754            0 :                                         case INTEGER_CST:
   16755            0 :                                           {
   16756            0 :                                             {
   16757            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16758            0 :                                               tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16759            0 :                                               if (res) return res;
   16760              :                                             }
   16761            0 :                                             break;
   16762              :                                           }
   16763              :                                         default:;
   16764              :                                         }
   16765              :                                       break;
   16766              :                                     }
   16767              :                                   default:;
   16768              :                                   }
   16769              :                               }
   16770              :                             break;
   16771            2 :                           case CFN_BUILT_IN_BSWAP16:
   16772            2 :                             if (call_expr_nargs (_q40) == 1)
   16773              :     {
   16774            2 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16775            2 :                                 switch (TREE_CODE (_q31))
   16776              :                                   {
   16777            2 :                                   case INTEGER_CST:
   16778            2 :                                     {
   16779            2 :                                       switch (TREE_CODE (_p1))
   16780              :                                         {
   16781            2 :                                         case INTEGER_CST:
   16782            2 :                                           {
   16783            2 :                                             {
   16784            2 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16785            2 :                                               tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16786            2 :                                               if (res) return res;
   16787              :                                             }
   16788            0 :                                             break;
   16789              :                                           }
   16790              :                                         default:;
   16791              :                                         }
   16792              :                                       break;
   16793              :                                     }
   16794              :                                   default:;
   16795              :                                   }
   16796              :                               }
   16797              :                             break;
   16798            0 :                           case CFN_BUILT_IN_BSWAP32:
   16799            0 :                             if (call_expr_nargs (_q40) == 1)
   16800              :     {
   16801            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16802            0 :                                 switch (TREE_CODE (_q31))
   16803              :                                   {
   16804            0 :                                   case INTEGER_CST:
   16805            0 :                                     {
   16806            0 :                                       switch (TREE_CODE (_p1))
   16807              :                                         {
   16808            0 :                                         case INTEGER_CST:
   16809            0 :                                           {
   16810            0 :                                             {
   16811            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16812            0 :                                               tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16813            0 :                                               if (res) return res;
   16814              :                                             }
   16815            0 :                                             break;
   16816              :                                           }
   16817              :                                         default:;
   16818              :                                         }
   16819              :                                       break;
   16820              :                                     }
   16821              :                                   default:;
   16822              :                                   }
   16823              :                               }
   16824              :                             break;
   16825            0 :                           case CFN_BUILT_IN_BSWAP64:
   16826            0 :                             if (call_expr_nargs (_q40) == 1)
   16827              :     {
   16828            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16829            0 :                                 switch (TREE_CODE (_q31))
   16830              :                                   {
   16831            0 :                                   case INTEGER_CST:
   16832            0 :                                     {
   16833            0 :                                       switch (TREE_CODE (_p1))
   16834              :                                         {
   16835            0 :                                         case INTEGER_CST:
   16836            0 :                                           {
   16837            0 :                                             {
   16838            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16839            0 :                                               tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16840            0 :                                               if (res) return res;
   16841              :                                             }
   16842            0 :                                             break;
   16843              :                                           }
   16844              :                                         default:;
   16845              :                                         }
   16846              :                                       break;
   16847              :                                     }
   16848              :                                   default:;
   16849              :                                   }
   16850              :                               }
   16851              :                             break;
   16852              :                           default:;
   16853              :                           }
   16854              :                         break;
   16855              :                       default:;
   16856              :                       }
   16857              :                     break;
   16858              :                   }
   16859       113328 :                 default:;
   16860              :                 }
   16861       113328 :               switch (TREE_CODE (_q31))
   16862              :                 {
   16863        39025 :                 case INTEGER_CST:
   16864        39025 :                   {
   16865        39025 :                     switch (TREE_CODE (_p1))
   16866              :                       {
   16867        38953 :                       case INTEGER_CST:
   16868        38953 :                         {
   16869        38953 :                           {
   16870        38953 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
   16871        38953 :                             tree res = generic_simplify_492 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16872        38953 :                             if (res) return res;
   16873              :                           }
   16874        38881 :                           break;
   16875              :                         }
   16876              :                       default:;
   16877              :                       }
   16878              :                     break;
   16879              :                   }
   16880       113256 :                 default:;
   16881              :                 }
   16882       113256 :               switch (TREE_CODE (_q30))
   16883              :                 {
   16884           80 :                 case CALL_EXPR:
   16885           80 :                   switch (get_call_combined_fn (_q30))
   16886              :                     {
   16887            0 :                     case CFN_BSWAP:
   16888            0 :                       if (call_expr_nargs (_q30) == 1)
   16889              :     {
   16890            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16891            0 :                           switch (TREE_CODE (_q31))
   16892              :                             {
   16893            0 :                             case INTEGER_CST:
   16894            0 :                               {
   16895            0 :                                 switch (TREE_CODE (_p1))
   16896              :                                   {
   16897            0 :                                   case INTEGER_CST:
   16898            0 :                                     {
   16899            0 :                                       {
   16900            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16901            0 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BSWAP);
   16902            0 :                                         if (res) return res;
   16903              :                                       }
   16904            0 :                                       break;
   16905              :                                     }
   16906              :                                   default:;
   16907              :                                   }
   16908              :                                 break;
   16909              :                               }
   16910              :                             default:;
   16911              :                             }
   16912              :                         }
   16913              :                       break;
   16914            0 :                     case CFN_BUILT_IN_BSWAP128:
   16915            0 :                       if (call_expr_nargs (_q30) == 1)
   16916              :     {
   16917            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16918            0 :                           switch (TREE_CODE (_q31))
   16919              :                             {
   16920            0 :                             case INTEGER_CST:
   16921            0 :                               {
   16922            0 :                                 switch (TREE_CODE (_p1))
   16923              :                                   {
   16924            0 :                                   case INTEGER_CST:
   16925            0 :                                     {
   16926            0 :                                       {
   16927            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16928            0 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16929            0 :                                         if (res) return res;
   16930              :                                       }
   16931            0 :                                       break;
   16932              :                                     }
   16933              :                                   default:;
   16934              :                                   }
   16935              :                                 break;
   16936              :                               }
   16937              :                             default:;
   16938              :                             }
   16939              :                         }
   16940              :                       break;
   16941            9 :                     case CFN_BUILT_IN_BSWAP16:
   16942            9 :                       if (call_expr_nargs (_q30) == 1)
   16943              :     {
   16944            9 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16945            9 :                           switch (TREE_CODE (_q31))
   16946              :                             {
   16947            9 :                             case INTEGER_CST:
   16948            9 :                               {
   16949            9 :                                 switch (TREE_CODE (_p1))
   16950              :                                   {
   16951            9 :                                   case INTEGER_CST:
   16952            9 :                                     {
   16953            9 :                                       {
   16954            9 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16955            9 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16956            9 :                                         if (res) return res;
   16957              :                                       }
   16958            0 :                                       break;
   16959              :                                     }
   16960              :                                   default:;
   16961              :                                   }
   16962              :                                 break;
   16963              :                               }
   16964              :                             default:;
   16965              :                             }
   16966              :                         }
   16967              :                       break;
   16968            0 :                     case CFN_BUILT_IN_BSWAP32:
   16969            0 :                       if (call_expr_nargs (_q30) == 1)
   16970              :     {
   16971            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16972            0 :                           switch (TREE_CODE (_q31))
   16973              :                             {
   16974            0 :                             case INTEGER_CST:
   16975            0 :                               {
   16976            0 :                                 switch (TREE_CODE (_p1))
   16977              :                                   {
   16978            0 :                                   case INTEGER_CST:
   16979            0 :                                     {
   16980            0 :                                       {
   16981            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16982            0 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16983            0 :                                         if (res) return res;
   16984              :                                       }
   16985            0 :                                       break;
   16986              :                                     }
   16987              :                                   default:;
   16988              :                                   }
   16989              :                                 break;
   16990              :                               }
   16991              :                             default:;
   16992              :                             }
   16993              :                         }
   16994              :                       break;
   16995           71 :                     case CFN_BUILT_IN_BSWAP64:
   16996           71 :                       if (call_expr_nargs (_q30) == 1)
   16997              :     {
   16998           71 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16999           71 :                           switch (TREE_CODE (_q31))
   17000              :                             {
   17001           70 :                             case INTEGER_CST:
   17002           70 :                               {
   17003           70 :                                 switch (TREE_CODE (_p1))
   17004              :                                   {
   17005           70 :                                   case INTEGER_CST:
   17006           70 :                                     {
   17007           70 :                                       {
   17008           70 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   17009           70 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   17010           70 :                                         if (res) return res;
   17011              :                                       }
   17012            0 :                                       break;
   17013              :                                     }
   17014              :                                   default:;
   17015              :                                   }
   17016              :                                 break;
   17017              :                               }
   17018              :                             default:;
   17019              :                             }
   17020              :                         }
   17021              :                       break;
   17022              :                     default:;
   17023              :                     }
   17024              :                   break;
   17025              :                 default:;
   17026              :                 }
   17027              :               break;
   17028              :             }
   17029        29624 :           case CALL_EXPR:
   17030        29624 :             switch (get_call_combined_fn (_q20))
   17031              :               {
   17032            0 :               case CFN_BSWAP:
   17033            0 :                 if (call_expr_nargs (_q20) == 1)
   17034              :     {
   17035            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17036            0 :                     switch (TREE_CODE (_p1))
   17037              :                       {
   17038            0 :                       case INTEGER_CST:
   17039            0 :                         {
   17040            0 :                           {
   17041            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   17042            0 :                             tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BSWAP);
   17043            0 :                             if (res) return res;
   17044              :                           }
   17045            0 :                           break;
   17046              :                         }
   17047              :                       default:;
   17048              :                       }
   17049              :                   }
   17050              :                 break;
   17051            0 :               case CFN_BUILT_IN_BSWAP128:
   17052            0 :                 if (call_expr_nargs (_q20) == 1)
   17053              :     {
   17054            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17055            0 :                     switch (TREE_CODE (_p1))
   17056              :                       {
   17057            0 :                       case INTEGER_CST:
   17058            0 :                         {
   17059            0 :                           {
   17060            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   17061            0 :                             tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   17062            0 :                             if (res) return res;
   17063              :                           }
   17064            0 :                           break;
   17065              :                         }
   17066              :                       default:;
   17067              :                       }
   17068              :                   }
   17069              :                 break;
   17070           10 :               case CFN_BUILT_IN_BSWAP16:
   17071           10 :                 if (call_expr_nargs (_q20) == 1)
   17072              :     {
   17073           10 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17074           10 :                     switch (TREE_CODE (_p1))
   17075              :                       {
   17076           10 :                       case INTEGER_CST:
   17077           10 :                         {
   17078           10 :                           {
   17079           10 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   17080           10 :                             tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   17081           10 :                             if (res) return res;
   17082              :                           }
   17083            0 :                           break;
   17084              :                         }
   17085              :                       default:;
   17086              :                       }
   17087              :                   }
   17088              :                 break;
   17089            4 :               case CFN_BUILT_IN_BSWAP32:
   17090            4 :                 if (call_expr_nargs (_q20) == 1)
   17091              :     {
   17092            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17093            4 :                     switch (TREE_CODE (_p1))
   17094              :                       {
   17095            4 :                       case INTEGER_CST:
   17096            4 :                         {
   17097            4 :                           {
   17098            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   17099            4 :                             tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   17100            4 :                             if (res) return res;
   17101              :                           }
   17102            0 :                           break;
   17103              :                         }
   17104              :                       default:;
   17105              :                       }
   17106              :                   }
   17107              :                 break;
   17108            4 :               case CFN_BUILT_IN_BSWAP64:
   17109            4 :                 if (call_expr_nargs (_q20) == 1)
   17110              :     {
   17111            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17112            4 :                     switch (TREE_CODE (_p1))
   17113              :                       {
   17114            4 :                       case INTEGER_CST:
   17115            4 :                         {
   17116            4 :                           {
   17117            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   17118            4 :                             tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   17119            4 :                             if (res) return res;
   17120              :                           }
   17121            0 :                           break;
   17122              :                         }
   17123              :                       default:;
   17124              :                       }
   17125              :                   }
   17126              :                 break;
   17127              :               default:;
   17128              :               }
   17129              :             break;
   17130              :           default:;
   17131              :           }
   17132              :         break;
   17133              :       }
   17134        80463 :     case RSHIFT_EXPR:
   17135        80463 :       {
   17136        80463 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17137        80463 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17138        80463 :         switch (TREE_CODE (_q20))
   17139              :           {
   17140        29063 :           CASE_CONVERT:
   17141        29063 :             {
   17142        29063 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17143        29063 :               switch (TREE_CODE (_q21))
   17144              :                 {
   17145        25782 :                 case INTEGER_CST:
   17146        25782 :                   {
   17147        25782 :                     switch (TREE_CODE (_p1))
   17148              :                       {
   17149        25782 :                       case INTEGER_CST:
   17150        25782 :                         {
   17151        25782 :                           {
   17152        25782 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
   17153        25782 :                             tree res = generic_simplify_489 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   17154        25782 :                             if (res) return res;
   17155              :                           }
   17156        25458 :                           break;
   17157              :                         }
   17158              :                       default:;
   17159              :                       }
   17160              :                     break;
   17161              :                   }
   17162        28739 :                 default:;
   17163              :                 }
   17164        28739 :               switch (TREE_CODE (_q30))
   17165              :                 {
   17166           22 :                 case CALL_EXPR:
   17167           22 :                   switch (get_call_combined_fn (_q30))
   17168              :                     {
   17169            0 :                     case CFN_BSWAP:
   17170            0 :                       if (call_expr_nargs (_q30) == 1)
   17171              :     {
   17172            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17173            0 :                           switch (TREE_CODE (_q21))
   17174              :                             {
   17175            0 :                             case INTEGER_CST:
   17176            0 :                               {
   17177            0 :                                 switch (TREE_CODE (_p1))
   17178              :                                   {
   17179            0 :                                   case INTEGER_CST:
   17180            0 :                                     {
   17181            0 :                                       {
   17182            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17183            0 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BSWAP);
   17184            0 :                                         if (res) return res;
   17185              :                                       }
   17186            0 :                                       break;
   17187              :                                     }
   17188              :                                   default:;
   17189              :                                   }
   17190              :                                 break;
   17191              :                               }
   17192              :                             default:;
   17193              :                             }
   17194              :                         }
   17195              :                       break;
   17196            0 :                     case CFN_BUILT_IN_BSWAP128:
   17197            0 :                       if (call_expr_nargs (_q30) == 1)
   17198              :     {
   17199            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17200            0 :                           switch (TREE_CODE (_q21))
   17201              :                             {
   17202            0 :                             case INTEGER_CST:
   17203            0 :                               {
   17204            0 :                                 switch (TREE_CODE (_p1))
   17205              :                                   {
   17206            0 :                                   case INTEGER_CST:
   17207            0 :                                     {
   17208            0 :                                       {
   17209            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17210            0 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   17211            0 :                                         if (res) return res;
   17212              :                                       }
   17213            0 :                                       break;
   17214              :                                     }
   17215              :                                   default:;
   17216              :                                   }
   17217              :                                 break;
   17218              :                               }
   17219              :                             default:;
   17220              :                             }
   17221              :                         }
   17222              :                       break;
   17223            1 :                     case CFN_BUILT_IN_BSWAP16:
   17224            1 :                       if (call_expr_nargs (_q30) == 1)
   17225              :     {
   17226            1 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17227            1 :                           switch (TREE_CODE (_q21))
   17228              :                             {
   17229            0 :                             case INTEGER_CST:
   17230            0 :                               {
   17231            0 :                                 switch (TREE_CODE (_p1))
   17232              :                                   {
   17233            0 :                                   case INTEGER_CST:
   17234            0 :                                     {
   17235            0 :                                       {
   17236            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17237            0 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   17238            0 :                                         if (res) return res;
   17239              :                                       }
   17240            0 :                                       break;
   17241              :                                     }
   17242              :                                   default:;
   17243              :                                   }
   17244              :                                 break;
   17245              :                               }
   17246              :                             default:;
   17247              :                             }
   17248              :                         }
   17249              :                       break;
   17250            9 :                     case CFN_BUILT_IN_BSWAP32:
   17251            9 :                       if (call_expr_nargs (_q30) == 1)
   17252              :     {
   17253            9 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17254            9 :                           switch (TREE_CODE (_q21))
   17255              :                             {
   17256            9 :                             case INTEGER_CST:
   17257            9 :                               {
   17258            9 :                                 switch (TREE_CODE (_p1))
   17259              :                                   {
   17260            9 :                                   case INTEGER_CST:
   17261            9 :                                     {
   17262            9 :                                       {
   17263            9 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17264            9 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   17265            9 :                                         if (res) return res;
   17266              :                                       }
   17267            0 :                                       break;
   17268              :                                     }
   17269              :                                   default:;
   17270              :                                   }
   17271              :                                 break;
   17272              :                               }
   17273              :                             default:;
   17274              :                             }
   17275              :                         }
   17276              :                       break;
   17277           12 :                     case CFN_BUILT_IN_BSWAP64:
   17278           12 :                       if (call_expr_nargs (_q30) == 1)
   17279              :     {
   17280           12 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17281           12 :                           switch (TREE_CODE (_q21))
   17282              :                             {
   17283           12 :                             case INTEGER_CST:
   17284           12 :                               {
   17285           12 :                                 switch (TREE_CODE (_p1))
   17286              :                                   {
   17287           12 :                                   case INTEGER_CST:
   17288           12 :                                     {
   17289           12 :                                       {
   17290           12 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   17291           12 :                                         tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   17292           12 :                                         if (res) return res;
   17293              :                                       }
   17294            0 :                                       break;
   17295              :                                     }
   17296              :                                   default:;
   17297              :                                   }
   17298              :                                 break;
   17299              :                               }
   17300              :                             default:;
   17301              :                             }
   17302              :                         }
   17303              :                       break;
   17304              :                     default:;
   17305              :                     }
   17306              :                   break;
   17307              :                 default:;
   17308              :                 }
   17309              :               break;
   17310              :             }
   17311        80118 :           default:;
   17312              :           }
   17313        80118 :         switch (TREE_CODE (_q21))
   17314              :           {
   17315        34767 :           case INTEGER_CST:
   17316        34767 :             {
   17317        34767 :               switch (TREE_CODE (_p1))
   17318              :                 {
   17319        34622 :                 case INTEGER_CST:
   17320        34622 :                   {
   17321        34622 :                     {
   17322        34622 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
   17323        34622 :                       tree res = generic_simplify_490 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   17324        34622 :                       if (res) return res;
   17325              :                     }
   17326        32923 :                     break;
   17327              :                   }
   17328              :                 default:;
   17329              :                 }
   17330              :               break;
   17331              :             }
   17332        78419 :           default:;
   17333              :           }
   17334        78419 :         switch (TREE_CODE (_q20))
   17335              :           {
   17336          140 :           case CALL_EXPR:
   17337          140 :             switch (get_call_combined_fn (_q20))
   17338              :               {
   17339            0 :               case CFN_BSWAP:
   17340            0 :                 if (call_expr_nargs (_q20) == 1)
   17341              :     {
   17342            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17343            0 :                     switch (TREE_CODE (_q21))
   17344              :                       {
   17345            0 :                       case INTEGER_CST:
   17346            0 :                         {
   17347            0 :                           switch (TREE_CODE (_p1))
   17348              :                             {
   17349            0 :                             case INTEGER_CST:
   17350            0 :                               {
   17351            0 :                                 {
   17352            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17353            0 :                                   tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BSWAP);
   17354            0 :                                   if (res) return res;
   17355              :                                 }
   17356            0 :                                 break;
   17357              :                               }
   17358              :                             default:;
   17359              :                             }
   17360              :                           break;
   17361              :                         }
   17362              :                       default:;
   17363              :                       }
   17364              :                   }
   17365              :                 break;
   17366            0 :               case CFN_BUILT_IN_BSWAP128:
   17367            0 :                 if (call_expr_nargs (_q20) == 1)
   17368              :     {
   17369            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17370            0 :                     switch (TREE_CODE (_q21))
   17371              :                       {
   17372            0 :                       case INTEGER_CST:
   17373            0 :                         {
   17374            0 :                           switch (TREE_CODE (_p1))
   17375              :                             {
   17376            0 :                             case INTEGER_CST:
   17377            0 :                               {
   17378            0 :                                 {
   17379            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17380            0 :                                   tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   17381            0 :                                   if (res) return res;
   17382              :                                 }
   17383            0 :                                 break;
   17384              :                               }
   17385              :                             default:;
   17386              :                             }
   17387              :                           break;
   17388              :                         }
   17389              :                       default:;
   17390              :                       }
   17391              :                   }
   17392              :                 break;
   17393            0 :               case CFN_BUILT_IN_BSWAP16:
   17394            0 :                 if (call_expr_nargs (_q20) == 1)
   17395              :     {
   17396            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17397            0 :                     switch (TREE_CODE (_q21))
   17398              :                       {
   17399            0 :                       case INTEGER_CST:
   17400            0 :                         {
   17401            0 :                           switch (TREE_CODE (_p1))
   17402              :                             {
   17403            0 :                             case INTEGER_CST:
   17404            0 :                               {
   17405            0 :                                 {
   17406            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17407            0 :                                   tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   17408            0 :                                   if (res) return res;
   17409              :                                 }
   17410            0 :                                 break;
   17411              :                               }
   17412              :                             default:;
   17413              :                             }
   17414              :                           break;
   17415              :                         }
   17416              :                       default:;
   17417              :                       }
   17418              :                   }
   17419              :                 break;
   17420           60 :               case CFN_BUILT_IN_BSWAP32:
   17421           60 :                 if (call_expr_nargs (_q20) == 1)
   17422              :     {
   17423           60 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17424           60 :                     switch (TREE_CODE (_q21))
   17425              :                       {
   17426           59 :                       case INTEGER_CST:
   17427           59 :                         {
   17428           59 :                           switch (TREE_CODE (_p1))
   17429              :                             {
   17430           59 :                             case INTEGER_CST:
   17431           59 :                               {
   17432           59 :                                 {
   17433           59 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17434           59 :                                   tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   17435           59 :                                   if (res) return res;
   17436              :                                 }
   17437            0 :                                 break;
   17438              :                               }
   17439              :                             default:;
   17440              :                             }
   17441              :                           break;
   17442              :                         }
   17443              :                       default:;
   17444              :                       }
   17445              :                   }
   17446              :                 break;
   17447           73 :               case CFN_BUILT_IN_BSWAP64:
   17448           73 :                 if (call_expr_nargs (_q20) == 1)
   17449              :     {
   17450           73 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17451           73 :                     switch (TREE_CODE (_q21))
   17452              :                       {
   17453           73 :                       case INTEGER_CST:
   17454           73 :                         {
   17455           73 :                           switch (TREE_CODE (_p1))
   17456              :                             {
   17457           73 :                             case INTEGER_CST:
   17458           73 :                               {
   17459           73 :                                 {
   17460           73 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   17461           73 :                                   tree res = generic_simplify_493 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   17462           73 :                                   if (res) return res;
   17463              :                                 }
   17464            0 :                                 break;
   17465              :                               }
   17466              :                             default:;
   17467              :                             }
   17468              :                           break;
   17469              :                         }
   17470              :                       default:;
   17471              :                       }
   17472              :                   }
   17473              :                 break;
   17474              :               default:;
   17475              :               }
   17476              :             break;
   17477              :           default:;
   17478              :           }
   17479              :         break;
   17480              :       }
   17481           65 :     case VEC_COND_EXPR:
   17482           65 :       {
   17483           65 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17484           65 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17485           65 :         tree _q22 = TREE_OPERAND (_p0, 2);
   17486           65 :         switch (TREE_CODE (_p1))
   17487              :           {
   17488           47 :           case VEC_COND_EXPR:
   17489           47 :             {
   17490           47 :               tree _q60 = TREE_OPERAND (_p1, 0);
   17491           47 :               tree _q61 = TREE_OPERAND (_p1, 1);
   17492           47 :               tree _q62 = TREE_OPERAND (_p1, 2);
   17493           47 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17494              :                 {
   17495            0 :                   {
   17496            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   17497            0 :                     if (VECTOR_TYPE_P (type)
   17498            0 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   17499              :  || types_match (type, TREE_TYPE (captures[2]))
   17500              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   17501              :  || (optimize_vectors_before_lowering_p ()
   17502              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   17503              : )
   17504              :                       {
   17505            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1690;
   17506            0 :                         {
   17507            0 :                           tree res_op0;
   17508            0 :                           res_op0 = captures[1];
   17509            0 :                           tree res_op1;
   17510            0 :                           {
   17511            0 :                             tree _o1[2], _r1;
   17512            0 :                             _o1[0] = captures[2];
   17513            0 :                             _o1[1] = captures[5];
   17514            0 :                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   17515            0 :                             if (EXPR_P (_r1))
   17516            0 :                               goto next_after_fail1690;
   17517            0 :                             res_op1 = _r1;
   17518              :                           }
   17519            0 :                           tree res_op2;
   17520            0 :                           {
   17521            0 :                             tree _o1[2], _r1;
   17522            0 :                             _o1[0] = captures[3];
   17523            0 :                             _o1[1] = captures[6];
   17524            0 :                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   17525            0 :                             if (EXPR_P (_r1))
   17526            0 :                               goto next_after_fail1690;
   17527            0 :                             res_op2 = _r1;
   17528              :                           }
   17529            0 :                           tree _r;
   17530            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17531            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   17532            0 :                           return _r;
   17533              :                         }
   17534            0 : next_after_fail1690:;
   17535              :                       }
   17536              :                   }
   17537              :                 }
   17538              :               break;
   17539              :             }
   17540           65 :           default:;
   17541              :           }
   17542           65 :         if (integer_minus_onep (_q21))
   17543              :           {
   17544           65 :             if (integer_zerop (_q22))
   17545              :               {
   17546           65 :                 switch (TREE_CODE (_p1))
   17547              :                   {
   17548           47 :                   case VEC_COND_EXPR:
   17549           47 :                     {
   17550           47 :                       tree _q60 = TREE_OPERAND (_p1, 0);
   17551           47 :                       tree _q61 = TREE_OPERAND (_p1, 1);
   17552           47 :                       tree _q62 = TREE_OPERAND (_p1, 2);
   17553           47 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   17554              :                         {
   17555           47 :                           if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   17556              :                             {
   17557           47 :                               {
   17558           47 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17559           47 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17560           47 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17561              : )
   17562              :                                   {
   17563           47 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1691;
   17564           47 :                                     {
   17565           47 :                                       tree res_op0;
   17566           47 :                                       {
   17567           47 :                                         tree _o1[2], _r1;
   17568           47 :                                         _o1[0] = captures[0];
   17569           47 :                                         _o1[1] = captures[3];
   17570           47 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17571           47 :                                         res_op0 = _r1;
   17572              :                                       }
   17573           47 :                                       tree res_op1;
   17574           47 :                                       res_op1 = captures[1];
   17575           47 :                                       tree res_op2;
   17576           47 :                                       res_op2 = captures[2];
   17577           47 :                                       tree _r;
   17578           47 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17579           47 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17580           47 :                                       return _r;
   17581              :                                     }
   17582            0 : next_after_fail1691:;
   17583              :                                   }
   17584              :                               }
   17585            0 :                               {
   17586            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17587            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17588            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17589              : )
   17590              :                                   {
   17591            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1692;
   17592            0 :                                     {
   17593            0 :                                       tree res_op0;
   17594            0 :                                       {
   17595            0 :                                         tree _o1[2], _r1;
   17596            0 :                                         _o1[0] = captures[0];
   17597            0 :                                         _o1[1] = captures[3];
   17598            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17599            0 :                                         res_op0 = _r1;
   17600              :                                       }
   17601            0 :                                       tree res_op1;
   17602            0 :                                       res_op1 = captures[1];
   17603            0 :                                       tree res_op2;
   17604            0 :                                       res_op2 = captures[2];
   17605            0 :                                       tree _r;
   17606            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17607            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17608            0 :                                       return _r;
   17609              :                                     }
   17610            0 : next_after_fail1692:;
   17611              :                                   }
   17612              :                               }
   17613            0 :                               {
   17614            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17615            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17616            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17617              : )
   17618              :                                   {
   17619            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1693;
   17620            0 :                                     {
   17621            0 :                                       tree res_op0;
   17622            0 :                                       {
   17623            0 :                                         tree _o1[2], _r1;
   17624            0 :                                         _o1[0] = captures[0];
   17625            0 :                                         _o1[1] = captures[3];
   17626            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17627            0 :                                         res_op0 = _r1;
   17628              :                                       }
   17629            0 :                                       tree res_op1;
   17630            0 :                                       res_op1 = captures[1];
   17631            0 :                                       tree res_op2;
   17632            0 :                                       res_op2 = captures[2];
   17633            0 :                                       tree _r;
   17634            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17635            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17636            0 :                                       return _r;
   17637              :                                     }
   17638            0 : next_after_fail1693:;
   17639              :                                   }
   17640              :                               }
   17641            0 :                               {
   17642            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17643            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17644            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17645              : )
   17646              :                                   {
   17647            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1694;
   17648            0 :                                     {
   17649            0 :                                       tree res_op0;
   17650            0 :                                       {
   17651            0 :                                         tree _o1[2], _r1;
   17652            0 :                                         _o1[0] = captures[0];
   17653            0 :                                         _o1[1] = captures[3];
   17654            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17655            0 :                                         res_op0 = _r1;
   17656              :                                       }
   17657            0 :                                       tree res_op1;
   17658            0 :                                       res_op1 = captures[1];
   17659            0 :                                       tree res_op2;
   17660            0 :                                       res_op2 = captures[2];
   17661            0 :                                       tree _r;
   17662            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17663            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17664            0 :                                       return _r;
   17665              :                                     }
   17666            0 : next_after_fail1694:;
   17667              :                                   }
   17668              :                               }
   17669            0 :                               {
   17670            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17671            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17672            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17673              : )
   17674              :                                   {
   17675            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1695;
   17676            0 :                                     {
   17677            0 :                                       tree res_op0;
   17678            0 :                                       {
   17679            0 :                                         tree _o1[2], _r1;
   17680            0 :                                         _o1[0] = captures[0];
   17681            0 :                                         _o1[1] = captures[3];
   17682            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17683            0 :                                         res_op0 = _r1;
   17684              :                                       }
   17685            0 :                                       tree res_op1;
   17686            0 :                                       res_op1 = captures[1];
   17687            0 :                                       tree res_op2;
   17688            0 :                                       res_op2 = captures[2];
   17689            0 :                                       tree _r;
   17690            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17691            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17692            0 :                                       return _r;
   17693              :                                     }
   17694            0 : next_after_fail1695:;
   17695              :                                   }
   17696              :                               }
   17697            0 :                               {
   17698            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17699            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17700            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17701              : )
   17702              :                                   {
   17703            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1696;
   17704            0 :                                     {
   17705            0 :                                       tree res_op0;
   17706            0 :                                       {
   17707            0 :                                         tree _o1[2], _r1;
   17708            0 :                                         _o1[0] = captures[0];
   17709            0 :                                         _o1[1] = captures[3];
   17710            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17711            0 :                                         res_op0 = _r1;
   17712              :                                       }
   17713            0 :                                       tree res_op1;
   17714            0 :                                       res_op1 = captures[1];
   17715            0 :                                       tree res_op2;
   17716            0 :                                       res_op2 = captures[2];
   17717            0 :                                       tree _r;
   17718            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17719            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17720            0 :                                       return _r;
   17721              :                                     }
   17722            0 : next_after_fail1696:;
   17723              :                                   }
   17724              :                               }
   17725            0 :                               {
   17726            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17727            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17728            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17729              : )
   17730              :                                   {
   17731            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1697;
   17732            0 :                                     {
   17733            0 :                                       tree res_op0;
   17734            0 :                                       {
   17735            0 :                                         tree _o1[2], _r1;
   17736            0 :                                         _o1[0] = captures[0];
   17737            0 :                                         _o1[1] = captures[3];
   17738            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17739            0 :                                         res_op0 = _r1;
   17740              :                                       }
   17741            0 :                                       tree res_op1;
   17742            0 :                                       res_op1 = captures[1];
   17743            0 :                                       tree res_op2;
   17744            0 :                                       res_op2 = captures[2];
   17745            0 :                                       tree _r;
   17746            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17747            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17748            0 :                                       return _r;
   17749              :                                     }
   17750            0 : next_after_fail1697:;
   17751              :                                   }
   17752              :                               }
   17753            0 :                               {
   17754            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17755            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17756            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17757              : )
   17758              :                                   {
   17759            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1698;
   17760            0 :                                     {
   17761            0 :                                       tree res_op0;
   17762            0 :                                       {
   17763            0 :                                         tree _o1[2], _r1;
   17764            0 :                                         _o1[0] = captures[0];
   17765            0 :                                         _o1[1] = captures[3];
   17766            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17767            0 :                                         res_op0 = _r1;
   17768              :                                       }
   17769            0 :                                       tree res_op1;
   17770            0 :                                       res_op1 = captures[1];
   17771            0 :                                       tree res_op2;
   17772            0 :                                       res_op2 = captures[2];
   17773            0 :                                       tree _r;
   17774            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17775            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17776            0 :                                       return _r;
   17777              :                                     }
   17778            0 : next_after_fail1698:;
   17779              :                                   }
   17780              :                               }
   17781            0 :                               {
   17782            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17783            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17784            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17785              : )
   17786              :                                   {
   17787            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1699;
   17788            0 :                                     {
   17789            0 :                                       tree res_op0;
   17790            0 :                                       {
   17791            0 :                                         tree _o1[2], _r1;
   17792            0 :                                         _o1[0] = captures[0];
   17793            0 :                                         _o1[1] = captures[3];
   17794            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17795            0 :                                         res_op0 = _r1;
   17796              :                                       }
   17797            0 :                                       tree res_op1;
   17798            0 :                                       res_op1 = captures[1];
   17799            0 :                                       tree res_op2;
   17800            0 :                                       res_op2 = captures[2];
   17801            0 :                                       tree _r;
   17802            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17803            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17804            0 :                                       return _r;
   17805              :                                     }
   17806            0 : next_after_fail1699:;
   17807              :                                   }
   17808              :                               }
   17809            0 :                               {
   17810            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17811            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17812            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17813              : )
   17814              :                                   {
   17815            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1700;
   17816            0 :                                     {
   17817            0 :                                       tree res_op0;
   17818            0 :                                       {
   17819            0 :                                         tree _o1[2], _r1;
   17820            0 :                                         _o1[0] = captures[0];
   17821            0 :                                         _o1[1] = captures[3];
   17822            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17823            0 :                                         res_op0 = _r1;
   17824              :                                       }
   17825            0 :                                       tree res_op1;
   17826            0 :                                       res_op1 = captures[1];
   17827            0 :                                       tree res_op2;
   17828            0 :                                       res_op2 = captures[2];
   17829            0 :                                       tree _r;
   17830            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17831            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17832            0 :                                       return _r;
   17833              :                                     }
   17834            0 : next_after_fail1700:;
   17835              :                                   }
   17836              :                               }
   17837            0 :                               {
   17838            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17839            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17840            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17841              : )
   17842              :                                   {
   17843            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1701;
   17844            0 :                                     {
   17845            0 :                                       tree res_op0;
   17846            0 :                                       {
   17847            0 :                                         tree _o1[2], _r1;
   17848            0 :                                         _o1[0] = captures[0];
   17849            0 :                                         _o1[1] = captures[3];
   17850            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17851            0 :                                         res_op0 = _r1;
   17852              :                                       }
   17853            0 :                                       tree res_op1;
   17854            0 :                                       res_op1 = captures[1];
   17855            0 :                                       tree res_op2;
   17856            0 :                                       res_op2 = captures[2];
   17857            0 :                                       tree _r;
   17858            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17859            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17860            0 :                                       return _r;
   17861              :                                     }
   17862            0 : next_after_fail1701:;
   17863              :                                   }
   17864              :                               }
   17865            0 :                               {
   17866            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17867            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17868            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17869              : )
   17870              :                                   {
   17871            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1702;
   17872            0 :                                     {
   17873            0 :                                       tree res_op0;
   17874            0 :                                       {
   17875            0 :                                         tree _o1[2], _r1;
   17876            0 :                                         _o1[0] = captures[0];
   17877            0 :                                         _o1[1] = captures[3];
   17878            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17879            0 :                                         res_op0 = _r1;
   17880              :                                       }
   17881            0 :                                       tree res_op1;
   17882            0 :                                       res_op1 = captures[1];
   17883            0 :                                       tree res_op2;
   17884            0 :                                       res_op2 = captures[2];
   17885            0 :                                       tree _r;
   17886            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17887            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17888            0 :                                       return _r;
   17889              :                                     }
   17890            0 : next_after_fail1702:;
   17891              :                                   }
   17892              :                               }
   17893            0 :                               {
   17894            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17895            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17896            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17897              : )
   17898              :                                   {
   17899            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1703;
   17900            0 :                                     {
   17901            0 :                                       tree res_op0;
   17902            0 :                                       {
   17903            0 :                                         tree _o1[2], _r1;
   17904            0 :                                         _o1[0] = captures[0];
   17905            0 :                                         _o1[1] = captures[3];
   17906            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17907            0 :                                         res_op0 = _r1;
   17908              :                                       }
   17909            0 :                                       tree res_op1;
   17910            0 :                                       res_op1 = captures[1];
   17911            0 :                                       tree res_op2;
   17912            0 :                                       res_op2 = captures[2];
   17913            0 :                                       tree _r;
   17914            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17915            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17916            0 :                                       return _r;
   17917              :                                     }
   17918            0 : next_after_fail1703:;
   17919              :                                   }
   17920              :                               }
   17921            0 :                               {
   17922            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17923            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17924            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17925              : )
   17926              :                                   {
   17927            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1704;
   17928            0 :                                     {
   17929            0 :                                       tree res_op0;
   17930            0 :                                       {
   17931            0 :                                         tree _o1[2], _r1;
   17932            0 :                                         _o1[0] = captures[0];
   17933            0 :                                         _o1[1] = captures[3];
   17934            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17935            0 :                                         res_op0 = _r1;
   17936              :                                       }
   17937            0 :                                       tree res_op1;
   17938            0 :                                       res_op1 = captures[1];
   17939            0 :                                       tree res_op2;
   17940            0 :                                       res_op2 = captures[2];
   17941            0 :                                       tree _r;
   17942            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17943            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17944            0 :                                       return _r;
   17945              :                                     }
   17946            0 : next_after_fail1704:;
   17947              :                                   }
   17948              :                               }
   17949            0 :                               {
   17950            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17951            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17952            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17953              : )
   17954              :                                   {
   17955            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1705;
   17956            0 :                                     {
   17957            0 :                                       tree res_op0;
   17958            0 :                                       {
   17959            0 :                                         tree _o1[2], _r1;
   17960            0 :                                         _o1[0] = captures[0];
   17961            0 :                                         _o1[1] = captures[3];
   17962            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17963            0 :                                         res_op0 = _r1;
   17964              :                                       }
   17965            0 :                                       tree res_op1;
   17966            0 :                                       res_op1 = captures[1];
   17967            0 :                                       tree res_op2;
   17968            0 :                                       res_op2 = captures[2];
   17969            0 :                                       tree _r;
   17970            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17971            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   17972            0 :                                       return _r;
   17973              :                                     }
   17974            0 : next_after_fail1705:;
   17975              :                                   }
   17976              :                               }
   17977            0 :                               {
   17978            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17979            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17980            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17981              : )
   17982              :                                   {
   17983            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1706;
   17984            0 :                                     {
   17985            0 :                                       tree res_op0;
   17986            0 :                                       {
   17987            0 :                                         tree _o1[2], _r1;
   17988            0 :                                         _o1[0] = captures[0];
   17989            0 :                                         _o1[1] = captures[3];
   17990            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17991            0 :                                         res_op0 = _r1;
   17992              :                                       }
   17993            0 :                                       tree res_op1;
   17994            0 :                                       res_op1 = captures[1];
   17995            0 :                                       tree res_op2;
   17996            0 :                                       res_op2 = captures[2];
   17997            0 :                                       tree _r;
   17998            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17999            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18000            0 :                                       return _r;
   18001              :                                     }
   18002            0 : next_after_fail1706:;
   18003              :                                   }
   18004              :                               }
   18005            0 :                               {
   18006            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18007            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18008            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18009              : )
   18010              :                                   {
   18011            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1707;
   18012            0 :                                     {
   18013            0 :                                       tree res_op0;
   18014            0 :                                       {
   18015            0 :                                         tree _o1[2], _r1;
   18016            0 :                                         _o1[0] = captures[0];
   18017            0 :                                         _o1[1] = captures[3];
   18018            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18019            0 :                                         res_op0 = _r1;
   18020              :                                       }
   18021            0 :                                       tree res_op1;
   18022            0 :                                       res_op1 = captures[1];
   18023            0 :                                       tree res_op2;
   18024            0 :                                       res_op2 = captures[2];
   18025            0 :                                       tree _r;
   18026            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18027            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18028            0 :                                       return _r;
   18029              :                                     }
   18030            0 : next_after_fail1707:;
   18031              :                                   }
   18032              :                               }
   18033            0 :                               {
   18034            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18035            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18036            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18037              : )
   18038              :                                   {
   18039            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1708;
   18040            0 :                                     {
   18041            0 :                                       tree res_op0;
   18042            0 :                                       {
   18043            0 :                                         tree _o1[2], _r1;
   18044            0 :                                         _o1[0] = captures[0];
   18045            0 :                                         _o1[1] = captures[3];
   18046            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18047            0 :                                         res_op0 = _r1;
   18048              :                                       }
   18049            0 :                                       tree res_op1;
   18050            0 :                                       res_op1 = captures[1];
   18051            0 :                                       tree res_op2;
   18052            0 :                                       res_op2 = captures[2];
   18053            0 :                                       tree _r;
   18054            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18055            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18056            0 :                                       return _r;
   18057              :                                     }
   18058            0 : next_after_fail1708:;
   18059              :                                   }
   18060              :                               }
   18061            0 :                               {
   18062            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18063            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18064            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18065              : )
   18066              :                                   {
   18067            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1709;
   18068            0 :                                     {
   18069            0 :                                       tree res_op0;
   18070            0 :                                       {
   18071            0 :                                         tree _o1[2], _r1;
   18072            0 :                                         _o1[0] = captures[0];
   18073            0 :                                         _o1[1] = captures[3];
   18074            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18075            0 :                                         res_op0 = _r1;
   18076              :                                       }
   18077            0 :                                       tree res_op1;
   18078            0 :                                       res_op1 = captures[1];
   18079            0 :                                       tree res_op2;
   18080            0 :                                       res_op2 = captures[2];
   18081            0 :                                       tree _r;
   18082            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18083            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18084            0 :                                       return _r;
   18085              :                                     }
   18086            0 : next_after_fail1709:;
   18087              :                                   }
   18088              :                               }
   18089            0 :                               {
   18090            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18091            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18092            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18093              : )
   18094              :                                   {
   18095            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1710;
   18096            0 :                                     {
   18097            0 :                                       tree res_op0;
   18098            0 :                                       {
   18099            0 :                                         tree _o1[2], _r1;
   18100            0 :                                         _o1[0] = captures[0];
   18101            0 :                                         _o1[1] = captures[3];
   18102            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18103            0 :                                         res_op0 = _r1;
   18104              :                                       }
   18105            0 :                                       tree res_op1;
   18106            0 :                                       res_op1 = captures[1];
   18107            0 :                                       tree res_op2;
   18108            0 :                                       res_op2 = captures[2];
   18109            0 :                                       tree _r;
   18110            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18111            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18112            0 :                                       return _r;
   18113              :                                     }
   18114            0 : next_after_fail1710:;
   18115              :                                   }
   18116              :                               }
   18117            0 :                               {
   18118            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18119            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18120            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18121              : )
   18122              :                                   {
   18123            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1711;
   18124            0 :                                     {
   18125            0 :                                       tree res_op0;
   18126            0 :                                       {
   18127            0 :                                         tree _o1[2], _r1;
   18128            0 :                                         _o1[0] = captures[0];
   18129            0 :                                         _o1[1] = captures[3];
   18130            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18131            0 :                                         res_op0 = _r1;
   18132              :                                       }
   18133            0 :                                       tree res_op1;
   18134            0 :                                       res_op1 = captures[1];
   18135            0 :                                       tree res_op2;
   18136            0 :                                       res_op2 = captures[2];
   18137            0 :                                       tree _r;
   18138            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18139            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18140            0 :                                       return _r;
   18141              :                                     }
   18142            0 : next_after_fail1711:;
   18143              :                                   }
   18144              :                               }
   18145            0 :                               {
   18146            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18147            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18148            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18149              : )
   18150              :                                   {
   18151            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1712;
   18152            0 :                                     {
   18153            0 :                                       tree res_op0;
   18154            0 :                                       {
   18155            0 :                                         tree _o1[2], _r1;
   18156            0 :                                         _o1[0] = captures[0];
   18157            0 :                                         _o1[1] = captures[3];
   18158            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18159            0 :                                         res_op0 = _r1;
   18160              :                                       }
   18161            0 :                                       tree res_op1;
   18162            0 :                                       res_op1 = captures[1];
   18163            0 :                                       tree res_op2;
   18164            0 :                                       res_op2 = captures[2];
   18165            0 :                                       tree _r;
   18166            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18167            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18168            0 :                                       return _r;
   18169              :                                     }
   18170            0 : next_after_fail1712:;
   18171              :                                   }
   18172              :                               }
   18173            0 :                               {
   18174            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18175            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18176            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18177              : )
   18178              :                                   {
   18179            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1713;
   18180            0 :                                     {
   18181            0 :                                       tree res_op0;
   18182            0 :                                       {
   18183            0 :                                         tree _o1[2], _r1;
   18184            0 :                                         _o1[0] = captures[0];
   18185            0 :                                         _o1[1] = captures[3];
   18186            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18187            0 :                                         res_op0 = _r1;
   18188              :                                       }
   18189            0 :                                       tree res_op1;
   18190            0 :                                       res_op1 = captures[1];
   18191            0 :                                       tree res_op2;
   18192            0 :                                       res_op2 = captures[2];
   18193            0 :                                       tree _r;
   18194            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18195            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18196            0 :                                       return _r;
   18197              :                                     }
   18198            0 : next_after_fail1713:;
   18199              :                                   }
   18200              :                               }
   18201            0 :                               {
   18202            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18203            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18204            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18205              : )
   18206              :                                   {
   18207            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1714;
   18208            0 :                                     {
   18209            0 :                                       tree res_op0;
   18210            0 :                                       {
   18211            0 :                                         tree _o1[2], _r1;
   18212            0 :                                         _o1[0] = captures[0];
   18213            0 :                                         _o1[1] = captures[3];
   18214            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18215            0 :                                         res_op0 = _r1;
   18216              :                                       }
   18217            0 :                                       tree res_op1;
   18218            0 :                                       res_op1 = captures[1];
   18219            0 :                                       tree res_op2;
   18220            0 :                                       res_op2 = captures[2];
   18221            0 :                                       tree _r;
   18222            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18223            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18224            0 :                                       return _r;
   18225              :                                     }
   18226            0 : next_after_fail1714:;
   18227              :                                   }
   18228              :                               }
   18229            0 :                               {
   18230            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18231            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18232            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18233              : )
   18234              :                                   {
   18235            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1715;
   18236            0 :                                     {
   18237            0 :                                       tree res_op0;
   18238            0 :                                       {
   18239            0 :                                         tree _o1[2], _r1;
   18240            0 :                                         _o1[0] = captures[0];
   18241            0 :                                         _o1[1] = captures[3];
   18242            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18243            0 :                                         res_op0 = _r1;
   18244              :                                       }
   18245            0 :                                       tree res_op1;
   18246            0 :                                       res_op1 = captures[1];
   18247            0 :                                       tree res_op2;
   18248            0 :                                       res_op2 = captures[2];
   18249            0 :                                       tree _r;
   18250            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18251            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18252            0 :                                       return _r;
   18253              :                                     }
   18254            0 : next_after_fail1715:;
   18255              :                                   }
   18256              :                               }
   18257            0 :                               {
   18258            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18259            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18260            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18261              : )
   18262              :                                   {
   18263            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1716;
   18264            0 :                                     {
   18265            0 :                                       tree res_op0;
   18266            0 :                                       {
   18267            0 :                                         tree _o1[2], _r1;
   18268            0 :                                         _o1[0] = captures[0];
   18269            0 :                                         _o1[1] = captures[3];
   18270            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18271            0 :                                         res_op0 = _r1;
   18272              :                                       }
   18273            0 :                                       tree res_op1;
   18274            0 :                                       res_op1 = captures[1];
   18275            0 :                                       tree res_op2;
   18276            0 :                                       res_op2 = captures[2];
   18277            0 :                                       tree _r;
   18278            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18279            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18280            0 :                                       return _r;
   18281              :                                     }
   18282            0 : next_after_fail1716:;
   18283              :                                   }
   18284              :                               }
   18285            0 :                               {
   18286            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18287            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18288            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18289              : )
   18290              :                                   {
   18291            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1717;
   18292            0 :                                     {
   18293            0 :                                       tree res_op0;
   18294            0 :                                       {
   18295            0 :                                         tree _o1[2], _r1;
   18296            0 :                                         _o1[0] = captures[0];
   18297            0 :                                         _o1[1] = captures[3];
   18298            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18299            0 :                                         res_op0 = _r1;
   18300              :                                       }
   18301            0 :                                       tree res_op1;
   18302            0 :                                       res_op1 = captures[1];
   18303            0 :                                       tree res_op2;
   18304            0 :                                       res_op2 = captures[2];
   18305            0 :                                       tree _r;
   18306            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18307            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18308            0 :                                       return _r;
   18309              :                                     }
   18310            0 : next_after_fail1717:;
   18311              :                                   }
   18312              :                               }
   18313            0 :                               {
   18314            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18315            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18316            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18317              : )
   18318              :                                   {
   18319            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1718;
   18320            0 :                                     {
   18321            0 :                                       tree res_op0;
   18322            0 :                                       {
   18323            0 :                                         tree _o1[2], _r1;
   18324            0 :                                         _o1[0] = captures[0];
   18325            0 :                                         _o1[1] = captures[3];
   18326            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18327            0 :                                         res_op0 = _r1;
   18328              :                                       }
   18329            0 :                                       tree res_op1;
   18330            0 :                                       res_op1 = captures[1];
   18331            0 :                                       tree res_op2;
   18332            0 :                                       res_op2 = captures[2];
   18333            0 :                                       tree _r;
   18334            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18335            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18336            0 :                                       return _r;
   18337              :                                     }
   18338            0 : next_after_fail1718:;
   18339              :                                   }
   18340              :                               }
   18341            0 :                               {
   18342            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18343            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18344            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18345              : )
   18346              :                                   {
   18347            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1719;
   18348            0 :                                     {
   18349            0 :                                       tree res_op0;
   18350            0 :                                       {
   18351            0 :                                         tree _o1[2], _r1;
   18352            0 :                                         _o1[0] = captures[0];
   18353            0 :                                         _o1[1] = captures[3];
   18354            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18355            0 :                                         res_op0 = _r1;
   18356              :                                       }
   18357            0 :                                       tree res_op1;
   18358            0 :                                       res_op1 = captures[1];
   18359            0 :                                       tree res_op2;
   18360            0 :                                       res_op2 = captures[2];
   18361            0 :                                       tree _r;
   18362            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18363            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18364            0 :                                       return _r;
   18365              :                                     }
   18366            0 : next_after_fail1719:;
   18367              :                                   }
   18368              :                               }
   18369            0 :                               {
   18370            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18371            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18372            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18373              : )
   18374              :                                   {
   18375            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1720;
   18376            0 :                                     {
   18377            0 :                                       tree res_op0;
   18378            0 :                                       {
   18379            0 :                                         tree _o1[2], _r1;
   18380            0 :                                         _o1[0] = captures[0];
   18381            0 :                                         _o1[1] = captures[3];
   18382            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18383            0 :                                         res_op0 = _r1;
   18384              :                                       }
   18385            0 :                                       tree res_op1;
   18386            0 :                                       res_op1 = captures[1];
   18387            0 :                                       tree res_op2;
   18388            0 :                                       res_op2 = captures[2];
   18389            0 :                                       tree _r;
   18390            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18391            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18392            0 :                                       return _r;
   18393              :                                     }
   18394            0 : next_after_fail1720:;
   18395              :                                   }
   18396              :                               }
   18397            0 :                               {
   18398            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18399            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18400            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18401              : )
   18402              :                                   {
   18403            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1721;
   18404            0 :                                     {
   18405            0 :                                       tree res_op0;
   18406            0 :                                       {
   18407            0 :                                         tree _o1[2], _r1;
   18408            0 :                                         _o1[0] = captures[0];
   18409            0 :                                         _o1[1] = captures[3];
   18410            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18411            0 :                                         res_op0 = _r1;
   18412              :                                       }
   18413            0 :                                       tree res_op1;
   18414            0 :                                       res_op1 = captures[1];
   18415            0 :                                       tree res_op2;
   18416            0 :                                       res_op2 = captures[2];
   18417            0 :                                       tree _r;
   18418            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18419            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18420            0 :                                       return _r;
   18421              :                                     }
   18422            0 : next_after_fail1721:;
   18423              :                                   }
   18424              :                               }
   18425            0 :                               {
   18426            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18427            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18428            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18429              : )
   18430              :                                   {
   18431            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1722;
   18432            0 :                                     {
   18433            0 :                                       tree res_op0;
   18434            0 :                                       {
   18435            0 :                                         tree _o1[2], _r1;
   18436            0 :                                         _o1[0] = captures[0];
   18437            0 :                                         _o1[1] = captures[3];
   18438            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18439            0 :                                         res_op0 = _r1;
   18440              :                                       }
   18441            0 :                                       tree res_op1;
   18442            0 :                                       res_op1 = captures[1];
   18443            0 :                                       tree res_op2;
   18444            0 :                                       res_op2 = captures[2];
   18445            0 :                                       tree _r;
   18446            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18447            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18448            0 :                                       return _r;
   18449              :                                     }
   18450            0 : next_after_fail1722:;
   18451              :                                   }
   18452              :                               }
   18453            0 :                               {
   18454            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18455            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18456            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18457              : )
   18458              :                                   {
   18459            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1723;
   18460            0 :                                     {
   18461            0 :                                       tree res_op0;
   18462            0 :                                       {
   18463            0 :                                         tree _o1[2], _r1;
   18464            0 :                                         _o1[0] = captures[0];
   18465            0 :                                         _o1[1] = captures[3];
   18466            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18467            0 :                                         res_op0 = _r1;
   18468              :                                       }
   18469            0 :                                       tree res_op1;
   18470            0 :                                       res_op1 = captures[1];
   18471            0 :                                       tree res_op2;
   18472            0 :                                       res_op2 = captures[2];
   18473            0 :                                       tree _r;
   18474            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18475            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18476            0 :                                       return _r;
   18477              :                                     }
   18478            0 : next_after_fail1723:;
   18479              :                                   }
   18480              :                               }
   18481            0 :                               {
   18482            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18483            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18484            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18485              : )
   18486              :                                   {
   18487            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1724;
   18488            0 :                                     {
   18489            0 :                                       tree res_op0;
   18490            0 :                                       {
   18491            0 :                                         tree _o1[2], _r1;
   18492            0 :                                         _o1[0] = captures[0];
   18493            0 :                                         _o1[1] = captures[3];
   18494            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18495            0 :                                         res_op0 = _r1;
   18496              :                                       }
   18497            0 :                                       tree res_op1;
   18498            0 :                                       res_op1 = captures[1];
   18499            0 :                                       tree res_op2;
   18500            0 :                                       res_op2 = captures[2];
   18501            0 :                                       tree _r;
   18502            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18503            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   18504            0 :                                       return _r;
   18505              :                                     }
   18506            0 : next_after_fail1724:;
   18507              :                                   }
   18508              :                               }
   18509              :                             }
   18510              :                         }
   18511              :                       break;
   18512              :                     }
   18513              :                   default:;
   18514              :                   }
   18515              :               }
   18516              :           }
   18517           18 :         {
   18518           18 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   18519           18 :           if (VECTOR_TYPE_P (type)
   18520           18 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   18521              :  || types_match (type, TREE_TYPE (captures[2]))
   18522              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   18523              :  || (optimize_vectors_before_lowering_p ()
   18524              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   18525              : )
   18526              :             {
   18527           18 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1725;
   18528           18 :               {
   18529           18 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1725;
   18530           14 :                 tree res_op0;
   18531           14 :                 res_op0 = captures[1];
   18532           14 :                 tree res_op1;
   18533           14 :                 {
   18534           14 :                   tree _o1[2], _r1;
   18535           14 :                   _o1[0] = captures[2];
   18536           14 :                   _o1[1] = unshare_expr (captures[4]);
   18537           14 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18538           14 :                   if (EXPR_P (_r1))
   18539            0 :                     goto next_after_fail1725;
   18540           14 :                   res_op1 = _r1;
   18541              :                 }
   18542           14 :                 tree res_op2;
   18543           14 :                 {
   18544           14 :                   tree _o1[2], _r1;
   18545           14 :                   _o1[0] = captures[3];
   18546           14 :                   _o1[1] = captures[4];
   18547           14 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18548           14 :                   if (EXPR_P (_r1))
   18549            0 :                     goto next_after_fail1725;
   18550           14 :                   res_op2 = _r1;
   18551              :                 }
   18552           14 :                 tree _r;
   18553           14 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18554           14 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   18555           14 :                 return _r;
   18556              :               }
   18557            4 : next_after_fail1725:;
   18558              :             }
   18559              :         }
   18560            4 :         break;
   18561              :       }
   18562       199532 :     case CALL_EXPR:
   18563       199532 :       switch (get_call_combined_fn (_p0))
   18564              :         {
   18565            0 :         case CFN_BSWAP:
   18566            0 :           if (call_expr_nargs (_p0) == 1)
   18567              :     {
   18568            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18569            0 :               switch (TREE_CODE (_p1))
   18570              :                 {
   18571            0 :                 case INTEGER_CST:
   18572            0 :                   {
   18573            0 :                     {
   18574            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18575            0 :                       tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BSWAP);
   18576            0 :                       if (res) return res;
   18577              :                     }
   18578            0 :                     break;
   18579              :                   }
   18580              :                 default:;
   18581              :                 }
   18582              :             }
   18583              :           break;
   18584            0 :         case CFN_BUILT_IN_BSWAP128:
   18585            0 :           if (call_expr_nargs (_p0) == 1)
   18586              :     {
   18587            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18588            0 :               switch (TREE_CODE (_p1))
   18589              :                 {
   18590            0 :                 case INTEGER_CST:
   18591            0 :                   {
   18592            0 :                     {
   18593            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18594            0 :                       tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   18595            0 :                       if (res) return res;
   18596              :                     }
   18597            0 :                     break;
   18598              :                   }
   18599              :                 default:;
   18600              :                 }
   18601              :             }
   18602              :           break;
   18603            0 :         case CFN_BUILT_IN_BSWAP16:
   18604            0 :           if (call_expr_nargs (_p0) == 1)
   18605              :     {
   18606            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18607            0 :               switch (TREE_CODE (_p1))
   18608              :                 {
   18609            0 :                 case INTEGER_CST:
   18610            0 :                   {
   18611            0 :                     {
   18612            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18613            0 :                       tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   18614            0 :                       if (res) return res;
   18615              :                     }
   18616            0 :                     break;
   18617              :                   }
   18618              :                 default:;
   18619              :                 }
   18620              :             }
   18621              :           break;
   18622           10 :         case CFN_BUILT_IN_BSWAP32:
   18623           10 :           if (call_expr_nargs (_p0) == 1)
   18624              :     {
   18625           10 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18626           10 :               switch (TREE_CODE (_p1))
   18627              :                 {
   18628            9 :                 case INTEGER_CST:
   18629            9 :                   {
   18630            9 :                     {
   18631            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18632            9 :                       tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   18633            9 :                       if (res) return res;
   18634              :                     }
   18635            1 :                     break;
   18636              :                   }
   18637              :                 default:;
   18638              :                 }
   18639              :             }
   18640              :           break;
   18641            8 :         case CFN_BUILT_IN_BSWAP64:
   18642            8 :           if (call_expr_nargs (_p0) == 1)
   18643              :     {
   18644            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18645            8 :               switch (TREE_CODE (_p1))
   18646              :                 {
   18647            7 :                 case INTEGER_CST:
   18648            7 :                   {
   18649            7 :                     {
   18650            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18651            7 :                       tree res = generic_simplify_494 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   18652            7 :                       if (res) return res;
   18653              :                     }
   18654            1 :                     break;
   18655              :                   }
   18656              :                 default:;
   18657              :                 }
   18658              :             }
   18659              :           break;
   18660              :         default:;
   18661              :         }
   18662              :       break;
   18663      6413242 :     default:;
   18664              :     }
   18665      6413242 :   switch (TREE_CODE (_p1))
   18666              :     {
   18667            1 :     case VEC_COND_EXPR:
   18668            1 :       {
   18669            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18670            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18671            1 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18672            1 :         {
   18673            1 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   18674            1 :           if (VECTOR_TYPE_P (type)
   18675            1 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   18676              :  || types_match (type, TREE_TYPE (captures[3]))
   18677              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   18678              :  || (optimize_vectors_before_lowering_p ()
   18679              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   18680              : )
   18681              :             {
   18682            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1726;
   18683            1 :               {
   18684            1 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1726;
   18685            0 :                 tree res_op0;
   18686            0 :                 res_op0 = captures[2];
   18687            0 :                 tree res_op1;
   18688            0 :                 {
   18689            0 :                   tree _o1[2], _r1;
   18690            0 :                   _o1[0] = unshare_expr (captures[0]);
   18691            0 :                   _o1[1] = captures[3];
   18692            0 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18693            0 :                   if (EXPR_P (_r1))
   18694            0 :                     goto next_after_fail1726;
   18695            0 :                   res_op1 = _r1;
   18696              :                 }
   18697            0 :                 tree res_op2;
   18698            0 :                 {
   18699            0 :                   tree _o1[2], _r1;
   18700            0 :                   _o1[0] = captures[0];
   18701            0 :                   _o1[1] = captures[4];
   18702            0 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18703            0 :                   if (EXPR_P (_r1))
   18704            0 :                     goto next_after_fail1726;
   18705            0 :                   res_op2 = _r1;
   18706              :                 }
   18707            0 :                 tree _r;
   18708            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18709            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
   18710            0 :                 return _r;
   18711              :               }
   18712            1 : next_after_fail1726:;
   18713              :             }
   18714              :         }
   18715            1 :         break;
   18716              :       }
   18717      6413242 :     default:;
   18718              :     }
   18719      6413242 :   switch (TREE_CODE (_p0))
   18720              :     {
   18721            0 :     case ORDERED_EXPR:
   18722            0 :       {
   18723            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18724            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18725            0 :         switch (TREE_CODE (_p1))
   18726              :           {
   18727            0 :           case NE_EXPR:
   18728            0 :             {
   18729            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18730            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18731            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18732              :                 {
   18733            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18734              :                     {
   18735            0 :                       {
   18736            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   18737            0 :                         tree res = generic_simplify_495 (loc, type, _p0, _p1, captures);
   18738            0 :                         if (res) return res;
   18739              :                       }
   18740              :                     }
   18741              :                 }
   18742              :               break;
   18743              :             }
   18744            0 :           default:;
   18745              :           }
   18746            0 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   18747              :           {
   18748            0 :             switch (TREE_CODE (_p1))
   18749              :               {
   18750            0 :               case ORDERED_EXPR:
   18751            0 :                 {
   18752            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   18753            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   18754            0 :                   if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
   18755              :                     {
   18756            0 :                       {
   18757            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   18758            0 :                         if (types_match (captures[0], captures[1])
   18759              : )
   18760              :                           {
   18761            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1727;
   18762            0 :                             {
   18763            0 :                               tree res_op0;
   18764            0 :                               res_op0 = captures[0];
   18765            0 :                               tree res_op1;
   18766            0 :                               res_op1 = captures[1];
   18767            0 :                               tree _r;
   18768            0 :                               _r = fold_build2_loc (loc, ORDERED_EXPR, type, res_op0, res_op1);
   18769            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   18770            0 :                               return _r;
   18771              :                             }
   18772            0 : next_after_fail1727:;
   18773              :                           }
   18774              :                       }
   18775              :                     }
   18776            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18777              :                     {
   18778            0 :                       {
   18779            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
   18780            0 :                         tree res = generic_simplify_496 (loc, type, _p0, _p1, captures);
   18781            0 :                         if (res) return res;
   18782              :                       }
   18783              :                     }
   18784            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18785              :                     {
   18786            0 :                       {
   18787            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
   18788            0 :                         tree res = generic_simplify_496 (loc, type, _p0, _p1, captures);
   18789            0 :                         if (res) return res;
   18790              :                       }
   18791              :                     }
   18792              :                   break;
   18793              :                 }
   18794              :               default:;
   18795              :               }
   18796              :           }
   18797            0 :         switch (TREE_CODE (_p1))
   18798              :           {
   18799            0 :           case ORDERED_EXPR:
   18800            0 :             {
   18801            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18802            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18803            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18804              :                 {
   18805            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18806              :                     {
   18807            0 :                       {
   18808            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   18809            0 :                         tree res = generic_simplify_497 (loc, type, _p0, _p1, captures);
   18810            0 :                         if (res) return res;
   18811              :                       }
   18812              :                     }
   18813              :                 }
   18814            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18815              :                 {
   18816            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18817              :                     {
   18818            0 :                       {
   18819            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
   18820            0 :                         tree res = generic_simplify_497 (loc, type, _p0, _p1, captures);
   18821            0 :                         if (res) return res;
   18822              :                       }
   18823              :                     }
   18824              :                 }
   18825              :               break;
   18826              :             }
   18827              :           default:;
   18828              :           }
   18829              :         break;
   18830              :       }
   18831          137 :     case NE_EXPR:
   18832          137 :       {
   18833          137 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18834          137 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18835          137 :         switch (TREE_CODE (_p1))
   18836              :           {
   18837            0 :           case ORDERED_EXPR:
   18838            0 :             {
   18839            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18840            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18841            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18842              :                 {
   18843            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18844              :                     {
   18845            0 :                       {
   18846            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   18847            0 :                         tree res = generic_simplify_495 (loc, type, _p0, _p1, captures);
   18848            0 :                         if (res) return res;
   18849              :                       }
   18850              :                     }
   18851              :                 }
   18852              :               break;
   18853              :             }
   18854              :           default:;
   18855              :           }
   18856              :         break;
   18857              :       }
   18858       488184 :     case MINUS_EXPR:
   18859       488184 :       {
   18860       488184 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18861       488184 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18862       488184 :         switch (TREE_CODE (_q20))
   18863              :           {
   18864       420148 :           CASE_CONVERT:
   18865       420148 :             {
   18866       420148 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18867       420148 :               switch (TREE_CODE (_q21))
   18868              :                 {
   18869       415635 :                 CASE_CONVERT:
   18870       415635 :                   {
   18871       415635 :                     tree _q50 = TREE_OPERAND (_q21, 0);
   18872       415635 :                     switch (TREE_CODE (_p1))
   18873              :                       {
   18874       415611 :                       case INTEGER_CST:
   18875       415611 :                         {
   18876       415611 :                           {
   18877       415611 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
   18878       415611 :                             tree res = generic_simplify_498 (loc, type, _p0, _p1, captures, MINUS_EXPR);
   18879       415611 :                             if (res) return res;
   18880              :                           }
   18881       415601 :                           break;
   18882              :                         }
   18883              :                       default:;
   18884              :                       }
   18885              :                     break;
   18886              :                   }
   18887              :                 default:;
   18888              :                 }
   18889              :               break;
   18890              :             }
   18891              :           default:;
   18892              :           }
   18893              :         break;
   18894              :       }
   18895       188420 :     case PLUS_EXPR:
   18896       188420 :       {
   18897       188420 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18898       188420 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18899       188420 :         switch (TREE_CODE (_q20))
   18900              :           {
   18901        53672 :           CASE_CONVERT:
   18902        53672 :             {
   18903        53672 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18904        53672 :               switch (TREE_CODE (_q21))
   18905              :                 {
   18906          119 :                 CASE_CONVERT:
   18907          119 :                   {
   18908          119 :                     tree _q50 = TREE_OPERAND (_q21, 0);
   18909          119 :                     switch (TREE_CODE (_p1))
   18910              :                       {
   18911           60 :                       case INTEGER_CST:
   18912           60 :                         {
   18913           60 :                           {
   18914           60 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
   18915           60 :                             tree res = generic_simplify_498 (loc, type, _p0, _p1, captures, PLUS_EXPR);
   18916           60 :                             if (res) return res;
   18917              :                           }
   18918           45 :                           break;
   18919              :                         }
   18920              :                       default:;
   18921              :                       }
   18922              :                     break;
   18923              :                   }
   18924              :                 default:;
   18925              :                 }
   18926              :               break;
   18927              :             }
   18928              :           default:;
   18929              :           }
   18930              :         break;
   18931              :       }
   18932           80 :     case LT_EXPR:
   18933           80 :       {
   18934           80 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18935           80 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18936           80 :         switch (TREE_CODE (_p1))
   18937              :           {
   18938            8 :           case LT_EXPR:
   18939            8 :             {
   18940            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18941            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18942            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18943              :                 {
   18944            0 :                   {
   18945            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18946            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18947            0 :                     if (res) return res;
   18948              :                   }
   18949              :                 }
   18950            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18951              :                 {
   18952            0 :                   {
   18953            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18954            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18955            0 :                     if (res) return res;
   18956              :                   }
   18957              :                 }
   18958              :               break;
   18959              :             }
   18960            1 :           case GT_EXPR:
   18961            1 :             {
   18962            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18963            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18964            1 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18965              :                 {
   18966            0 :                   {
   18967            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18968            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18969            0 :                     if (res) return res;
   18970              :                   }
   18971              :                 }
   18972            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18973              :                 {
   18974            0 :                   {
   18975            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18976            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18977            0 :                     if (res) return res;
   18978              :                   }
   18979              :                 }
   18980              :               break;
   18981              :             }
   18982              :           default:;
   18983              :           }
   18984              :         break;
   18985              :       }
   18986           32 :     case LE_EXPR:
   18987           32 :       {
   18988           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18989           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18990           32 :         switch (TREE_CODE (_p1))
   18991              :           {
   18992            5 :           case LE_EXPR:
   18993            5 :             {
   18994            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18995            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18996            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18997              :                 {
   18998            0 :                   {
   18999            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   19000            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   19001            0 :                     if (res) return res;
   19002              :                   }
   19003              :                 }
   19004            5 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   19005              :                 {
   19006            4 :                   {
   19007            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   19008            4 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   19009            4 :                     if (res) return res;
   19010              :                   }
   19011              :                 }
   19012              :               break;
   19013              :             }
   19014            0 :           case GE_EXPR:
   19015            0 :             {
   19016            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   19017            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   19018            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   19019              :                 {
   19020            0 :                   {
   19021            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   19022            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   19023            0 :                     if (res) return res;
   19024              :                   }
   19025              :                 }
   19026            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   19027              :                 {
   19028            0 :                   {
   19029            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   19030            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   19031            0 :                     if (res) return res;
   19032              :                   }
   19033              :                 }
   19034              :               break;
   19035              :             }
   19036              :           default:;
   19037              :           }
   19038              :         break;
   19039              :       }
   19040          396 :     case GT_EXPR:
   19041          396 :       {
   19042          396 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19043          396 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19044          396 :         switch (TREE_CODE (_p1))
   19045              :           {
   19046          133 :           case GT_EXPR:
   19047          133 :             {
   19048          133 :               tree _q50 = TREE_OPERAND (_p1, 0);
   19049          133 :               tree _q51 = TREE_OPERAND (_p1, 1);
   19050          133 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19051              :                 {
   19052            0 :                   {
   19053            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   19054            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   19055            0 :                     if (res) return res;
   19056              :                   }
   19057              :                 }
   19058          133 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   19059              :                 {
   19060           83 :                   {
   19061           83 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   19062           83 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   19063           83 :                     if (res) return res;
   19064              :                   }
   19065              :                 }
   19066              :               break;
   19067              :             }
   19068           67 :           case LT_EXPR:
   19069           67 :             {
   19070           67 :               tree _q50 = TREE_OPERAND (_p1, 0);
   19071           67 :               tree _q51 = TREE_OPERAND (_p1, 1);
   19072           67 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   19073              :                 {
   19074            0 :                   {
   19075            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   19076            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   19077            0 :                     if (res) return res;
   19078              :                   }
   19079              :                 }
   19080           67 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   19081              :                 {
   19082            0 :                   {
   19083            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   19084            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   19085            0 :                     if (res) return res;
   19086              :                   }
   19087              :                 }
   19088              :               break;
   19089              :             }
   19090              :           default:;
   19091              :           }
   19092              :         break;
   19093              :       }
   19094           73 :     case GE_EXPR:
   19095           73 :       {
   19096           73 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19097           73 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19098           73 :         switch (TREE_CODE (_p1))
   19099              :           {
   19100           11 :           case GE_EXPR:
   19101           11 :             {
   19102           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
   19103           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
   19104           11 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19105              :                 {
   19106            7 :                   {
   19107            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   19108            7 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   19109            7 :                     if (res) return res;
   19110              :                   }
   19111              :                 }
   19112           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   19113              :                 {
   19114            0 :                   {
   19115            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   19116            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   19117            0 :                     if (res) return res;
   19118              :                   }
   19119              :                 }
   19120              :               break;
   19121              :             }
   19122           17 :           case LE_EXPR:
   19123           17 :             {
   19124           17 :               tree _q50 = TREE_OPERAND (_p1, 0);
   19125           17 :               tree _q51 = TREE_OPERAND (_p1, 1);
   19126           17 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   19127              :                 {
   19128            0 :                   {
   19129            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   19130            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   19131            0 :                     if (res) return res;
   19132              :                   }
   19133              :                 }
   19134           17 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   19135              :                 {
   19136            0 :                   {
   19137            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   19138            0 :                     tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   19139            0 :                     if (res) return res;
   19140              :                   }
   19141              :                 }
   19142              :               break;
   19143              :             }
   19144              :           default:;
   19145              :           }
   19146              :         break;
   19147              :       }
   19148        47132 :     case NEGATE_EXPR:
   19149        47132 :       {
   19150        47132 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19151        47132 :         if (integer_onep (_p1))
   19152              :           {
   19153         1448 :             {
   19154         1448 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19155         1448 :               if (!TYPE_OVERFLOW_SANITIZED (type)
   19156              : )
   19157              :                 {
   19158         1435 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1728;
   19159         1435 :                   {
   19160         1435 :                     tree res_op0;
   19161         1435 :                     res_op0 = captures[0];
   19162         1435 :                     tree res_op1;
   19163         1435 :                     res_op1 = captures[1];
   19164         1435 :                     tree _r;
   19165         1435 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19166         1435 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1025, __FILE__, __LINE__, true);
   19167         1435 :                     return _r;
   19168              :                   }
   19169            0 : next_after_fail1728:;
   19170              :                 }
   19171              :             }
   19172              :           }
   19173              :         break;
   19174              :       }
   19175            1 :     case VEC_PERM_EXPR:
   19176            1 :       {
   19177            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19178            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19179            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
   19180            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   19181              :           {
   19182            0 :             switch (TREE_CODE (_p1))
   19183              :               {
   19184            0 :               case VEC_PERM_EXPR:
   19185            0 :                 {
   19186            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   19187            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   19188            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   19189            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   19190              :                     {
   19191            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   19192              :                         {
   19193            0 :                           {
   19194            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   19195            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   19196              : )
   19197              :                               {
   19198            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1729;
   19199            0 :                                 {
   19200            0 :                                   tree res_op0;
   19201            0 :                                   {
   19202            0 :                                     tree _o1[2], _r1;
   19203            0 :                                     _o1[0] = captures[0];
   19204            0 :                                     _o1[1] = captures[2];
   19205            0 :                                     _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   19206            0 :                                     captures[3] = _r1;
   19207              :                                   }
   19208            0 :                                   res_op0 = unshare_expr (captures[3]);
   19209            0 :                                   tree res_op1;
   19210            0 :                                   res_op1 = captures[3];
   19211            0 :                                   tree res_op2;
   19212            0 :                                   res_op2 = captures[1];
   19213            0 :                                   tree _r;
   19214            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   19215            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   19216            0 :                                   return _r;
   19217              :                                 }
   19218            0 : next_after_fail1729:;
   19219              :                               }
   19220              :                           }
   19221              :                         }
   19222              :                     }
   19223              :                   break;
   19224              :                 }
   19225              :               default:;
   19226              :               }
   19227              :           }
   19228              :         break;
   19229              :       }
   19230       199518 :     case CALL_EXPR:
   19231       199518 :       switch (get_call_combined_fn (_p0))
   19232              :         {
   19233            1 :         case CFN_BUILT_IN_POPCOUNT:
   19234            1 :           if (call_expr_nargs (_p0) == 1)
   19235              :     {
   19236            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19237            1 :               if (integer_onep (_p1))
   19238              :                 {
   19239            1 :                   {
   19240            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19241            1 :                     tree res = generic_simplify_499 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT, CFN_BUILT_IN_PARITY);
   19242            1 :                     if (res) return res;
   19243              :                   }
   19244              :                 }
   19245              :             }
   19246              :           break;
   19247            1 :         case CFN_BUILT_IN_POPCOUNTLL:
   19248            1 :           if (call_expr_nargs (_p0) == 1)
   19249              :     {
   19250            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19251            1 :               if (integer_onep (_p1))
   19252              :                 {
   19253            1 :                   {
   19254            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19255            1 :                     tree res = generic_simplify_499 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL, CFN_BUILT_IN_PARITYLL);
   19256            1 :                     if (res) return res;
   19257              :                   }
   19258              :                 }
   19259              :             }
   19260              :           break;
   19261            0 :         case CFN_POPCOUNT:
   19262            0 :           if (call_expr_nargs (_p0) == 1)
   19263              :     {
   19264            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19265            0 :               if (integer_onep (_p1))
   19266              :                 {
   19267            0 :                   {
   19268            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19269            0 :                     tree res = generic_simplify_499 (loc, type, _p0, _p1, captures, CFN_POPCOUNT, CFN_PARITY);
   19270            0 :                     if (res) return res;
   19271              :                   }
   19272              :                 }
   19273              :             }
   19274              :           break;
   19275            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   19276            0 :           if (call_expr_nargs (_p0) == 1)
   19277              :     {
   19278            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19279            0 :               if (integer_onep (_p1))
   19280              :                 {
   19281            0 :                   {
   19282            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19283            0 :                     tree res = generic_simplify_499 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX, CFN_BUILT_IN_PARITYIMAX);
   19284            0 :                     if (res) return res;
   19285              :                   }
   19286              :                 }
   19287              :             }
   19288              :           break;
   19289            1 :         case CFN_BUILT_IN_POPCOUNTL:
   19290            1 :           if (call_expr_nargs (_p0) == 1)
   19291              :     {
   19292            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   19293            1 :               if (integer_onep (_p1))
   19294              :                 {
   19295            1 :                   {
   19296            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   19297            1 :                     tree res = generic_simplify_499 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL, CFN_BUILT_IN_PARITYL);
   19298            1 :                     if (res) return res;
   19299              :                   }
   19300              :                 }
   19301              :             }
   19302              :           break;
   19303              :         default:;
   19304              :         }
   19305              :       break;
   19306              :     default:;
   19307              :     }
   19308              :   return NULL_TREE;
   19309              : }
   19310              : #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.