LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-4.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 37.5 % 6777 2539
Test Date: 2026-05-11 19:44:49 Functions: 60.0 % 85 51
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    129489202 : tree_negate_expr_p (tree t)
      11              : {
      12    129489202 :   const tree type = TREE_TYPE (t);
      13    129489202 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    129489202 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    124561639 :   switch (TREE_CODE (t))
      16              :     {
      17      7440708 :     case INTEGER_CST:
      18      7440708 :       {
      19      7440708 :         {
      20      7440708 :           if ((INTEGRAL_TYPE_P (type)
      21      7440708 :  && TYPE_UNSIGNED (type))
      22      9613248 :  || (!TYPE_OVERFLOW_SANITIZED (type)
      23      2169798 :  && may_negate_without_overflow_p (t))
      24              : )
      25              :             {
      26      7424826 :               {
      27      7424826 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 14, __FILE__, __LINE__, false);
      28      7424826 :                 return true;
      29              :               }
      30              :             }
      31              :         }
      32              :         break;
      33              :       }
      34            0 :     case FIXED_CST:
      35            0 :       {
      36            0 :         {
      37            0 :           {
      38            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 15, __FILE__, __LINE__, false);
      39              :             return true;
      40              :           }
      41              :         }
      42       401873 :         break;
      43              :       }
      44       401873 :     case NEGATE_EXPR:
      45       401873 :       {
      46       401873 :         tree _p0 = TREE_OPERAND (t, 0);
      47       401873 :         {
      48       401873 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      49       401873 :           if (!TYPE_OVERFLOW_SANITIZED (type)
      50              : )
      51              :             {
      52       401853 :               {
      53       401853 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 16, __FILE__, __LINE__, false);
      54       401853 :                 return true;
      55              :               }
      56              :             }
      57              :         }
      58              :         break;
      59              :       }
      60       730113 :     case REAL_CST:
      61       730113 :       {
      62       730113 :         {
      63       730113 :           if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (t))
      64              : )
      65              :             {
      66          639 :               {
      67          639 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 17, __FILE__, __LINE__, false);
      68          639 :                 return true;
      69              :               }
      70              :             }
      71              :         }
      72              :         break;
      73              :       }
      74          442 :     case VECTOR_CST:
      75          442 :       {
      76          442 :         {
      77          442 :           if (FLOAT_TYPE_P (TREE_TYPE (type)) || TYPE_OVERFLOW_WRAPS (type)
      78              : )
      79              :             {
      80          326 :               {
      81          326 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 18, __FILE__, __LINE__, false);
      82          326 :                 return true;
      83              :               }
      84              :             }
      85              :         }
      86              :         break;
      87              :       }
      88      1218680 :     case MINUS_EXPR:
      89      1218680 :       {
      90      1218680 :         tree _p0 = TREE_OPERAND (t, 0);
      91      1218680 :         tree _p1 = TREE_OPERAND (t, 1);
      92      1218680 :         {
      93      1218680 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      94      1218680 :           if ((ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type))
      95      2121788 :  || (FLOAT_TYPE_P (type)
      96       636737 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
      97       636737 :  && !HONOR_SIGNED_ZEROS (type))
      98              : )
      99              :             {
     100       316145 :               {
     101       316145 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 19, __FILE__, __LINE__, false);
     102       316145 :                 return true;
     103              :               }
     104              :             }
     105              :         }
     106       902535 :         break;
     107              :       }
     108              :     default:;
     109              :     }
     110              :   return false;
     111              : }
     112              : 
     113              : bool
     114            0 : tree_double_value_p (tree t)
     115              : {
     116            0 :   const tree type = TREE_TYPE (t);
     117            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     118            0 :   if (TREE_SIDE_EFFECTS (t)) return false;
     119            0 :   {
     120            0 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     121            0 :     if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == double_type_node
     122              : )
     123              :       {
     124            0 :         {
     125            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 44, __FILE__, __LINE__, false);
     126            0 :           return true;
     127              :         }
     128              :       }
     129              :   }
     130              :   return false;
     131              : }
     132              : 
     133              : tree
     134            0 : generic_simplify_6 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     135              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     136              : {
     137            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     138            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail77;
     139            0 :   {
     140            0 :     tree res_op0;
     141            0 :     {
     142            0 :       tree _o1[2], _r1;
     143            0 :       _o1[0] = captures[1];
     144            0 :       _o1[1] = captures[2];
     145            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     146            0 :       res_op0 = _r1;
     147              :     }
     148            0 :     tree _r;
     149            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     150            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 54, __FILE__, __LINE__, true);
     151              :     return _r;
     152              :   }
     153            0 : next_after_fail77:;
     154            0 :   return NULL_TREE;
     155              : }
     156              : 
     157              : tree
     158            1 : generic_simplify_15 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     160              : {
     161            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     162            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail90;
     163            1 :   {
     164            1 :     tree res_op0;
     165            1 :     res_op0 = captures[0];
     166            1 :     tree _r;
     167            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     168            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
     169            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     170            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 63, __FILE__, __LINE__, true);
     171              :     return _r;
     172              :   }
     173            0 : next_after_fail90:;
     174            0 :   return NULL_TREE;
     175              : }
     176              : 
     177              : tree
     178            8 : generic_simplify_21 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     179              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     180              : {
     181            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     182            8 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     183              : )
     184              :     {
     185            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail96;
     186            8 :       {
     187            8 :         tree res_op0;
     188            8 :         {
     189            8 :           tree _o1[2], _r1;
     190            8 :           _o1[0] = captures[1];
     191            8 :           {
     192            8 :             tree _o2[1], _r2;
     193            8 :             _o2[0] = captures[0];
     194            8 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     195            8 :             _o1[1] = _r2;
     196              :           }
     197            8 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     198            8 :           res_op0 = _r1;
     199              :         }
     200            8 :         tree _r;
     201            8 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     202            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 69, __FILE__, __LINE__, true);
     203            8 :         return _r;
     204              :       }
     205            0 : next_after_fail96:;
     206              :     }
     207              :   return NULL_TREE;
     208              : }
     209              : 
     210              : tree
     211            0 : generic_simplify_30 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     212              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     213              : {
     214            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     215            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     216            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     217              : )
     218              :     {
     219            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail105;
     220            0 :       {
     221            0 :         tree res_op0;
     222            0 :         {
     223            0 :           tree _o1[1], _r1;
     224            0 :           _o1[0] = captures[1];
     225            0 :           if (TREE_TYPE (_o1[0]) != type)
     226              :             {
     227            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     228              :             }
     229              :           else
     230              :             _r1 = _o1[0];
     231            0 :           res_op0 = _r1;
     232              :         }
     233            0 :         tree res_op1;
     234            0 :         {
     235            0 :           tree _o1[1], _r1;
     236            0 :           _o1[0] = captures[2];
     237            0 :           if (TREE_TYPE (_o1[0]) != type)
     238              :             {
     239            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     240              :             }
     241              :           else
     242              :             _r1 = _o1[0];
     243            0 :           res_op1 = _r1;
     244              :         }
     245            0 :         tree _r;
     246            0 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     247            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
     248            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     249            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 78, __FILE__, __LINE__, true);
     250            0 :         return _r;
     251              :       }
     252            0 : next_after_fail105:;
     253              :     }
     254              :   return NULL_TREE;
     255              : }
     256              : 
     257              : tree
     258            0 : generic_simplify_38 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     259              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     260              :  const enum tree_code ARG_UNUSED (op))
     261              : {
     262            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     263            0 :   if (INTEGRAL_TYPE_P (type)
     264            0 :  && operand_equal_p (captures[2], captures[6], 0)
     265            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     266              : )
     267              :     {
     268            0 :       {
     269            0 :  tree t = type;
     270            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     271            0 :  t = unsigned_type_for (t);
     272            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[7]));
     273            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail115;
     274            0 :           if (TREE_SIDE_EFFECTS (captures[7])) goto next_after_fail115;
     275            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail115;
     276            0 :           {
     277            0 :             tree res_op0;
     278            0 :             {
     279            0 :               tree _o1[2], _r1;
     280            0 :               {
     281            0 :                 tree _o2[1], _r2;
     282            0 :                 _o2[0] = captures[2];
     283            0 :                 if (TREE_TYPE (_o2[0]) != t)
     284              :                   {
     285            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     286              :                   }
     287              :                 else
     288              :                   _r2 = _o2[0];
     289            0 :                 _o1[0] = _r2;
     290              :               }
     291            0 :               _o1[1] =  wide_int_to_tree (t, c);
     292            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     293            0 :               res_op0 = _r1;
     294              :             }
     295            0 :             tree _r;
     296            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     297            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
     298            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
     299            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 86, __FILE__, __LINE__, true);
     300            0 :             return _r;
     301              :           }
     302            0 : next_after_fail115:;
     303            0 :       }
     304              :     }
     305              :   return NULL_TREE;
     306              : }
     307              : 
     308              : tree
     309            5 : generic_simplify_50 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     310              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     311              : {
     312            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     313           10 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     314            5 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     315           10 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
     316              : )
     317              :     {
     318            5 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail129;
     319            5 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail129;
     320            5 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail129;
     321            5 :       {
     322            5 :         tree res_op0;
     323            5 :         {
     324            5 :           tree _o1[2], _r1;
     325            5 :           _o1[0] = captures[1];
     326            5 :           _o1[1] = captures[3];
     327            5 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     328            5 :           res_op0 = _r1;
     329              :         }
     330            5 :         tree res_op1;
     331            5 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
     332            5 :         tree _r;
     333            5 :         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     334            5 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 97, __FILE__, __LINE__, true);
     335            5 :         return _r;
     336              :       }
     337              : next_after_fail129:;
     338              :     }
     339              :   return NULL_TREE;
     340              : }
     341              : 
     342              : tree
     343            2 : generic_simplify_58 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     344              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     345              : {
     346            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     347            2 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     348            2 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     349            2 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
     350            4 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     351              : )
     352              :     {
     353            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail139;
     354            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail139;
     355            2 :       {
     356            2 :         tree res_op0;
     357            2 :         {
     358            2 :           tree _o1[1], _r1;
     359            2 :           {
     360            2 :             tree _o2[2], _r2;
     361            2 :             _o2[0] = captures[1];
     362            2 :             _o2[1] = captures[2];
     363            2 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     364            2 :             _o1[0] = _r2;
     365              :           }
     366            2 :           if (TREE_TYPE (_o1[0]) != type)
     367              :             {
     368            1 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     369              :             }
     370              :           else
     371              :             _r1 = _o1[0];
     372            2 :           res_op0 = _r1;
     373              :         }
     374            2 :         tree _r;
     375            2 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     376            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 107, __FILE__, __LINE__, true);
     377            2 :         return _r;
     378              :       }
     379              : next_after_fail139:;
     380              :     }
     381              :   return NULL_TREE;
     382              : }
     383              : 
     384              : tree
     385      2296606 : generic_simplify_69 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     386              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     387              :  const enum tree_code ARG_UNUSED (plusminus))
     388              : {
     389      2296606 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     390      2296606 :   if (!TYPE_SATURATING (type)
     391      2296606 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     392              : )
     393              :     {
     394          110 :       if (!ANY_INTEGRAL_TYPE_P (type)
     395      2296383 :  || TYPE_OVERFLOW_WRAPS (type)
     396      4013239 :  || (INTEGRAL_TYPE_P (type)
     397      1716746 :  && tree_expr_nonzero_p (captures[1])
     398      3217787 :  && expr_not_equal_to (captures[1], wi::minus_one (TYPE_PRECISION (type)),
     399              :  gimple_match_ctx (captures[0])))
     400              : )
     401              :         {
     402      1500737 :           if (single_use (captures[0]) || single_use (captures[3])
     403              : )
     404              :             {
     405      1500737 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail158;
     406      1500737 :               {
     407      1500737 :                 tree res_op0;
     408      1500737 :                 {
     409      1500737 :                   tree _o1[2], _r1;
     410      1500737 :                   _o1[0] = captures[2];
     411      1500737 :                   _o1[1] = captures[4];
     412      1500737 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     413      1500737 :                   res_op0 = _r1;
     414              :                 }
     415      1500737 :                 tree res_op1;
     416      1500737 :                 res_op1 = captures[1];
     417      1500737 :                 tree _r;
     418      1500737 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     419      1500737 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 126, __FILE__, __LINE__, true);
     420      1500737 :                 return _r;
     421              :               }
     422            0 : next_after_fail158:;
     423              :             }
     424              :           else
     425              :             {
     426              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail159;
     427              :               {
     428              :                 tree res_op0;
     429              :                 {
     430              :                   tree _o1[2], _r1;
     431              :                   _o1[0] = captures[2];
     432              :                   _o1[1] = captures[4];
     433              :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     434              :                   res_op0 = _r1;
     435              :                 }
     436              :                 tree res_op1;
     437              :                 res_op1 = captures[1];
     438              :                 tree _r;
     439              :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     440              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 127, __FILE__, __LINE__, true);
     441              :                 return _r;
     442              :               }
     443              : next_after_fail159:;
     444              :             }
     445              :         }
     446              :     }
     447              :   return NULL_TREE;
     448              : }
     449              : 
     450              : tree
     451            4 : generic_simplify_80 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     452              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     453              :  const combined_fn ARG_UNUSED (POPCOUNT))
     454              : {
     455            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     456            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail171;
     457            4 :   {
     458            4 :     tree res_op0;
     459            4 :     {
     460            4 :       tree _o1[1], _r1;
     461            4 :       _o1[0] = captures[2];
     462            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     463            4 :       if (!_r1)
     464            0 :         goto next_after_fail171;
     465            4 :       res_op0 = _r1;
     466              :     }
     467            4 :     tree res_op1;
     468            4 :     {
     469            4 :       tree _o1[1], _r1;
     470            4 :       _o1[0] = captures[3];
     471            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     472            4 :       if (!_r1)
     473            0 :         goto next_after_fail171;
     474            4 :       res_op1 = _r1;
     475              :     }
     476            4 :     tree _r;
     477            4 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     478            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 139, __FILE__, __LINE__, true);
     479              :     return _r;
     480              :   }
     481              : next_after_fail171:;
     482              :   return NULL_TREE;
     483              : }
     484              : 
     485              : tree
     486            2 : generic_simplify_88 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     487              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     488              : {
     489            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     490            2 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     491            2 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
     492            2 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[2]))
     493            4 :  && !TYPE_SATURATING (TREE_TYPE (captures[2]))
     494              : )
     495              :     {
     496            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail179;
     497            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail179;
     498            2 :       {
     499            2 :         tree res_op0;
     500            2 :         {
     501            2 :           tree _o1[1], _r1;
     502            2 :           {
     503            2 :             tree _o2[2], _r2;
     504            2 :             _o2[0] = captures[0];
     505            2 :             _o2[1] = captures[1];
     506            2 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     507            2 :             _o1[0] = _r2;
     508              :           }
     509            2 :           if (TREE_TYPE (_o1[0]) != type)
     510              :             {
     511            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     512              :             }
     513              :           else
     514              :             _r1 = _o1[0];
     515            2 :           res_op0 = _r1;
     516              :         }
     517            2 :         tree _r;
     518            2 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     519            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 147, __FILE__, __LINE__, true);
     520            2 :         return _r;
     521              :       }
     522              : next_after_fail179:;
     523              :     }
     524              :   return NULL_TREE;
     525              : }
     526              : 
     527              : tree
     528            0 : generic_simplify_98 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     529              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     530              : {
     531            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     532            0 :   if (!TYPE_SATURATING (type)
     533              : )
     534              :     {
     535            0 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     536            0 :  && !FIXED_POINT_TYPE_P (type)
     537              : )
     538              :         {
     539            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail191;
     540            0 :           {
     541            0 :             tree res_op0;
     542            0 :             res_op0 = captures[1];
     543            0 :             tree res_op1;
     544            0 :             res_op1 = captures[2];
     545            0 :             tree _r;
     546            0 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     547            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     548            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     549            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 158, __FILE__, __LINE__, true);
     550            0 :             return _r;
     551              :           }
     552            0 : next_after_fail191:;
     553              :         }
     554              :     }
     555              :   return NULL_TREE;
     556              : }
     557              : 
     558              : tree
     559            0 : generic_simplify_105 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     560              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     561              : {
     562            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     563            0 :   if (VECTOR_TYPE_P (type)
     564            0 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
     565              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
     566            0 :  && (TYPE_MODE (TREE_TYPE (type))
     567            0 :  == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
     568              : )
     569              :     {
     570            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail202;
     571            0 :       {
     572            0 :         tree res_op0;
     573            0 :         res_op0 = captures[0];
     574            0 :         tree res_op1;
     575            0 :         {
     576            0 :           tree _o1[1], _r1;
     577            0 :           {
     578            0 :             tree _o2[3], _r2;
     579            0 :             _o2[0] = captures[2];
     580            0 :             {
     581            0 :               tree _o3[1], _r3;
     582            0 :               _o3[0] = captures[3];
     583            0 :               _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
     584            0 :               _o2[1] = _r3;
     585              :             }
     586            0 :             _o2[2] = captures[4];
     587            0 :             _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
     588            0 :             _o1[0] = _r2;
     589              :           }
     590            0 :           if (TREE_TYPE (_o1[0]) != type)
     591              :             {
     592            0 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     593              :             }
     594              :           else
     595              :             _r1 = _o1[0];
     596            0 :           res_op1 = _r1;
     597              :         }
     598            0 :         tree _r;
     599            0 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     600            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 169, __FILE__, __LINE__, true);
     601            0 :         return _r;
     602              :       }
     603            0 : next_after_fail202:;
     604              :     }
     605              :   return NULL_TREE;
     606              : }
     607              : 
     608              : tree
     609            0 : generic_simplify_112 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     610              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     611              : {
     612            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     613            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail209;
     614            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail209;
     615            0 :   {
     616            0 :     tree _r;
     617            0 :     _r = captures[2];
     618            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 176, __FILE__, __LINE__, true);
     619              :     return _r;
     620              :   }
     621              : next_after_fail209:;
     622              :   return NULL_TREE;
     623              : }
     624              : 
     625              : tree
     626           16 : generic_simplify_116 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     627              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     628              : {
     629           16 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     630           32 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     631           32 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     632              : )
     633              :     {
     634            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail213;
     635            0 :       {
     636            0 :         tree res_op0;
     637            0 :         res_op0 = captures[0];
     638            0 :         tree res_op1;
     639            0 :         {
     640            0 :           tree _o1[2], _r1;
     641            0 :           _o1[0] = captures[1];
     642            0 :           _o1[1] =  build_one_cst (type);
     643            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     644            0 :           res_op1 = _r1;
     645              :         }
     646            0 :         tree _r;
     647            0 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     648            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 179, __FILE__, __LINE__, true);
     649            0 :         return _r;
     650              :       }
     651            0 : next_after_fail213:;
     652              :     }
     653              :   return NULL_TREE;
     654              : }
     655              : 
     656              : tree
     657            1 : generic_simplify_129 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     658              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     659              : {
     660            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     661            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail226;
     662            1 :   {
     663            1 :     tree res_op0;
     664            1 :     {
     665            1 :       tree _o1[2], _r1;
     666            1 :       _o1[0] = captures[1];
     667            1 :       _o1[1] = captures[2];
     668            1 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     669            1 :       res_op0 = _r1;
     670              :     }
     671            1 :     tree _r;
     672            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     673            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 188, __FILE__, __LINE__, true);
     674              :     return _r;
     675              :   }
     676            0 : next_after_fail226:;
     677            0 :   return NULL_TREE;
     678              : }
     679              : 
     680              : tree
     681           21 : generic_simplify_139 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     682              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     683              :  const enum tree_code ARG_UNUSED (bitop),
     684              :  const enum tree_code ARG_UNUSED (rbitop))
     685              : {
     686           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     687           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail240;
     688           21 :   {
     689           21 :     tree _r;
     690           21 :     _r = captures[0];
     691           21 :     if (TREE_SIDE_EFFECTS (captures[1]))
     692            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     693           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
     694              :     return _r;
     695              :   }
     696            0 : next_after_fail240:;
     697            0 :   return NULL_TREE;
     698              : }
     699              : 
     700              : tree
     701           82 : generic_simplify_143 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     702              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     703              :  const enum tree_code ARG_UNUSED (op))
     704              : {
     705           82 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     706           82 :   if (bitwise_equal_p (captures[4], captures[7])
     707              : )
     708              :     {
     709           16 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail244;
     710           16 :       {
     711           16 :         tree res_op0;
     712           16 :         {
     713           16 :           tree _o1[2], _r1;
     714           16 :           {
     715           16 :             tree _o2[2], _r2;
     716           16 :             _o2[0] = captures[5];
     717           16 :             {
     718           16 :               tree _o3[1], _r3;
     719           16 :               _o3[0] = captures[6];
     720           16 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     721              :                 {
     722           16 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     723              :                 }
     724              :               else
     725              :                 _r3 = _o3[0];
     726           16 :               _o2[1] = _r3;
     727              :             }
     728           16 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     729           16 :             _o1[0] = _r2;
     730              :           }
     731           16 :           {
     732           16 :             tree _o2[1], _r2;
     733           16 :             _o2[0] = captures[4];
     734           16 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     735              :               {
     736            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     737              :               }
     738              :             else
     739              :               _r2 = _o2[0];
     740           16 :             _o1[1] = _r2;
     741              :           }
     742           16 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     743           16 :           res_op0 = _r1;
     744              :         }
     745           16 :         tree _r;
     746           16 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     747           16 :         if (TREE_SIDE_EFFECTS (captures[7]))
     748            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     749           16 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 198, __FILE__, __LINE__, true);
     750           16 :         return _r;
     751              :       }
     752            0 : next_after_fail244:;
     753              :     }
     754              :   return NULL_TREE;
     755              : }
     756              : 
     757              : tree
     758            0 : generic_simplify_155 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     759              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     760              : {
     761            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     762            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     763            0 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     764              : )
     765              :     {
     766            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail260;
     767            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail260;
     768            0 :       {
     769            0 :         tree res_op0;
     770            0 :         res_op0 = captures[3];
     771            0 :         tree res_op1;
     772            0 :         {
     773            0 :           tree _o1[2], _r1;
     774            0 :           _o1[0] = captures[1];
     775            0 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
     776            0 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     777            0 :           res_op1 = _r1;
     778              :         }
     779            0 :         tree _r;
     780            0 :         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     781            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 209, __FILE__, __LINE__, true);
     782            0 :         return _r;
     783              :       }
     784              : next_after_fail260:;
     785              :     }
     786              :   return NULL_TREE;
     787              : }
     788              : 
     789              : tree
     790            0 : generic_simplify_164 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     791              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     792              :  const enum tree_code ARG_UNUSED (eqne))
     793              : {
     794            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     795            0 :   if (eqne == EQ_EXPR
     796              : )
     797              :     {
     798            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail287;
     799            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail287;
     800            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail287;
     801            0 :       {
     802            0 :         tree _r;
     803            0 :         _r = captures[0];
     804            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 227, __FILE__, __LINE__, true);
     805            0 :         return _r;
     806              :       }
     807              : next_after_fail287:;
     808              :     }
     809              :   else
     810              :     {
     811            0 :       if (eqne == NE_EXPR
     812              : )
     813              :         {
     814            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail288;
     815            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail288;
     816            0 :           {
     817            0 :             tree _r;
     818            0 :             _r =  constant_boolean_node (true, type);
     819            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
     820            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     821            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     822            0 :             return _r;
     823              :           }
     824              : next_after_fail288:;
     825              :         }
     826              :     }
     827              :   return NULL_TREE;
     828              : }
     829              : 
     830              : tree
     831            0 : generic_simplify_172 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     832              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     833              : {
     834            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     835            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail309;
     836            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail309;
     837            0 :   {
     838            0 :     tree _r;
     839            0 :     _r = captures[1];
     840            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 230, __FILE__, __LINE__, true);
     841              :     return _r;
     842              :   }
     843              : next_after_fail309:;
     844              :   return NULL_TREE;
     845              : }
     846              : 
     847              : tree
     848            0 : generic_simplify_176 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     849              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     850              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     851              : {
     852            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     853            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     854              : )
     855              :     {
     856            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail313;
     857            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail313;
     858            0 :       {
     859            0 :         tree res_op0;
     860            0 :         res_op0 = captures[0];
     861            0 :         tree _r;
     862            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     863            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 234, __FILE__, __LINE__, true);
     864            0 :         return _r;
     865              :       }
     866              : next_after_fail313:;
     867              :     }
     868              :   return NULL_TREE;
     869              : }
     870              : 
     871              : tree
     872            0 : generic_simplify_179 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     873              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     874              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     875              : {
     876            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     877            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     878              : )
     879              :     {
     880            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail316;
     881            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail316;
     882            0 :       {
     883            0 :         tree res_op0;
     884            0 :         {
     885            0 :           tree _o1[1], _r1;
     886            0 :           _o1[0] = captures[0];
     887            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     888            0 :           res_op0 = _r1;
     889              :         }
     890            0 :         tree _r;
     891            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     892            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 235, __FILE__, __LINE__, true);
     893            0 :         return _r;
     894              :       }
     895              : next_after_fail316:;
     896              :     }
     897              :   return NULL_TREE;
     898              : }
     899              : 
     900              : tree
     901            6 : generic_simplify_185 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     902              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     903              : {
     904            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     905            6 :   if (INTEGRAL_TYPE_P (type)
     906            6 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     907           12 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     908              : )
     909              :     {
     910            6 :       if (TYPE_UNSIGNED (type)
     911              : )
     912              :         {
     913            5 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail322;
     914            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail322;
     915            5 :           {
     916            5 :             tree res_op0;
     917            5 :             res_op0 = captures[0];
     918            5 :             tree _r;
     919            5 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
     920            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 240, __FILE__, __LINE__, true);
     921            5 :             return _r;
     922              :           }
     923              : next_after_fail322:;
     924              :         }
     925              :       else
     926              :         {
     927            1 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail323;
     928            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail323;
     929            1 :           {
     930            1 :             tree res_op0;
     931            1 :             res_op0 = captures[0];
     932            1 :             tree _r;
     933            1 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     934            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 241, __FILE__, __LINE__, true);
     935            1 :             return _r;
     936              :           }
     937              : next_after_fail323:;
     938              :         }
     939              :     }
     940              :   return NULL_TREE;
     941              : }
     942              : 
     943              : tree
     944        43605 : generic_simplify_191 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     945              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     946              : {
     947        43605 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     948        43605 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail330;
     949        43605 :   {
     950        43605 :     tree res_op0;
     951        43605 :     res_op0 = captures[0];
     952        43605 :     tree _r;
     953        43605 :     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     954        43605 :     if (TREE_SIDE_EFFECTS (captures[2]))
     955            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     956        43605 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 245, __FILE__, __LINE__, true);
     957              :     return _r;
     958              :   }
     959            0 : next_after_fail330:;
     960            0 :   return NULL_TREE;
     961              : }
     962              : 
     963              : tree
     964            8 : generic_simplify_196 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     965              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     966              :  const combined_fn ARG_UNUSED (POW))
     967              : {
     968            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     969            8 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
     970              : )
     971              :     {
     972            8 :       if (!TREE_OVERFLOW (captures[2])
     973              : )
     974              :         {
     975            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail336;
     976            8 :           {
     977            8 :             tree res_op0;
     978            8 :             res_op0 = captures[0];
     979            8 :             tree res_op1;
     980            8 :             {
     981            8 :               tree _o1[2], _r1;
     982            8 :               _o1[0] = captures[2];
     983            8 :               _o1[1] =  build_one_cst (type);
     984            8 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     985            8 :               res_op1 = _r1;
     986              :             }
     987            8 :             tree _r;
     988            8 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
     989            8 :             if (!_r)
     990            0 :               goto next_after_fail336;
     991            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 251, __FILE__, __LINE__, true);
     992            8 :             return _r;
     993              :           }
     994              : next_after_fail336:;
     995              :         }
     996              :     }
     997              :   return NULL_TREE;
     998              : }
     999              : 
    1000              : tree
    1001        20065 : generic_simplify_203 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1002              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1003              :  const enum tree_code ARG_UNUSED (cmp),
    1004              :  const enum tree_code ARG_UNUSED (mod))
    1005              : {
    1006        20065 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1007        20065 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1008              : )
    1009              :     {
    1010        20065 :       {
    1011        20065 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1012        20065 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail343;
    1013        20065 :           {
    1014        20065 :             tree res_op0;
    1015        20065 :             {
    1016        20065 :               tree _o1[2], _r1;
    1017        20065 :               {
    1018        20065 :                 tree _o2[1], _r2;
    1019        20065 :                 _o2[0] = captures[0];
    1020        20065 :                 if (TREE_TYPE (_o2[0]) != utype)
    1021              :                   {
    1022        20065 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1023              :                   }
    1024              :                 else
    1025              :                   _r2 = _o2[0];
    1026        20065 :                 _o1[0] = _r2;
    1027              :               }
    1028        20065 :               {
    1029        20065 :                 tree _o2[1], _r2;
    1030        20065 :                 _o2[0] = captures[1];
    1031        20065 :                 if (TREE_TYPE (_o2[0]) != utype)
    1032              :                   {
    1033        20065 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1034              :                   }
    1035              :                 else
    1036              :                   _r2 = _o2[0];
    1037        20065 :                 _o1[1] = _r2;
    1038              :               }
    1039        20065 :               _r1 = fold_build2_loc (loc, mod, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1040        20065 :               res_op0 = _r1;
    1041              :             }
    1042        20065 :             tree res_op1;
    1043        20065 :             {
    1044        20065 :               tree _o1[1], _r1;
    1045        20065 :               _o1[0] = captures[2];
    1046        20065 :               if (TREE_TYPE (_o1[0]) != utype)
    1047              :                 {
    1048        20065 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1049              :                 }
    1050              :               else
    1051              :                 _r1 = _o1[0];
    1052        20065 :               res_op1 = _r1;
    1053              :             }
    1054        20065 :             tree _r;
    1055        20065 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1056        20065 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 258, __FILE__, __LINE__, true);
    1057        20065 :             return _r;
    1058              :           }
    1059            0 : next_after_fail343:;
    1060              :       }
    1061              :     }
    1062              :   return NULL_TREE;
    1063              : }
    1064              : 
    1065              : tree
    1066         8419 : generic_simplify_216 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1067              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1068              :  const enum tree_code ARG_UNUSED (op))
    1069              : {
    1070         8419 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1071         8419 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail372;
    1072         8419 :   {
    1073         8419 :     tree res_op0;
    1074         8419 :     res_op0 = captures[1];
    1075         8419 :     tree res_op1;
    1076         8419 :     res_op1 = captures[2];
    1077         8419 :     tree _r;
    1078         8419 :     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1079         8419 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1080            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1081         8419 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 286, __FILE__, __LINE__, true);
    1082              :     return _r;
    1083              :   }
    1084            0 : next_after_fail372:;
    1085            0 :   return NULL_TREE;
    1086              : }
    1087              : 
    1088              : tree
    1089            6 : generic_simplify_223 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1090              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1091              :  const enum tree_code ARG_UNUSED (neeq))
    1092              : {
    1093            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1094            6 :   {
    1095            6 :  poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
    1096            6 :       if (ptr_difference_const (captures[0], captures[2], &diff)
    1097              : )
    1098              :         {
    1099            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail379;
    1100            0 :           {
    1101            0 :             tree res_op0;
    1102            0 :             {
    1103            0 :               tree _o1[2], _r1;
    1104            0 :               _o1[0] =  build_int_cst_type (inner_type, diff);
    1105            0 :               _o1[1] = captures[1];
    1106            0 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1107            0 :               res_op0 = _r1;
    1108              :             }
    1109            0 :             tree res_op1;
    1110            0 :             res_op1 = captures[3];
    1111            0 :             tree _r;
    1112            0 :             _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1113            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1114            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1115            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1116            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1117            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 292, __FILE__, __LINE__, true);
    1118            0 :             return _r;
    1119              :           }
    1120            0 : next_after_fail379:;
    1121              :         }
    1122              :   }
    1123            6 :   return NULL_TREE;
    1124              : }
    1125              : 
    1126              : tree
    1127           13 : generic_simplify_233 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1128              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1129              :  const enum tree_code ARG_UNUSED (cmp))
    1130              : {
    1131           13 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1132           13 :   if (tree_fits_shwi_p (captures[3])
    1133           13 :  && tree_to_shwi (captures[3]) > 0
    1134           26 :  && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
    1135              : )
    1136              :     {
    1137           13 :       if (tree_to_shwi (captures[3]) > wi::ctz (wi::to_wide (captures[5]))
    1138              : )
    1139              :         {
    1140            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail392;
    1141            0 :           {
    1142            0 :             tree _r;
    1143            0 :             _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1144            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1145            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1146            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    1147            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1148            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    1149            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    1150            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    1151            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    1152            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 305, __FILE__, __LINE__, true);
    1153            0 :             return _r;
    1154              :           }
    1155            0 : next_after_fail392:;
    1156              :         }
    1157              :       else
    1158              :         {
    1159           13 :           {
    1160           13 :  wide_int c1 = wi::to_wide (captures[3]);
    1161           13 :  wide_int c2 = wi::lrshift (wi::to_wide (captures[4]), c1);
    1162           13 :  wide_int c3 = wi::lrshift (wi::to_wide (captures[5]), c1);
    1163           13 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail393;
    1164           13 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail393;
    1165           13 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail393;
    1166           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail393;
    1167           13 :               {
    1168           13 :                 tree res_op0;
    1169           13 :                 {
    1170           13 :                   tree _o1[2], _r1;
    1171           13 :                   _o1[0] = captures[2];
    1172           13 :                   _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), c2);
    1173           13 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1174           13 :                   res_op0 = _r1;
    1175              :                 }
    1176           13 :                 tree res_op1;
    1177           13 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[2]), c3);
    1178           13 :                 tree _r;
    1179           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1180           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 306, __FILE__, __LINE__, true);
    1181           13 :                 return _r;
    1182              :               }
    1183            0 : next_after_fail393:;
    1184           13 :           }
    1185              :         }
    1186              :     }
    1187              :   return NULL_TREE;
    1188              : }
    1189              : 
    1190              : tree
    1191        91968 : generic_simplify_246 (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              : {
    1195        91968 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1196        91968 :   if (single_use (captures[0])
    1197              : )
    1198              :     {
    1199        91968 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail415;
    1200        91968 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail415;
    1201        91968 :       {
    1202        91968 :         tree res_op0;
    1203        91968 :         res_op0 = captures[1];
    1204        91968 :         tree res_op1;
    1205        91968 :         res_op1 = captures[2];
    1206        91968 :         tree _r;
    1207        91968 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1208        91968 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 328, __FILE__, __LINE__, true);
    1209        91968 :         return _r;
    1210              :       }
    1211              : next_after_fail415:;
    1212              :     }
    1213              :   return NULL_TREE;
    1214              : }
    1215              : 
    1216              : tree
    1217       925683 : generic_simplify_253 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1218              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1219              :  const enum tree_code ARG_UNUSED (cmp),
    1220              :  const enum tree_code ARG_UNUSED (scmp))
    1221              : {
    1222       925683 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1223       925683 :   if (single_use (captures[0])
    1224       925683 :  && (TREE_CODE (captures[2]) == INTEGER_CST || TREE_CODE (captures[2]) == VECTOR_CST)
    1225              : )
    1226              :     {
    1227       925683 :       {
    1228       925683 :  tree otype = TREE_TYPE (captures[2]);
    1229       925683 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail427;
    1230       925683 :           {
    1231       925683 :             tree res_op0;
    1232       925683 :             {
    1233       925683 :               tree _o1[1], _r1;
    1234       925683 :               _o1[0] = captures[1];
    1235       925683 :               if (TREE_TYPE (_o1[0]) != otype)
    1236              :                 {
    1237          191 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1238              :                 }
    1239              :               else
    1240              :                 _r1 = _o1[0];
    1241       925683 :               res_op0 = _r1;
    1242              :             }
    1243       925683 :             tree res_op1;
    1244       925683 :             {
    1245       925683 :               tree _o1[1], _r1;
    1246       925683 :               _o1[0] = captures[2];
    1247       925683 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1248       925683 :               res_op1 = _r1;
    1249              :             }
    1250       925683 :             tree _r;
    1251       925683 :             _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1252       925683 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 339, __FILE__, __LINE__, true);
    1253       925683 :             return _r;
    1254              :           }
    1255            0 : next_after_fail427:;
    1256              :       }
    1257              :     }
    1258              :   return NULL_TREE;
    1259              : }
    1260              : 
    1261              : tree
    1262         1255 : generic_simplify_260 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1263              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1264              :  const enum tree_code ARG_UNUSED (cmp),
    1265              :  const enum tree_code ARG_UNUSED (icmp))
    1266              : {
    1267         1255 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1268         1255 :   if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1269         1255 :  && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1270              : )
    1271              :     {
    1272         1255 :       {
    1273         1255 :  format_helper fmt (REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0]))));
    1274         1255 :  tree type1 = TREE_TYPE (captures[1]);
    1275         1255 :  bool type1_signed_p = TYPE_SIGN (type1) == SIGNED;
    1276         1255 :  tree type2 = TREE_TYPE (captures[2]);
    1277         1255 :  bool type2_signed_p = TYPE_SIGN (type2) == SIGNED;
    1278         1255 :           if (fmt.can_represent_integral_type_p (type1)
    1279         1255 :  && fmt.can_represent_integral_type_p (type2)
    1280              : )
    1281              :             {
    1282          229 :               if (cmp == ORDERED_EXPR || cmp == UNORDERED_EXPR
    1283              : )
    1284              :                 {
    1285            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail466;
    1286            0 :                   {
    1287            0 :                     tree _r;
    1288            0 :                     _r =  constant_boolean_node (cmp == ORDERED_EXPR, type);
    1289            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1290            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1291            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    1292            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1293            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 377, __FILE__, __LINE__, true);
    1294          183 :                     return _r;
    1295              :                   }
    1296            0 : next_after_fail466:;
    1297              :                 }
    1298              :               else
    1299              :                 {
    1300          229 :                   if (TYPE_PRECISION (type1) > TYPE_PRECISION (type2)
    1301          229 :  && type1_signed_p >= type2_signed_p
    1302              : )
    1303              :                     {
    1304            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail467;
    1305            0 :                       {
    1306            0 :                         tree res_op0;
    1307            0 :                         res_op0 = captures[1];
    1308            0 :                         tree res_op1;
    1309            0 :                         {
    1310            0 :                           tree _o1[1], _r1;
    1311            0 :                           _o1[0] = captures[2];
    1312            0 :                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1313              :                             {
    1314            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1315              :                             }
    1316              :                           else
    1317              :                             _r1 = _o1[0];
    1318            0 :                           res_op1 = _r1;
    1319              :                         }
    1320            0 :                         tree _r;
    1321            0 :                         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1322            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 378, __FILE__, __LINE__, true);
    1323            0 :                         return _r;
    1324              :                       }
    1325            0 : next_after_fail467:;
    1326              :                     }
    1327              :                   else
    1328              :                     {
    1329          229 :                       if (TYPE_PRECISION (type1) < TYPE_PRECISION (type2)
    1330          229 :  && type1_signed_p <= type2_signed_p
    1331              : )
    1332              :                         {
    1333            7 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail468;
    1334            7 :                           {
    1335            7 :                             tree res_op0;
    1336            7 :                             {
    1337            7 :                               tree _o1[1], _r1;
    1338            7 :                               _o1[0] = captures[1];
    1339            7 :                               if (TREE_TYPE (_o1[0]) != type2)
    1340              :                                 {
    1341            7 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type2, _o1[0]);
    1342              :                                 }
    1343              :                               else
    1344              :                                 _r1 = _o1[0];
    1345            7 :                               res_op0 = _r1;
    1346              :                             }
    1347            7 :                             tree res_op1;
    1348            7 :                             res_op1 = captures[2];
    1349            7 :                             tree _r;
    1350            7 :                             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1351            7 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 379, __FILE__, __LINE__, true);
    1352            7 :                             return _r;
    1353              :                           }
    1354            0 : next_after_fail468:;
    1355              :                         }
    1356              :                       else
    1357              :                         {
    1358          222 :                           if (TYPE_PRECISION (type1) == TYPE_PRECISION (type2)
    1359          222 :  && type1_signed_p == type2_signed_p
    1360              : )
    1361              :                             {
    1362          176 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail469;
    1363          176 :                               {
    1364          176 :                                 tree res_op0;
    1365          176 :                                 res_op0 = captures[1];
    1366          176 :                                 tree res_op1;
    1367          176 :                                 {
    1368          176 :                                   tree _o1[1], _r1;
    1369          176 :                                   _o1[0] = captures[2];
    1370          176 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1371              :                                     {
    1372            1 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1373              :                                     }
    1374              :                                   else
    1375              :                                     _r1 = _o1[0];
    1376          176 :                                   res_op1 = _r1;
    1377              :                                 }
    1378          176 :                                 tree _r;
    1379          176 :                                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1380          176 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 380, __FILE__, __LINE__, true);
    1381          176 :                                 return _r;
    1382              :                               }
    1383            0 : next_after_fail469:;
    1384              :                             }
    1385              :                         }
    1386              :                     }
    1387              :                 }
    1388              :             }
    1389              :       }
    1390              :     }
    1391              :   return NULL_TREE;
    1392              : }
    1393              : 
    1394              : tree
    1395          451 : generic_simplify_273 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1396              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1397              :  const enum tree_code ARG_UNUSED (cmp))
    1398              : {
    1399          451 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1400          451 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail503;
    1401          451 :   {
    1402          451 :     tree res_op0;
    1403          451 :     {
    1404          451 :       tree _o1[2], _r1;
    1405          451 :       _o1[0] = captures[0];
    1406          451 :       {
    1407          451 :         tree _o2[1], _r2;
    1408          451 :         _o2[0] = captures[1];
    1409          451 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1410          451 :         if (EXPR_P (_r2))
    1411          443 :           goto next_after_fail503;
    1412            8 :         _o1[1] = _r2;
    1413              :       }
    1414            8 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1415            8 :       res_op0 = _r1;
    1416              :     }
    1417            8 :     tree res_op1;
    1418            8 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1419            8 :     tree _r;
    1420            8 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1421            8 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 407, __FILE__, __LINE__, true);
    1422              :     return _r;
    1423              :   }
    1424              : next_after_fail503:;
    1425              :   return NULL_TREE;
    1426              : }
    1427              : 
    1428              : tree
    1429       108570 : generic_simplify_277 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1430              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1431              :  const enum tree_code ARG_UNUSED (cmp),
    1432              :  const enum tree_code ARG_UNUSED (icmp))
    1433              : {
    1434       108570 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1435       108570 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail507;
    1436       108548 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail507;
    1437       108548 :   {
    1438       108548 :     tree res_op0;
    1439       108548 :     res_op0 = captures[0];
    1440       108548 :     tree res_op1;
    1441       108548 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1442       108548 :     tree _r;
    1443       108548 :     _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1444       108548 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 411, __FILE__, __LINE__, true);
    1445              :     return _r;
    1446              :   }
    1447              : next_after_fail507:;
    1448              :   return NULL_TREE;
    1449              : }
    1450              : 
    1451              : tree
    1452           18 : generic_simplify_282 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1453              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1454              :  const enum tree_code ARG_UNUSED (cmp),
    1455              :  const enum tree_code ARG_UNUSED (ncmp))
    1456              : {
    1457           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1458           36 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1459           18 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1460           36 :  && types_match (captures[0], captures[2])
    1461              : )
    1462              :     {
    1463            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail512;
    1464            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail512;
    1465            2 :       {
    1466            2 :         tree res_op0;
    1467            2 :         {
    1468            2 :           tree _o1[2], _r1;
    1469            2 :           _o1[0] = captures[0];
    1470            2 :           _o1[1] = captures[2];
    1471            2 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1472            2 :           res_op0 = _r1;
    1473              :         }
    1474            2 :         tree res_op1;
    1475            2 :         res_op1 = captures[1];
    1476            2 :         tree _r;
    1477            2 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1478            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 414, __FILE__, __LINE__, true);
    1479            2 :         return _r;
    1480              :       }
    1481              : next_after_fail512:;
    1482              :     }
    1483              :   return NULL_TREE;
    1484              : }
    1485              : 
    1486              : tree
    1487            0 : generic_simplify_288 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1488              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1489              :  const enum tree_code ARG_UNUSED (inner),
    1490              :  const enum tree_code ARG_UNUSED (outer))
    1491              : {
    1492            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1493            0 :   {
    1494            0 :  bool cst1 = integer_onep (captures[1]);
    1495            0 :  bool cst0 = integer_zerop (captures[1]);
    1496            0 :  bool innereq = inner == EQ_EXPR;
    1497            0 :  bool outereq = outer == EQ_EXPR;
    1498            0 :       if (innereq ? cst0 : cst1
    1499              : )
    1500              :         {
    1501            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail532;
    1502            0 :           {
    1503            0 :             tree _r;
    1504            0 :             _r =  constant_boolean_node (!outereq, type);
    1505            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1506            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1507            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1508            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1509            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 426, __FILE__, __LINE__, true);
    1510            0 :             return _r;
    1511              :           }
    1512            0 : next_after_fail532:;
    1513              :         }
    1514              :       else
    1515              :         {
    1516            0 :           if (innereq ? cst1 : cst0
    1517              : )
    1518              :             {
    1519            0 :               {
    1520            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1521            0 :  tree ucst1 = build_one_cst (utype);
    1522            0 :                   if (!outereq
    1523              : )
    1524              :                     {
    1525            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail533;
    1526            0 :                       {
    1527            0 :                         tree res_op0;
    1528            0 :                         {
    1529            0 :                           tree _o1[1], _r1;
    1530            0 :                           _o1[0] = captures[0];
    1531            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1532              :                             {
    1533            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1534              :                             }
    1535              :                           else
    1536              :                             _r1 = _o1[0];
    1537            0 :                           res_op0 = _r1;
    1538              :                         }
    1539            0 :                         tree res_op1;
    1540            0 :                         res_op1 =  ucst1;
    1541            0 :                         tree _r;
    1542            0 :                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1543            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1544            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1545            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 427, __FILE__, __LINE__, true);
    1546            0 :                         return _r;
    1547              :                       }
    1548            0 : next_after_fail533:;
    1549              :                     }
    1550              :                   else
    1551              :                     {
    1552            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail534;
    1553            0 :                       {
    1554            0 :                         tree res_op0;
    1555            0 :                         {
    1556            0 :                           tree _o1[1], _r1;
    1557            0 :                           _o1[0] = captures[0];
    1558            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1559              :                             {
    1560            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1561              :                             }
    1562              :                           else
    1563              :                             _r1 = _o1[0];
    1564            0 :                           res_op0 = _r1;
    1565              :                         }
    1566            0 :                         tree res_op1;
    1567            0 :                         res_op1 =  ucst1;
    1568            0 :                         tree _r;
    1569            0 :                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1570            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1571            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1572            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 428, __FILE__, __LINE__, true);
    1573            0 :                         return _r;
    1574              :                       }
    1575            0 : next_after_fail534:;
    1576              :                     }
    1577              :               }
    1578              :             }
    1579              :           else
    1580              :             {
    1581            0 :               {
    1582            0 :  tree value = build_int_cst (TREE_TYPE (captures[0]), !innereq);
    1583            0 :                   if (outereq
    1584              : )
    1585              :                     {
    1586            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail535;
    1587            0 :                       {
    1588            0 :                         tree res_op0;
    1589            0 :                         res_op0 = captures[0];
    1590            0 :                         tree res_op1;
    1591            0 :                         res_op1 =  value;
    1592            0 :                         tree _r;
    1593            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1594            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1595            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1596            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
    1597            0 :                         return _r;
    1598              :                       }
    1599            0 : next_after_fail535:;
    1600              :                     }
    1601              :                   else
    1602              :                     {
    1603            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail536;
    1604            0 :                       {
    1605            0 :                         tree res_op0;
    1606            0 :                         res_op0 = captures[0];
    1607            0 :                         tree res_op1;
    1608            0 :                         res_op1 =  value;
    1609            0 :                         tree _r;
    1610            0 :                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    1611            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1612            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1613            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 430, __FILE__, __LINE__, true);
    1614            0 :                         return _r;
    1615              :                       }
    1616            0 : next_after_fail536:;
    1617              :                     }
    1618              :               }
    1619              :             }
    1620              :         }
    1621              :   }
    1622              :   return NULL_TREE;
    1623              : }
    1624              : 
    1625              : tree
    1626           45 : generic_simplify_296 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1627              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1628              :  const enum tree_code ARG_UNUSED (cmp),
    1629              :  const enum tree_code ARG_UNUSED (rep),
    1630              :  const combined_fn ARG_UNUSED (popcount))
    1631              : {
    1632           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1633           45 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail557;
    1634           45 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail557;
    1635           45 :   {
    1636           45 :     tree res_op0;
    1637           45 :     res_op0 = captures[0];
    1638           45 :     tree res_op1;
    1639           45 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1640           45 :     tree _r;
    1641           45 :     _r = fold_build2_loc (loc, rep, type, res_op0, res_op1);
    1642           45 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 451, __FILE__, __LINE__, true);
    1643              :     return _r;
    1644              :   }
    1645              : next_after_fail557:;
    1646              :   return NULL_TREE;
    1647              : }
    1648              : 
    1649              : tree
    1650       110969 : generic_simplify_301 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1651              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1652              :  const enum tree_code ARG_UNUSED (cmp))
    1653              : {
    1654       110969 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1655       110969 :   if (cmp != NE_EXPR
    1656       105776 :  || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1657       123496 :  || ! tree_expr_maybe_nan_p (captures[0])
    1658              : )
    1659              :     {
    1660       104256 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail565;
    1661       104256 :       {
    1662       104256 :         tree _r;
    1663       104256 :         _r =  constant_boolean_node (false, type);
    1664       104256 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1665            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1666       104256 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 459, __FILE__, __LINE__, true);
    1667       104256 :         return _r;
    1668              :       }
    1669            0 : next_after_fail565:;
    1670              :     }
    1671              :   return NULL_TREE;
    1672              : }
    1673              : 
    1674              : tree
    1675            0 : generic_simplify_307 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1676              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1677              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1678              : {
    1679            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1680            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail571;
    1681            0 :   {
    1682            0 :     tree res_op0;
    1683            0 :     res_op0 = captures[0];
    1684            0 :     tree _r;
    1685            0 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1686            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1687            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1688            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 465, __FILE__, __LINE__, true);
    1689              :     return _r;
    1690              :   }
    1691            0 : next_after_fail571:;
    1692            0 :   return NULL_TREE;
    1693              : }
    1694              : 
    1695              : tree
    1696            1 : generic_simplify_314 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1697              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1698              :  const enum tree_code ARG_UNUSED (div))
    1699              : {
    1700            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1701            1 :   if (INTEGRAL_TYPE_P (type)
    1702            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1703            1 :  && !integer_zerop (captures[0])
    1704            2 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1705              : )
    1706              :     {
    1707            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail580;
    1708            1 :       {
    1709            1 :         tree res_op0;
    1710            1 :         {
    1711            1 :           tree _o1[2], _r1;
    1712            1 :           _o1[0] = captures[0];
    1713            1 :           _o1[1] =  build_zero_cst (type);
    1714            1 :           _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    1715            1 :           res_op0 = _r1;
    1716              :         }
    1717            1 :         tree res_op1;
    1718            1 :         res_op1 =  build_minus_one_cst (type);
    1719            1 :         tree res_op2;
    1720            1 :         res_op2 =  build_one_cst (type);
    1721            1 :         tree _r;
    1722            1 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    1723            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 472, __FILE__, __LINE__, true);
    1724            1 :         return _r;
    1725              :       }
    1726            0 : next_after_fail580:;
    1727              :     }
    1728              :   return NULL_TREE;
    1729              : }
    1730              : 
    1731              : tree
    1732            3 : generic_simplify_320 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1733              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1734              :  const enum tree_code ARG_UNUSED (div))
    1735              : {
    1736            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1737            3 :   if (INTEGRAL_TYPE_P (type)
    1738            3 :  && wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[3]), SIGNED)
    1739              : )
    1740              :     {
    1741            3 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1742              : )
    1743              :         {
    1744            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail587;
    1745            3 :           {
    1746            3 :             tree res_op0;
    1747            3 :             res_op0 = captures[2];
    1748            3 :             tree res_op1;
    1749            3 :             res_op1 = captures[3];
    1750            3 :             tree _r;
    1751            3 :             _r = fold_build2_loc (loc, div, type, res_op0, res_op1);
    1752            3 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1753            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1754            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 479, __FILE__, __LINE__, true);
    1755            3 :             return _r;
    1756              :           }
    1757            0 : next_after_fail587:;
    1758              :         }
    1759              :     }
    1760              :   return NULL_TREE;
    1761              : }
    1762              : 
    1763              : tree
    1764      1567947 : generic_simplify_328 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1765              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1766              :  const enum tree_code ARG_UNUSED (mod))
    1767              : {
    1768      1567947 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1769      1847698 :   if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
    1770      1290660 :  && INTEGRAL_TYPE_P (type)
    1771      1290660 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1772      1290660 :  && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[1]))
    1773            3 :  || TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1774            1 :  || !TYPE_UNSIGNED (type))
    1775      2858607 :  && integer_pow2p (captures[2]) && tree_int_cst_sgn (captures[2]) > 0
    1776              : )
    1777              :     {
    1778       948521 :       {
    1779       948521 :  tree utype = TREE_TYPE (captures[1]);
    1780       948521 :  if (!TYPE_OVERFLOW_WRAPS (utype))
    1781          303 :  utype = unsigned_type_for (utype);
    1782       948521 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail595;
    1783       948521 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail595;
    1784       948521 :           {
    1785       948521 :             tree res_op0;
    1786       948521 :             res_op0 = captures[0];
    1787       948521 :             tree res_op1;
    1788       948521 :             {
    1789       948521 :               tree _o1[1], _r1;
    1790       948521 :               {
    1791       948521 :                 tree _o2[2], _r2;
    1792       948521 :                 {
    1793       948521 :                   tree _o3[1], _r3;
    1794       948521 :                   _o3[0] = captures[1];
    1795       948521 :                   if (TREE_TYPE (_o3[0]) != utype)
    1796              :                     {
    1797          303 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1798              :                     }
    1799              :                   else
    1800              :                     _r3 = _o3[0];
    1801       948521 :                   _o2[0] = _r3;
    1802              :                 }
    1803       948521 :                 _o2[1] =  build_one_cst (utype);
    1804       948521 :                 _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1805       948521 :                 _o1[0] = _r2;
    1806              :               }
    1807       948521 :               if (TREE_TYPE (_o1[0]) != type)
    1808              :                 {
    1809        19241 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1810              :                 }
    1811              :               else
    1812              :                 _r1 = _o1[0];
    1813       948521 :               res_op1 = _r1;
    1814              :             }
    1815       948521 :             tree _r;
    1816       948521 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1817       948521 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 487, __FILE__, __LINE__, true);
    1818       948521 :             return _r;
    1819              :           }
    1820              : next_after_fail595:;
    1821              :       }
    1822              :     }
    1823              :   return NULL_TREE;
    1824              : }
    1825              : 
    1826              : tree
    1827           39 : generic_simplify_345 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1828              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1829              :  const enum tree_code ARG_UNUSED (cmp),
    1830              :  const enum tree_code ARG_UNUSED (minmax))
    1831              : {
    1832           39 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1833           39 :   {
    1834           39 :  tree_code code = minmax_from_comparison (cmp, captures[0], captures[1], captures[0], captures[4]);
    1835           39 :       if ((cmp == LT_EXPR || cmp == LE_EXPR)
    1836           15 :  && code == MIN_EXPR
    1837           43 :  && integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node, captures[3], captures[4]))
    1838              : )
    1839              :         {
    1840            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail618;
    1841            4 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail618;
    1842            4 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail618;
    1843            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail618;
    1844            4 :           {
    1845            4 :             tree res_op0;
    1846            4 :             res_op0 = captures[2];
    1847            4 :             tree res_op1;
    1848            4 :             res_op1 = captures[4];
    1849            4 :             tree _r;
    1850            4 :             _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    1851            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 510, __FILE__, __LINE__, true);
    1852            4 :             return _r;
    1853              :           }
    1854              : next_after_fail618:;
    1855              :         }
    1856              :       else
    1857              :         {
    1858           35 :           if ((cmp == GT_EXPR || cmp == GE_EXPR)
    1859           24 :  && code == MAX_EXPR
    1860           59 :  && integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node, captures[3], captures[4]))
    1861              : )
    1862              :             {
    1863           10 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail619;
    1864           10 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail619;
    1865           10 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail619;
    1866           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail619;
    1867           10 :               {
    1868           10 :                 tree res_op0;
    1869           10 :                 res_op0 = captures[2];
    1870           10 :                 tree res_op1;
    1871           10 :                 res_op1 = captures[4];
    1872           10 :                 tree _r;
    1873           10 :                 _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    1874           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 511, __FILE__, __LINE__, true);
    1875           10 :                 return _r;
    1876              :               }
    1877              : next_after_fail619:;
    1878              :             }
    1879              :         }
    1880              :   }
    1881              :   return NULL_TREE;
    1882              : }
    1883              : 
    1884              : tree
    1885          184 : generic_simplify_359 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1886              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1887              :  const enum tree_code ARG_UNUSED (op))
    1888              : {
    1889          184 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1890          184 :   if (bitwise_equal_p (captures[0], captures[3])
    1891          184 :  && expr_no_side_effects_p (captures[2])
    1892              : )
    1893              :     {
    1894            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail634;
    1895            1 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail634;
    1896            1 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail634;
    1897            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail634;
    1898            1 :       {
    1899            1 :         tree _r;
    1900            1 :         _r = captures[1];
    1901            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 526, __FILE__, __LINE__, true);
    1902            1 :         return _r;
    1903              :       }
    1904              : next_after_fail634:;
    1905              :     }
    1906              :   return NULL_TREE;
    1907              : }
    1908              : 
    1909              : tree
    1910            6 : generic_simplify_365 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1911              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1912              :  const enum tree_code ARG_UNUSED (neeq),
    1913              :  const combined_fn ARG_UNUSED (sign))
    1914              : {
    1915            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1916            6 :   if (neeq == NE_EXPR
    1917              : )
    1918              :     {
    1919            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail640;
    1920            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail640;
    1921            3 :       {
    1922            3 :         tree res_op0;
    1923            3 :         res_op0 = captures[0];
    1924            3 :         tree _r;
    1925            3 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1926            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 532, __FILE__, __LINE__, true);
    1927            3 :         return _r;
    1928              :       }
    1929              : next_after_fail640:;
    1930              :     }
    1931              :   else
    1932              :     {
    1933            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail641;
    1934            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail641;
    1935            3 :       {
    1936            3 :         tree res_op0;
    1937            3 :         {
    1938            3 :           tree _o1[1], _r1;
    1939            3 :           _o1[0] = captures[0];
    1940            3 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1941            3 :           res_op0 = _r1;
    1942              :         }
    1943            3 :         tree _r;
    1944            3 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    1945            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 533, __FILE__, __LINE__, true);
    1946            3 :         return _r;
    1947              :       }
    1948              : next_after_fail641:;
    1949              :     }
    1950              :   return NULL_TREE;
    1951              : }
    1952              : 
    1953              : tree
    1954        83881 : generic_simplify_378 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1955              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1956              :  const enum tree_code ARG_UNUSED (op))
    1957              : {
    1958        83881 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1959       167762 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1960        83881 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1961       167762 :  && wi::only_sign_bit_p (wi::to_wide (captures[1]))
    1962              : )
    1963              :     {
    1964            5 :       {
    1965            5 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1966            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail658;
    1967            5 :           {
    1968            5 :             tree res_op0;
    1969            5 :             {
    1970            5 :               tree _o1[1], _r1;
    1971            5 :               _o1[0] = captures[0];
    1972            5 :               if (TREE_TYPE (_o1[0]) != stype)
    1973              :                 {
    1974            5 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1975              :                 }
    1976              :               else
    1977              :                 _r1 = _o1[0];
    1978            5 :               res_op0 = _r1;
    1979              :             }
    1980            5 :             tree res_op1;
    1981            5 :             {
    1982            5 :               tree _o1[1], _r1;
    1983            5 :               _o1[0] = captures[2];
    1984            5 :               if (TREE_TYPE (_o1[0]) != stype)
    1985              :                 {
    1986            5 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1987              :                 }
    1988              :               else
    1989              :                 _r1 = _o1[0];
    1990            5 :               res_op1 = _r1;
    1991              :             }
    1992            5 :             tree _r;
    1993            5 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1994            5 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1995            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1996            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 548, __FILE__, __LINE__, true);
    1997            5 :             return _r;
    1998              :           }
    1999            0 : next_after_fail658:;
    2000              :       }
    2001              :     }
    2002              :   return NULL_TREE;
    2003              : }
    2004              : 
    2005              : tree
    2006      9383001 : generic_simplify_388 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2007              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2008              :  const enum tree_code ARG_UNUSED (cmp),
    2009              :  const enum tree_code ARG_UNUSED (acmp))
    2010              : {
    2011      9383001 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2012      9383001 :   {
    2013      9383001 :  tree cst = uniform_integer_cst_p (captures[1]);
    2014      9383001 :       if (tree_int_cst_sgn (cst) == 1
    2015              : )
    2016              :         {
    2017      3918613 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail669;
    2018      3918613 :           {
    2019      3918613 :             tree res_op0;
    2020      3918613 :             res_op0 = captures[0];
    2021      3918613 :             tree res_op1;
    2022      3918613 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2023      3918613 :  wide_int_to_tree (TREE_TYPE (cst),
    2024      3918613 :  wi::to_wide (cst) - 1));
    2025      3918613 :             tree _r;
    2026      3918613 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2027      3918613 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2028            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2029      3918613 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 559, __FILE__, __LINE__, true);
    2030      3918613 :             return _r;
    2031              :           }
    2032            0 : next_after_fail669:;
    2033              :         }
    2034              :   }
    2035              :   return NULL_TREE;
    2036              : }
    2037              : 
    2038              : tree
    2039            0 : generic_simplify_398 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2040              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2041              :  const enum tree_code ARG_UNUSED (cmp),
    2042              :  const enum tree_code ARG_UNUSED (out))
    2043              : {
    2044            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2045            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2046            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2047              : )
    2048              :     {
    2049            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail711;
    2050            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail711;
    2051            0 :       {
    2052            0 :         tree res_op0;
    2053            0 :         {
    2054            0 :           tree _o1[1], _r1;
    2055            0 :           _o1[0] = captures[0];
    2056            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2057            0 :           res_op0 = _r1;
    2058              :         }
    2059            0 :         tree res_op1;
    2060            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2061            0 :         tree _r;
    2062            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2063            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 584, __FILE__, __LINE__, true);
    2064            0 :         return _r;
    2065              :       }
    2066              : next_after_fail711:;
    2067              :     }
    2068              :   return NULL_TREE;
    2069              : }
    2070              : 
    2071              : tree
    2072     19632298 : generic_simplify_405 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2073              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2074              :  const enum tree_code ARG_UNUSED (cmp),
    2075              :  const enum tree_code ARG_UNUSED (acmp))
    2076              : {
    2077     19632298 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2078     19632298 :   {
    2079     19632298 :  tree cst = uniform_integer_cst_p (captures[1]);
    2080     19632298 :       if (tree_int_cst_sgn (cst) == -1
    2081              : )
    2082              :         {
    2083       174990 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail725;
    2084       174990 :           {
    2085       174990 :             tree res_op0;
    2086       174990 :             res_op0 = captures[0];
    2087       174990 :             tree res_op1;
    2088       174990 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2089       174990 :  wide_int_to_tree (TREE_TYPE (cst),
    2090       174990 :  wi::to_wide (cst)
    2091       349980 :  + 1));
    2092       174990 :             tree _r;
    2093       174990 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2094       174990 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2095            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2096       174990 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 598, __FILE__, __LINE__, true);
    2097       174990 :             return _r;
    2098              :           }
    2099            0 : next_after_fail725:;
    2100              :         }
    2101              :   }
    2102              :   return NULL_TREE;
    2103              : }
    2104              : 
    2105              : tree
    2106            0 : generic_simplify_408 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2107              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2108              :  const enum tree_code ARG_UNUSED (cmp),
    2109              :  const enum tree_code ARG_UNUSED (out))
    2110              : {
    2111            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2112            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2113            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2114              : )
    2115              :     {
    2116            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail728;
    2117            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail728;
    2118            0 :       {
    2119            0 :         tree res_op0;
    2120            0 :         {
    2121            0 :           tree _o1[1], _r1;
    2122            0 :           _o1[0] = captures[0];
    2123            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2124            0 :           res_op0 = _r1;
    2125              :         }
    2126            0 :         tree res_op1;
    2127            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2128            0 :         tree _r;
    2129            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2130            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 583, __FILE__, __LINE__, true);
    2131            0 :         return _r;
    2132              :       }
    2133              : next_after_fail728:;
    2134              :     }
    2135              :   return NULL_TREE;
    2136              : }
    2137              : 
    2138              : tree
    2139           43 : generic_simplify_413 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2140              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2141              :  const enum tree_code ARG_UNUSED (cmp),
    2142              :  const enum tree_code ARG_UNUSED (cmp2),
    2143              :  const enum tree_code ARG_UNUSED (cmp3),
    2144              :  const enum tree_code ARG_UNUSED (bit_op),
    2145              :  const combined_fn ARG_UNUSED (ffs))
    2146              : {
    2147           43 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2148           43 :   {
    2149           43 :  int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2150           43 :       if (integer_zerop (captures[2])
    2151              : )
    2152              :         {
    2153           11 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail733;
    2154           11 :           {
    2155           11 :             tree res_op0;
    2156           11 :             res_op0 = captures[1];
    2157           11 :             tree res_op1;
    2158           11 :             res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2159           11 :             tree _r;
    2160           11 :             _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2161           11 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2162            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2163           11 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 602, __FILE__, __LINE__, true);
    2164           27 :             return _r;
    2165              :           }
    2166            0 : next_after_fail733:;
    2167              :         }
    2168              :       else
    2169              :         {
    2170           32 :           if (tree_int_cst_sgn (captures[2]) < 0
    2171              : )
    2172              :             {
    2173            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail734;
    2174            0 :               {
    2175            0 :                 tree _r;
    2176            0 :                 _r =  constant_boolean_node (cmp == GT_EXPR ? true : false, type);
    2177            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2178            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2179            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    2180            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2181            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 603, __FILE__, __LINE__, true);
    2182            0 :                 return _r;
    2183              :               }
    2184            0 : next_after_fail734:;
    2185              :             }
    2186              :           else
    2187              :             {
    2188           32 :               if (wi::to_widest (captures[2]) >= prec
    2189              : )
    2190              :                 {
    2191           14 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail735;
    2192           14 :                   {
    2193           14 :                     tree _r;
    2194           14 :                     _r =  constant_boolean_node (cmp == GT_EXPR ? false : true, type);
    2195           14 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2196            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2197           14 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2198            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2199           14 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 604, __FILE__, __LINE__, true);
    2200           14 :                     return _r;
    2201              :                   }
    2202            0 : next_after_fail735:;
    2203              :                 }
    2204              :               else
    2205              :                 {
    2206           18 :                   if (wi::to_widest (captures[2]) == prec - 1
    2207              : )
    2208              :                     {
    2209            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail736;
    2210            2 :                       {
    2211            2 :                         tree res_op0;
    2212            2 :                         res_op0 = captures[1];
    2213            2 :                         tree res_op1;
    2214            2 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2215            2 :  wi::shifted_mask (prec - 1, 1,
    2216              :  false, prec));
    2217            2 :                         tree _r;
    2218            2 :                         _r = fold_build2_loc (loc, cmp3, type, res_op0, res_op1);
    2219            2 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2220            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2221            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 605, __FILE__, __LINE__, true);
    2222            2 :                         return _r;
    2223              :                       }
    2224            0 : next_after_fail736:;
    2225              :                     }
    2226              :                   else
    2227              :                     {
    2228           16 :                       if (single_use (captures[0])
    2229              : )
    2230              :                         {
    2231           16 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail737;
    2232           16 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail737;
    2233           16 :                           {
    2234           16 :                             if (! tree_invariant_p (captures[1])) goto next_after_fail737;
    2235            0 :                             tree res_op0;
    2236            0 :                             {
    2237            0 :                               tree _o1[2], _r1;
    2238            0 :                               _o1[0] = unshare_expr (captures[1]);
    2239            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2240            0 :                               _r1 = fold_build2_loc (loc, cmp2, type, _o1[0], _o1[1]);
    2241            0 :                               res_op0 = _r1;
    2242              :                             }
    2243            0 :                             tree res_op1;
    2244            0 :                             {
    2245            0 :                               tree _o1[2], _r1;
    2246            0 :                               {
    2247            0 :                                 tree _o2[2], _r2;
    2248            0 :                                 _o2[0] = captures[1];
    2249            0 :                                 _o2[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2250            0 :  wi::mask (tree_to_uhwi (captures[2]),
    2251              :  false, prec));
    2252            0 :                                 _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2253            0 :                                 _o1[0] = _r2;
    2254              :                               }
    2255            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2256            0 :                               _r1 = fold_build2_loc (loc, cmp3, type, _o1[0], _o1[1]);
    2257            0 :                               res_op1 = _r1;
    2258              :                             }
    2259            0 :                             tree _r;
    2260            0 :                             _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2261            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 606, __FILE__, __LINE__, true);
    2262            0 :                             return _r;
    2263              :                           }
    2264           16 : next_after_fail737:;
    2265              :                         }
    2266              :                     }
    2267              :                 }
    2268              :             }
    2269              :         }
    2270              :   }
    2271           16 :   return NULL_TREE;
    2272              : }
    2273              : 
    2274              : tree
    2275      4783815 : generic_simplify_435 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2276              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2277              : {
    2278      4783815 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2279      4783815 :   if (INTEGRAL_TYPE_P (type)
    2280      2630003 :  && TYPE_PRECISION (type) == 1
    2281      4797926 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    2282              : )
    2283              :     {
    2284        14111 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail780;
    2285        14111 :       {
    2286        14111 :         tree res_op0;
    2287        14111 :         res_op0 = captures[0];
    2288        14111 :         tree _r;
    2289        14111 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2290        14111 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 635, __FILE__, __LINE__, true);
    2291        14111 :         return _r;
    2292              :       }
    2293            0 : next_after_fail780:;
    2294              :     }
    2295              :   return NULL_TREE;
    2296              : }
    2297              : 
    2298              : tree
    2299            0 : generic_simplify_438 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2300              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2301              :  const combined_fn ARG_UNUSED (coshs),
    2302              :  const combined_fn ARG_UNUSED (atanhs),
    2303              :  const combined_fn ARG_UNUSED (sqrts))
    2304              : {
    2305            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2306            0 :   if (!flag_errno_math
    2307              : )
    2308              :     {
    2309            0 :       {
    2310            0 :  tree t_one = build_one_cst (type);
    2311            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail783;
    2312            0 :           {
    2313            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail783;
    2314            0 :             tree res_op0;
    2315            0 :             res_op0 =  t_one;
    2316            0 :             tree res_op1;
    2317            0 :             {
    2318            0 :               tree _o1[1], _r1;
    2319            0 :               {
    2320            0 :                 tree _o2[2], _r2;
    2321            0 :                 {
    2322            0 :                   tree _o3[2], _r3;
    2323            0 :                   _o3[0] =  t_one;
    2324            0 :                   _o3[1] = unshare_expr (captures[1]);
    2325            0 :                   _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2326            0 :                   _o2[0] = _r3;
    2327              :                 }
    2328            0 :                 {
    2329            0 :                   tree _o3[2], _r3;
    2330            0 :                   _o3[0] =  t_one;
    2331            0 :                   _o3[1] = captures[1];
    2332            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2333            0 :                   _o2[1] = _r3;
    2334              :                 }
    2335            0 :                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2336            0 :                 _o1[0] = _r2;
    2337              :               }
    2338            0 :               _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2339            0 :               if (!_r1)
    2340            0 :                 goto next_after_fail783;
    2341            0 :               res_op1 = _r1;
    2342              :             }
    2343            0 :             tree _r;
    2344            0 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    2345            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
    2346            0 :             return _r;
    2347              :           }
    2348              : next_after_fail783:;
    2349              :       }
    2350              :     }
    2351              :   return NULL_TREE;
    2352              : }
    2353              : 
    2354              : tree
    2355            0 : generic_simplify_442 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2356              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2357              :  const combined_fn ARG_UNUSED (POW))
    2358              : {
    2359            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2360            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail787;
    2361            0 :   {
    2362            0 :     tree _r;
    2363            0 :     _r = captures[0];
    2364            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2365            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2366            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 642, __FILE__, __LINE__, true);
    2367              :     return _r;
    2368              :   }
    2369            0 : next_after_fail787:;
    2370            0 :   return NULL_TREE;
    2371              : }
    2372              : 
    2373              : tree
    2374            0 : generic_simplify_445 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2375              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2376              :  const combined_fn ARG_UNUSED (copysigns),
    2377              :  const combined_fn ARG_UNUSED (hypots))
    2378              : {
    2379            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2380            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail790;
    2381            0 :   {
    2382            0 :     tree res_op0;
    2383            0 :     res_op0 = captures[0];
    2384            0 :     tree res_op1;
    2385            0 :     res_op1 = captures[1];
    2386            0 :     tree _r;
    2387            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2388            0 :     if (!_r)
    2389            0 :       goto next_after_fail790;
    2390            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
    2391            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2392            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 645, __FILE__, __LINE__, true);
    2393              :     return _r;
    2394              :   }
    2395              : next_after_fail790:;
    2396              :   return NULL_TREE;
    2397              : }
    2398              : 
    2399              : tree
    2400           21 : generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2401              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2402              : {
    2403           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2404           42 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2405           42 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2406              : )
    2407              :     {
    2408            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail795;
    2409            0 :       {
    2410            0 :         tree res_op0;
    2411            0 :         res_op0 = captures[0];
    2412            0 :         tree res_op1;
    2413            0 :         res_op1 = captures[1];
    2414            0 :         tree _r;
    2415            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2416            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 650, __FILE__, __LINE__, true);
    2417            0 :         return _r;
    2418              :       }
    2419            0 : next_after_fail795:;
    2420              :     }
    2421              :   return NULL_TREE;
    2422              : }
    2423              : 
    2424              : tree
    2425            0 : generic_simplify_455 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2426              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2427              : {
    2428            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2429            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail800;
    2430            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail800;
    2431            0 :   {
    2432            0 :     tree res_op0;
    2433            0 :     res_op0 = captures[0];
    2434            0 :     tree res_op1;
    2435            0 :     {
    2436            0 :       tree _o1[1], _r1;
    2437            0 :       _o1[0] = captures[5];
    2438            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2439            0 :       res_op1 = _r1;
    2440              :     }
    2441            0 :     tree _r;
    2442            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2443            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 654, __FILE__, __LINE__, true);
    2444              :     return _r;
    2445              :   }
    2446              : next_after_fail800:;
    2447              :   return NULL_TREE;
    2448              : }
    2449              : 
    2450              : tree
    2451            0 : generic_simplify_461 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2452              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2453              : {
    2454            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2455            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail806;
    2456            0 :   {
    2457            0 :     tree res_op0;
    2458            0 :     res_op0 = captures[0];
    2459            0 :     tree res_op1;
    2460            0 :     res_op1 = captures[1];
    2461            0 :     tree _r;
    2462            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2463            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 660, __FILE__, __LINE__, true);
    2464              :     return _r;
    2465              :   }
    2466            0 : next_after_fail806:;
    2467            0 :   return NULL_TREE;
    2468              : }
    2469              : 
    2470              : tree
    2471         1667 : generic_simplify_464 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2472              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2473              : {
    2474         1667 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2475         1667 :   {
    2476         1667 :  bool wascmp;
    2477         1667 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2478         1667 :  || bitwise_inverted_equal_p (captures[1], captures[2], wascmp)
    2479              : )
    2480              :         {
    2481            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail809;
    2482            8 :           {
    2483            8 :             tree _r;
    2484            8 :             _r =  wascmp ? constant_boolean_node (false, type) : build_zero_cst (type);
    2485            8 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2486            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2487            8 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2488            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2489            8 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2490            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2491            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 663, __FILE__, __LINE__, true);
    2492            8 :             return _r;
    2493              :           }
    2494            0 : next_after_fail809:;
    2495              :         }
    2496              :   }
    2497         1659 :   return NULL_TREE;
    2498              : }
    2499              : 
    2500              : tree
    2501            0 : generic_simplify_476 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2502              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2503              :  const enum tree_code ARG_UNUSED (eqne))
    2504              : {
    2505            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2506            0 :   if (eqne == EQ_EXPR
    2507              : )
    2508              :     {
    2509            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail842;
    2510            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail842;
    2511            0 :       {
    2512            0 :         tree _r;
    2513            0 :         _r =  constant_boolean_node (false, type);
    2514            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2515            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2516            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
    2517            0 :         return _r;
    2518              :       }
    2519              : next_after_fail842:;
    2520              :     }
    2521              :   else
    2522              :     {
    2523            0 :       if (eqne == NE_EXPR
    2524              : )
    2525              :         {
    2526            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail843;
    2527            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail843;
    2528            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail843;
    2529            0 :           {
    2530            0 :             tree _r;
    2531            0 :             _r = captures[0];
    2532            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 670, __FILE__, __LINE__, true);
    2533            0 :             return _r;
    2534              :           }
    2535              : next_after_fail843:;
    2536              :         }
    2537              :     }
    2538              :   return NULL_TREE;
    2539              : }
    2540              : 
    2541              : tree
    2542            4 : generic_simplify_484 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2543              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2544              : {
    2545            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2546            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail863;
    2547            4 :   {
    2548            4 :     tree res_op0;
    2549            4 :     res_op0 = captures[1];
    2550            4 :     tree res_op1;
    2551            4 :     {
    2552            4 :       tree _o1[2], _r1;
    2553            4 :       _o1[0] = captures[2];
    2554            4 :       _o1[1] = captures[3];
    2555            4 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2556            4 :       if (EXPR_P (_r1))
    2557            2 :         goto next_after_fail863;
    2558            2 :       res_op1 = _r1;
    2559              :     }
    2560            2 :     tree _r;
    2561            2 :     _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2562            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 688, __FILE__, __LINE__, true);
    2563              :     return _r;
    2564              :   }
    2565              : next_after_fail863:;
    2566              :   return NULL_TREE;
    2567              : }
    2568              : 
    2569              : tree
    2570          234 : generic_simplify_489 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2571              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2572              :  const combined_fn ARG_UNUSED (bswap))
    2573              : {
    2574          234 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2575          234 :   if (BITS_PER_UNIT == 8
    2576          234 :  && tree_fits_uhwi_p (captures[3])
    2577          234 :  && tree_fits_uhwi_p (captures[4])
    2578              : )
    2579              :     {
    2580          234 :       {
    2581          234 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2582          234 :  unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[3]);
    2583          234 :  unsigned HOST_WIDE_INT mask = tree_to_uhwi (captures[4]);
    2584          234 :  unsigned HOST_WIDE_INT lo = bits & 7;
    2585          234 :  unsigned HOST_WIDE_INT hi = bits - lo;
    2586          234 :           if (bits < prec
    2587          234 :  && mask < (256u>>lo)
    2588          468 :  && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
    2589              : )
    2590              :             {
    2591          234 :               {
    2592          234 :  unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
    2593          234 :                   if (ns == 0
    2594              : )
    2595              :                     {
    2596            1 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail876;
    2597            1 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail876;
    2598            1 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail876;
    2599            1 :                       {
    2600            1 :                         tree res_op0;
    2601            1 :                         {
    2602            1 :                           tree _o1[1], _r1;
    2603            1 :                           _o1[0] = captures[2];
    2604            1 :                           if (TREE_TYPE (_o1[0]) != type)
    2605              :                             {
    2606            1 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2607              :                             }
    2608              :                           else
    2609              :                             _r1 = _o1[0];
    2610            1 :                           res_op0 = _r1;
    2611              :                         }
    2612            1 :                         tree res_op1;
    2613            1 :                         res_op1 = captures[4];
    2614            1 :                         tree _r;
    2615            1 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2616            1 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
    2617            1 :                         return _r;
    2618              :                       }
    2619              : next_after_fail876:;
    2620              :                     }
    2621              :                   else
    2622              :                     {
    2623          233 :                       {
    2624          233 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2625          233 :  tree nst = build_int_cst (integer_type_node, ns);
    2626          233 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail877;
    2627          233 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail877;
    2628          233 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail877;
    2629          233 :                           {
    2630          233 :                             tree res_op0;
    2631          233 :                             {
    2632          233 :                               tree _o1[1], _r1;
    2633          233 :                               {
    2634          233 :                                 tree _o2[2], _r2;
    2635          233 :                                 {
    2636          233 :                                   tree _o3[1], _r3;
    2637          233 :                                   _o3[0] = captures[2];
    2638          233 :                                   if (TREE_TYPE (_o3[0]) != utype)
    2639              :                                     {
    2640            0 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2641              :                                     }
    2642              :                                   else
    2643              :                                     _r3 = _o3[0];
    2644          233 :                                   _o2[0] = _r3;
    2645              :                                 }
    2646          233 :                                 _o2[1] = nst;
    2647          233 :                                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2648          233 :                                 _o1[0] = _r2;
    2649              :                               }
    2650          233 :                               if (TREE_TYPE (_o1[0]) != type)
    2651              :                                 {
    2652          101 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2653              :                                 }
    2654              :                               else
    2655              :                                 _r1 = _o1[0];
    2656          233 :                               res_op0 = _r1;
    2657              :                             }
    2658          233 :                             tree res_op1;
    2659          233 :                             res_op1 = captures[4];
    2660          233 :                             tree _r;
    2661          233 :                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2662          233 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 693, __FILE__, __LINE__, true);
    2663          233 :                             return _r;
    2664              :                           }
    2665              : next_after_fail877:;
    2666              :                       }
    2667              :                     }
    2668              :               }
    2669              :             }
    2670              :       }
    2671              :     }
    2672              :   return NULL_TREE;
    2673              : }
    2674              : 
    2675              : tree
    2676            0 : generic_simplify_491 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2677              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2678              : {
    2679            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2680            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail879;
    2681            0 :   {
    2682            0 :     tree res_op0;
    2683            0 :     res_op0 = captures[0];
    2684            0 :     tree res_op1;
    2685            0 :     res_op1 = captures[1];
    2686            0 :     tree _r;
    2687            0 :     _r = fold_build2_loc (loc, LTGT_EXPR, type, res_op0, res_op1);
    2688            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 695, __FILE__, __LINE__, true);
    2689              :     return _r;
    2690              :   }
    2691            0 : next_after_fail879:;
    2692            0 :   return NULL_TREE;
    2693              : }
    2694              : 
    2695              : tree
    2696            0 : generic_simplify_492 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2697              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2698              : {
    2699            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2700            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail880;
    2701            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail880;
    2702            0 :   {
    2703            0 :     tree _r;
    2704            0 :     _r = captures[1];
    2705            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 696, __FILE__, __LINE__, true);
    2706              :     return _r;
    2707              :   }
    2708              : next_after_fail880:;
    2709              :   return NULL_TREE;
    2710              : }
    2711              : 
    2712              : tree
    2713            3 : generic_simplify_495 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2714              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2715              :  const combined_fn ARG_UNUSED (POPCOUNT),
    2716              :  const combined_fn ARG_UNUSED (PARITY))
    2717              : {
    2718            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2719            3 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail884;
    2720            3 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail884;
    2721            3 :   {
    2722            3 :     tree res_op0;
    2723            3 :     res_op0 = captures[0];
    2724            3 :     tree _r;
    2725            3 :     _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    2726            3 :     if (!_r)
    2727            0 :       goto next_after_fail884;
    2728            3 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 699, __FILE__, __LINE__, true);
    2729              :     return _r;
    2730              :   }
    2731              : next_after_fail884:;
    2732              :   return NULL_TREE;
    2733              : }
    2734              : 
    2735              : tree
    2736         3904 : generic_simplify_500 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2737              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2738              : {
    2739         3904 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2740         3904 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2741         3904 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2742              : )
    2743              :     {
    2744         3462 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail889;
    2745         3462 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail889;
    2746         3462 :       {
    2747         3462 :         tree res_op0;
    2748         3462 :         {
    2749         3462 :           tree _o1[1], _r1;
    2750         3462 :           _o1[0] = captures[0];
    2751         3462 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2752         3462 :           res_op0 = _r1;
    2753              :         }
    2754         3462 :         tree _r;
    2755         3462 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2756         3462 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 704, __FILE__, __LINE__, true);
    2757         3462 :         return _r;
    2758              :       }
    2759              : next_after_fail889:;
    2760              :     }
    2761              :   return NULL_TREE;
    2762              : }
    2763              : 
    2764              : tree
    2765            2 : generic_simplify_508 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2766              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2767              :  const enum tree_code ARG_UNUSED (rotate))
    2768              : {
    2769            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2770            2 :   if ((element_precision (TREE_TYPE (captures[2]))
    2771            2 :  <= element_precision (TREE_TYPE (captures[3]))
    2772            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2773            2 :  && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
    2774            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2775              : )
    2776              :     {
    2777            2 :       {
    2778            2 :  tree rotate_type = TREE_TYPE (captures[2]);
    2779            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail897;
    2780            2 :           {
    2781            2 :             tree res_op0;
    2782            2 :             {
    2783            2 :               tree _o1[2], _r1;
    2784            2 :               {
    2785            2 :                 tree _o2[1], _r2;
    2786            2 :                 _o2[0] = captures[3];
    2787            2 :                 if (TREE_TYPE (_o2[0]) != rotate_type)
    2788              :                   {
    2789            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
    2790              :                   }
    2791              :                 else
    2792              :                   _r2 = _o2[0];
    2793            2 :                 _o1[0] = _r2;
    2794              :               }
    2795            2 :               _o1[1] = captures[4];
    2796            2 :               _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2797            2 :               res_op0 = _r1;
    2798              :             }
    2799            2 :             tree _r;
    2800            2 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2801            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 709, __FILE__, __LINE__, true);
    2802            2 :             return _r;
    2803              :           }
    2804            0 : next_after_fail897:;
    2805              :       }
    2806              :     }
    2807              :   return NULL_TREE;
    2808              : }
    2809              : 
    2810              : tree
    2811            2 : generic_simplify_521 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2812              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2813              : {
    2814            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2815            2 :   if (TREE_CODE (type) != COMPLEX_TYPE
    2816            2 :  && (! ANY_INTEGRAL_TYPE_P (type)
    2817            1 :  || TYPE_OVERFLOW_UNDEFINED (type))
    2818              : )
    2819              :     {
    2820            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail912;
    2821            2 :       {
    2822            2 :         tree res_op0;
    2823            2 :         {
    2824            2 :           tree _o1[1], _r1;
    2825            2 :           _o1[0] = captures[0];
    2826            2 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2827            2 :           res_op0 = _r1;
    2828              :         }
    2829            2 :         tree _r;
    2830            2 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    2831            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 724, __FILE__, __LINE__, true);
    2832            2 :         return _r;
    2833              :       }
    2834            0 : next_after_fail912:;
    2835              :     }
    2836              :   return NULL_TREE;
    2837              : }
    2838              : 
    2839              : tree
    2840            0 : generic_simplify_530 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2841              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2842              :  const enum tree_code ARG_UNUSED (minmax),
    2843              :  const enum tree_code ARG_UNUSED (maxmin))
    2844              : {
    2845            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2846            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail935;
    2847            0 :   {
    2848            0 :     tree res_op0;
    2849            0 :     {
    2850            0 :       tree _o1[2], _r1;
    2851            0 :       _o1[0] = captures[1];
    2852            0 :       _o1[1] = captures[3];
    2853            0 :       _r1 = fold_build2_loc (loc, maxmin, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2854            0 :       res_op0 = _r1;
    2855              :     }
    2856            0 :     tree _r;
    2857            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2858            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 735, __FILE__, __LINE__, true);
    2859              :     return _r;
    2860              :   }
    2861            0 : next_after_fail935:;
    2862            0 :   return NULL_TREE;
    2863              : }
    2864              : 
    2865              : tree
    2866            0 : generic_simplify_535 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2867              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2868              :  const combined_fn ARG_UNUSED (minmax))
    2869              : {
    2870            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2871            0 :   if (real_isnan (TREE_REAL_CST_PTR (captures[1]))
    2872            0 :  && (!HONOR_SNANS (captures[1]) || !TREE_REAL_CST (captures[1]).signalling)
    2873            0 :  && !tree_expr_maybe_signaling_nan_p (captures[0])
    2874              : )
    2875              :     {
    2876            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail940;
    2877            0 :       {
    2878            0 :         tree _r;
    2879            0 :         _r = captures[0];
    2880            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2881            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2882            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 740, __FILE__, __LINE__, true);
    2883            0 :         return _r;
    2884              :       }
    2885            0 : next_after_fail940:;
    2886              :     }
    2887              :   return NULL_TREE;
    2888              : }
    2889              : 
    2890              : tree
    2891            0 : generic_simplify_544 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2892              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2893              :  const combined_fn ARG_UNUSED (cond_op))
    2894              : {
    2895            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2896            0 :   {
    2897            0 :  tree op_type = TREE_TYPE (captures[5]);
    2898            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2899            0 :  && element_precision (type) == element_precision (op_type)
    2900              : )
    2901              :         {
    2902            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail949;
    2903            0 :           {
    2904            0 :             tree res_op0;
    2905            0 :             {
    2906            0 :               tree _o1[4], _r1;
    2907            0 :               _o1[0] = captures[2];
    2908            0 :               _o1[1] = captures[3];
    2909            0 :               _o1[2] = captures[4];
    2910            0 :               {
    2911            0 :                 tree _o2[1], _r2;
    2912            0 :                 _o2[0] = captures[1];
    2913            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2914              :                   {
    2915            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2916              :                   }
    2917              :                 else
    2918              :                   _r2 = _o2[0];
    2919            0 :                 _o1[3] = _r2;
    2920              :               }
    2921            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 4, _o1[0], _o1[1], _o1[2], _o1[3]);
    2922            0 :               if (!_r1)
    2923            0 :                 goto next_after_fail949;
    2924            0 :               res_op0 = _r1;
    2925              :             }
    2926            0 :             tree _r;
    2927            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2928            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2929            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2930            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    2931            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    2932            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 744, __FILE__, __LINE__, true);
    2933            0 :             return _r;
    2934              :           }
    2935              : next_after_fail949:;
    2936              :         }
    2937              :   }
    2938              :   return NULL_TREE;
    2939              : }
    2940              : 
    2941              : tree
    2942         5786 : generic_simplify_555 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2943              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2944              : {
    2945         5786 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2946        11572 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2947         5786 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[1]))
    2948         5786 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (TREE_TYPE (captures[0])))
    2949         8082 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    2950              : )
    2951              :     {
    2952         1904 :       if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2953              : )
    2954              :         {
    2955          929 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail961;
    2956          929 :           {
    2957          929 :             tree res_op0;
    2958          929 :             {
    2959          929 :               tree _o1[2], _r1;
    2960          929 :               _o1[0] = captures[1];
    2961          929 :               {
    2962          929 :                 tree _o2[2], _r2;
    2963          929 :                 _o2[0] =  TYPE_MAX_VALUE (TREE_TYPE (captures[1]));
    2964          929 :                 _o2[1] = captures[2];
    2965          929 :                 _r2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2966          929 :                 if (EXPR_P (_r2))
    2967            0 :                   goto next_after_fail961;
    2968          929 :                 _o1[1] = _r2;
    2969              :               }
    2970          929 :               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2971          929 :               res_op0 = _r1;
    2972              :             }
    2973          929 :             tree _r;
    2974          929 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2975          929 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 756, __FILE__, __LINE__, true);
    2976          929 :             return _r;
    2977              :           }
    2978              : next_after_fail961:;
    2979              :         }
    2980              :       else
    2981              :         {
    2982          975 :           if (TYPE_MIN_VALUE (TREE_TYPE (captures[1]))
    2983              : )
    2984              :             {
    2985          975 :               if (!TYPE_UNSIGNED (TREE_TYPE (captures[2])) && integer_minus_onep (captures[2])
    2986              : )
    2987              :                 {
    2988           56 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail962;
    2989           56 :                   {
    2990           56 :                     tree res_op0;
    2991           56 :                     {
    2992           56 :                       tree _o1[2], _r1;
    2993           56 :                       _o1[0] = captures[1];
    2994           56 :                       _o1[1] =  TYPE_MIN_VALUE (TREE_TYPE (captures[1]));
    2995           56 :                       _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2996           56 :                       res_op0 = _r1;
    2997              :                     }
    2998           56 :                     tree _r;
    2999           56 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3000           56 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    3001            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3002           56 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 757, __FILE__, __LINE__, true);
    3003           56 :                     return _r;
    3004              :                   }
    3005            0 : next_after_fail962:;
    3006              :                 }
    3007              :               else
    3008              :                 {
    3009          919 :                   {
    3010          919 :  tree div = fold_convert (TREE_TYPE (captures[1]), captures[2]);
    3011         1838 :  tree lo = int_const_binop (TRUNC_DIV_EXPR,
    3012          919 :  TYPE_MIN_VALUE (TREE_TYPE (captures[1])), div);
    3013         1838 :  tree hi = int_const_binop (TRUNC_DIV_EXPR,
    3014          919 :  TYPE_MAX_VALUE (TREE_TYPE (captures[1])), div);
    3015          919 :  tree etype = range_check_type (TREE_TYPE (captures[1]));
    3016          919 :  if (etype)
    3017              :  {
    3018          919 :  if (wi::neg_p (wi::to_wide (div)))
    3019           88 :  std::swap (lo, hi);
    3020          919 :  lo = fold_convert (etype, lo);
    3021          919 :  hi = fold_convert (etype, hi);
    3022          919 :  hi = int_const_binop (MINUS_EXPR, hi, lo);
    3023              :  }
    3024          919 :                       if (etype
    3025              : )
    3026              :                         {
    3027          919 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail963;
    3028          919 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail963;
    3029          919 :                           {
    3030          919 :                             tree res_op0;
    3031          919 :                             {
    3032          919 :                               tree _o1[2], _r1;
    3033          919 :                               {
    3034          919 :                                 tree _o2[2], _r2;
    3035          919 :                                 {
    3036          919 :                                   tree _o3[1], _r3;
    3037          919 :                                   _o3[0] = captures[1];
    3038          919 :                                   if (TREE_TYPE (_o3[0]) != etype)
    3039              :                                     {
    3040          919 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, etype, _o3[0]);
    3041              :                                     }
    3042              :                                   else
    3043              :                                     _r3 = _o3[0];
    3044          919 :                                   _o2[0] = _r3;
    3045              :                                 }
    3046          919 :                                 _o2[1] =  lo;
    3047          919 :                                 _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    3048          919 :                                 _o1[0] = _r2;
    3049              :                               }
    3050          919 :                               _o1[1] =  hi;
    3051          919 :                               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3052          919 :                               res_op0 = _r1;
    3053              :                             }
    3054          919 :                             tree _r;
    3055          919 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3056          919 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 758, __FILE__, __LINE__, true);
    3057          919 :                             return _r;
    3058              :                           }
    3059              : next_after_fail963:;
    3060              :                         }
    3061              :                   }
    3062              :                 }
    3063              :             }
    3064              :         }
    3065              :     }
    3066              :   return NULL_TREE;
    3067              : }
    3068              : 
    3069              : tree
    3070            0 : generic_simplify_595 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3071              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3072              : {
    3073            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3074            0 :   if (canonicalize_math_after_vectorization_p ()
    3075              : )
    3076              :     {
    3077              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1003;
    3078              :       {
    3079              :         tree res_op0;
    3080              :         res_op0 = captures[0];
    3081              :         tree res_op1;
    3082              :         res_op1 = captures[1];
    3083              :         tree res_op2;
    3084              :         res_op2 = captures[2];
    3085              :         tree _r;
    3086              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3087              :         if (!_r)
    3088              :           goto next_after_fail1003;
    3089              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 798, __FILE__, __LINE__, true);
    3090              :         return _r;
    3091              :       }
    3092            0 : next_after_fail1003:;
    3093              :     }
    3094            0 :   return NULL_TREE;
    3095              : }
    3096              : 
    3097              : tree
    3098            0 : generic_simplify_605 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3099              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3100              :  const combined_fn ARG_UNUSED (ctz))
    3101              : {
    3102            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3103            0 :   {
    3104            0 :  tree t = TREE_TYPE (captures[0]);
    3105            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1013;
    3106            0 :       {
    3107            0 :         tree res_op0;
    3108            0 :         {
    3109            0 :           tree _o1[1], _r1;
    3110            0 :           _o1[0] = captures[1];
    3111            0 :           if (TREE_TYPE (_o1[0]) != t)
    3112              :             {
    3113            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3114              :             }
    3115              :           else
    3116              :             _r1 = _o1[0];
    3117            0 :           res_op0 = _r1;
    3118              :         }
    3119            0 :         tree _r;
    3120            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3121            0 :         if (!_r)
    3122            0 :           goto next_after_fail1013;
    3123            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 807, __FILE__, __LINE__, true);
    3124              :         return _r;
    3125              :       }
    3126              : next_after_fail1013:;
    3127              :   }
    3128              :   return NULL_TREE;
    3129              : }
    3130              : 
    3131              : tree
    3132            0 : generic_simplify_615 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3133              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3134              :  const combined_fn ARG_UNUSED (bswap),
    3135              :  const combined_fn ARG_UNUSED (parity))
    3136              : {
    3137            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3138            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3139            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3140            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3141            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3142              : )
    3143              :     {
    3144            0 :       {
    3145            0 :  tree type0 = TREE_TYPE (captures[0]);
    3146            0 :  tree type1 = TREE_TYPE (captures[1]);
    3147            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1024;
    3148            0 :           {
    3149            0 :             tree res_op0;
    3150            0 :             {
    3151            0 :               tree _o1[1], _r1;
    3152            0 :               {
    3153            0 :                 tree _o2[1], _r2;
    3154            0 :                 _o2[0] = captures[2];
    3155            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3156              :                   {
    3157            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3158              :                   }
    3159              :                 else
    3160              :                   _r2 = _o2[0];
    3161            0 :                 _o1[0] = _r2;
    3162              :               }
    3163            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3164              :                 {
    3165            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3166              :                 }
    3167              :               else
    3168              :                 _r1 = _o1[0];
    3169            0 :               res_op0 = _r1;
    3170              :             }
    3171            0 :             tree _r;
    3172            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3173            0 :             if (!_r)
    3174            0 :               goto next_after_fail1024;
    3175            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 814, __FILE__, __LINE__, true);
    3176            0 :             return _r;
    3177              :           }
    3178              : next_after_fail1024:;
    3179              :       }
    3180              :     }
    3181              :   return NULL_TREE;
    3182              : }
    3183              : 
    3184              : tree
    3185      2124169 : generic_simplify_ABS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3186              : {
    3187      2124169 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3188      2124169 :   switch (TREE_CODE (_p0))
    3189              :     {
    3190       183342 :     CASE_CONVERT:
    3191       183342 :       {
    3192       183342 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3193       183342 :         {
    3194       183342 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3195       366682 :           if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3196          914 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3197          840 :  && element_precision (type) > element_precision (TREE_TYPE (captures[0]))
    3198       183567 :  && (!VECTOR_TYPE_P (type)
    3199            0 :  || target_supports_op_p (TREE_TYPE (captures[0]), ABSU_EXPR, optab_vector))
    3200              : )
    3201              :             {
    3202          225 :               {
    3203          225 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    3204          225 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1033;
    3205          225 :                   {
    3206          225 :                     tree res_op0;
    3207          225 :                     {
    3208          225 :                       tree _o1[1], _r1;
    3209          225 :                       _o1[0] = captures[0];
    3210          225 :                       _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
    3211          225 :                       res_op0 = _r1;
    3212              :                     }
    3213          225 :                     tree _r;
    3214          225 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3215          225 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
    3216          225 :                     return _r;
    3217              :                   }
    3218            0 : next_after_fail1033:;
    3219              :               }
    3220              :             }
    3221              :         }
    3222              :         break;
    3223              :       }
    3224           12 :     case ABS_EXPR:
    3225           12 :       {
    3226           12 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3227           12 :         {
    3228           12 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3229           12 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1034;
    3230           12 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1034;
    3231           12 :           {
    3232           12 :             tree _r;
    3233           12 :             _r = captures[0];
    3234           12 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
    3235           12 :             return _r;
    3236              :           }
    3237            0 : next_after_fail1034:;
    3238              :         }
    3239            0 :         break;
    3240              :       }
    3241           57 :     case NEGATE_EXPR:
    3242           57 :       {
    3243           57 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3244           57 :         {
    3245           57 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3246           57 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1035;
    3247           57 :           {
    3248           57 :             tree res_op0;
    3249           57 :             res_op0 = captures[0];
    3250           57 :             tree _r;
    3251           57 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    3252           57 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
    3253      2124169 :             return _r;
    3254              :           }
    3255            0 : next_after_fail1035:;
    3256              :         }
    3257            0 :         break;
    3258              :       }
    3259          317 :     case PLUS_EXPR:
    3260          317 :       {
    3261          317 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3262          317 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3263          317 :         if (real_zerop (_q21))
    3264              :           {
    3265            3 :             {
    3266            3 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3267            3 :               tree res = generic_simplify_1 (loc, type, _p0, captures, PLUS_EXPR);
    3268            3 :               if (res) return res;
    3269              :             }
    3270              :           }
    3271              :         break;
    3272              :       }
    3273         7343 :     case MINUS_EXPR:
    3274         7343 :       {
    3275         7343 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3276         7343 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3277         7343 :         if (real_zerop (_q21))
    3278              :           {
    3279            0 :             {
    3280            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3281            0 :               tree res = generic_simplify_1 (loc, type, _p0, captures, MINUS_EXPR);
    3282            0 :               if (res) return res;
    3283              :             }
    3284              :           }
    3285              :         break;
    3286              :       }
    3287            0 :     case VEC_COND_EXPR:
    3288            0 :       {
    3289            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3290            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3291            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3292            0 :         {
    3293            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3294            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1036;
    3295            0 :           {
    3296            0 :             tree res_op0;
    3297            0 :             res_op0 = captures[1];
    3298            0 :             tree res_op1;
    3299            0 :             {
    3300            0 :               tree _o1[1], _r1;
    3301            0 :               _o1[0] = captures[2];
    3302            0 :               _r1 = fold_build1_loc (loc, ABS_EXPR, type, _o1[0]);
    3303            0 :               if (EXPR_P (_r1))
    3304            0 :                 goto next_after_fail1036;
    3305            0 :               res_op1 = _r1;
    3306              :             }
    3307            0 :             tree res_op2;
    3308            0 :             {
    3309            0 :               tree _o1[1], _r1;
    3310            0 :               _o1[0] = captures[3];
    3311            0 :               _r1 = fold_build1_loc (loc, ABS_EXPR, type, _o1[0]);
    3312            0 :               if (EXPR_P (_r1))
    3313            0 :                 goto next_after_fail1036;
    3314            0 :               res_op2 = _r1;
    3315              :             }
    3316            0 :             tree _r;
    3317            0 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3318            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
    3319            0 :             return _r;
    3320              :           }
    3321            0 : next_after_fail1036:;
    3322              :         }
    3323            0 :         break;
    3324              :       }
    3325          702 :     case CALL_EXPR:
    3326          702 :       switch (get_call_combined_fn (_p0))
    3327              :         {
    3328            0 :         case CFN_BUILT_IN_COPYSIGNF16:
    3329            0 :           if (call_expr_nargs (_p0) == 2)
    3330              :     {
    3331            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3332            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3333            0 :               {
    3334            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3335            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF16);
    3336            0 :                 if (res) return res;
    3337              :               }
    3338              :             }
    3339              :           break;
    3340            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    3341            0 :           if (call_expr_nargs (_p0) == 2)
    3342              :     {
    3343            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3344            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3345            0 :               {
    3346            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3347            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF32);
    3348            0 :                 if (res) return res;
    3349              :               }
    3350              :             }
    3351              :           break;
    3352            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    3353            0 :           if (call_expr_nargs (_p0) == 2)
    3354              :     {
    3355            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3356            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3357            0 :               {
    3358            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3359            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF64);
    3360            0 :                 if (res) return res;
    3361              :               }
    3362              :             }
    3363              :           break;
    3364            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    3365            0 :           if (call_expr_nargs (_p0) == 2)
    3366              :     {
    3367            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3368            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3369            0 :               {
    3370            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3371            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF128X);
    3372            0 :                 if (res) return res;
    3373              :               }
    3374              :             }
    3375              :           break;
    3376            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    3377            0 :           if (call_expr_nargs (_p0) == 2)
    3378              :     {
    3379            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3380            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3381            0 :               {
    3382            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3383            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF128);
    3384            0 :                 if (res) return res;
    3385              :               }
    3386              :             }
    3387              :           break;
    3388            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    3389            0 :           if (call_expr_nargs (_p0) == 2)
    3390              :     {
    3391            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3392            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3393            0 :               {
    3394            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3395            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF32X);
    3396            0 :                 if (res) return res;
    3397              :               }
    3398              :             }
    3399              :           break;
    3400            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    3401            0 :           if (call_expr_nargs (_p0) == 2)
    3402              :     {
    3403            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3404            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3405            0 :               {
    3406            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3407            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF64X);
    3408            0 :                 if (res) return res;
    3409              :               }
    3410              :             }
    3411              :           break;
    3412            0 :         case CFN_BUILT_IN_COPYSIGN:
    3413            0 :           if (call_expr_nargs (_p0) == 2)
    3414              :     {
    3415            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3416            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3417            0 :               {
    3418            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3419            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGN);
    3420            0 :                 if (res) return res;
    3421              :               }
    3422              :             }
    3423              :           break;
    3424            1 :         case CFN_BUILT_IN_COPYSIGNF:
    3425            1 :           if (call_expr_nargs (_p0) == 2)
    3426              :     {
    3427            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3428            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3429            1 :               {
    3430            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3431            1 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF);
    3432            1 :                 if (res) return res;
    3433              :               }
    3434              :             }
    3435              :           break;
    3436            0 :         case CFN_BUILT_IN_COPYSIGNL:
    3437            0 :           if (call_expr_nargs (_p0) == 2)
    3438              :     {
    3439            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3440            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3441            0 :               {
    3442            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3443            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNL);
    3444            0 :                 if (res) return res;
    3445              :               }
    3446              :             }
    3447              :           break;
    3448            0 :         case CFN_COPYSIGN:
    3449            0 :           if (call_expr_nargs (_p0) == 2)
    3450              :     {
    3451            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3452            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3453            0 :               {
    3454            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3455            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_COPYSIGN);
    3456            0 :                 if (res) return res;
    3457              :               }
    3458              :             }
    3459              :           break;
    3460              :         default:;
    3461              :         }
    3462              :       break;
    3463      2123872 :     default:;
    3464              :     }
    3465      2123872 : if (tree_expr_nonnegative_p (_p0))
    3466              :   {
    3467          549 :     {
    3468          549 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3469          549 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1037;
    3470          549 :       {
    3471          549 :         tree _r;
    3472          549 :         _r = captures[0];
    3473          549 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 825, __FILE__, __LINE__, true);
    3474          549 :         return _r;
    3475              :       }
    3476            0 : next_after_fail1037:;
    3477              :     }
    3478              :   }
    3479              :   return NULL_TREE;
    3480              : }
    3481              : 
    3482              : tree
    3483       987939 : generic_simplify_BIT_XOR_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3484              : {
    3485       987939 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3486       987939 :   switch (TREE_CODE (_p0))
    3487              :     {
    3488          102 :     case MINUS_EXPR:
    3489          102 :       {
    3490          102 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3491          102 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3492          102 :         switch (TREE_CODE (_q21))
    3493              :           {
    3494           22 :           CASE_CONVERT:
    3495           22 :             {
    3496           22 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3497           22 :               switch (TREE_CODE (_q40))
    3498              :                 {
    3499            0 :                 case LT_EXPR:
    3500            0 :                   {
    3501            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3502            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    3503            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3504              :                       {
    3505            0 :                         if (integer_zerop (_q51))
    3506              :                           {
    3507            0 :                             switch (TREE_CODE (_p1))
    3508              :                               {
    3509            0 :                               case NEGATE_EXPR:
    3510            0 :                                 {
    3511            0 :                                   tree _q80 = TREE_OPERAND (_p1, 0);
    3512            0 :                                   if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
    3513              :                                     {
    3514            0 :                                       {
    3515            0 :                                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3516            0 :                                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3517            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3518              : )
    3519              :                                           {
    3520            0 :                                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1156;
    3521            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1156;
    3522            0 :                                             {
    3523            0 :                                               tree res_op0;
    3524            0 :                                               res_op0 = captures[0];
    3525            0 :                                               tree _r;
    3526            0 :                                               _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    3527            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3528            0 :                                               return _r;
    3529              :                                             }
    3530            0 : next_after_fail1156:;
    3531              :                                           }
    3532              :                                       }
    3533              :                                     }
    3534              :                                   break;
    3535              :                                 }
    3536              :                               default:;
    3537              :                               }
    3538              :                           }
    3539              :                       }
    3540              :                     break;
    3541              :                   }
    3542              :                 default:;
    3543              :                 }
    3544              :               break;
    3545              :             }
    3546              :           default:;
    3547              :           }
    3548              :         break;
    3549              :       }
    3550          142 :     case NEGATE_EXPR:
    3551          142 :       {
    3552          142 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3553          142 :         switch (TREE_CODE (_p1))
    3554              :           {
    3555            0 :           case MINUS_EXPR:
    3556            0 :             {
    3557            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3558            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3559            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    3560              :                 {
    3561            0 :                   switch (TREE_CODE (_q41))
    3562              :                     {
    3563            0 :                     CASE_CONVERT:
    3564            0 :                       {
    3565            0 :                         tree _q70 = TREE_OPERAND (_q41, 0);
    3566            0 :                         switch (TREE_CODE (_q70))
    3567              :                           {
    3568            0 :                           case LT_EXPR:
    3569            0 :                             {
    3570            0 :                               tree _q80 = TREE_OPERAND (_q70, 0);
    3571            0 :                               tree _q81 = TREE_OPERAND (_q70, 1);
    3572            0 :                               if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    3573              :                                 {
    3574            0 :                                   if (integer_zerop (_q81))
    3575              :                                     {
    3576            0 :                                       {
    3577            0 :                                         tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3578            0 :                                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3579            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3580              : )
    3581              :                                           {
    3582            0 :                                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1157;
    3583            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1157;
    3584            0 :                                             {
    3585            0 :                                               tree res_op0;
    3586            0 :                                               res_op0 = captures[0];
    3587            0 :                                               tree _r;
    3588            0 :                                               _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    3589            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3590            0 :                                               return _r;
    3591              :                                             }
    3592            0 : next_after_fail1157:;
    3593              :                                           }
    3594              :                                       }
    3595              :                                     }
    3596              :                                 }
    3597              :                               break;
    3598              :                             }
    3599              :                           default:;
    3600              :                           }
    3601              :                         break;
    3602              :                       }
    3603              :                     default:;
    3604              :                     }
    3605              :                 }
    3606              :               break;
    3607              :             }
    3608              :           default:;
    3609              :           }
    3610              :         break;
    3611              :       }
    3612       987939 :     default:;
    3613              :     }
    3614       987939 :   if (integer_zerop (_p1))
    3615              :     {
    3616          543 :       {
    3617          543 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3618          543 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1158;
    3619          543 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1158;
    3620          543 :         {
    3621          543 :           tree res_op0;
    3622          543 :           res_op0 = captures[0];
    3623          543 :           tree _r;
    3624          543 :           _r = non_lvalue_loc (loc, res_op0);
    3625          543 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3626          543 :           return _r;
    3627              :         }
    3628              : next_after_fail1158:;
    3629              :       }
    3630              :     }
    3631       987396 :   switch (TREE_CODE (_p0))
    3632              :     {
    3633         2967 :     case LSHIFT_EXPR:
    3634         2967 :       {
    3635         2967 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3636         2967 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3637         2967 :         switch (TREE_CODE (_p1))
    3638              :           {
    3639           10 :           case LSHIFT_EXPR:
    3640           10 :             {
    3641           10 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3642           10 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3643           10 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3644              :                 {
    3645            1 :                   {
    3646            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    3647            1 :                     tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3648            1 :                     if (res) return res;
    3649              :                   }
    3650              :                 }
    3651              :               break;
    3652              :             }
    3653              :           default:;
    3654              :           }
    3655              :         break;
    3656              :       }
    3657        22336 :     case RSHIFT_EXPR:
    3658        22336 :       {
    3659        22336 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3660        22336 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3661        22336 :         switch (TREE_CODE (_p1))
    3662              :           {
    3663           20 :           case RSHIFT_EXPR:
    3664           20 :             {
    3665           20 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3666           20 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3667           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3668              :                 {
    3669           10 :                   {
    3670           10 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    3671           10 :                     tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3672           10 :                     if (res) return res;
    3673              :                   }
    3674              :                 }
    3675              :               break;
    3676              :             }
    3677              :           default:;
    3678              :           }
    3679              :         break;
    3680              :       }
    3681         3377 :     case BIT_AND_EXPR:
    3682         3377 :       {
    3683         3377 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3684         3377 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3685         3377 :         switch (TREE_CODE (_p1))
    3686              :           {
    3687          354 :           case BIT_AND_EXPR:
    3688          354 :             {
    3689          354 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3690          354 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3691          354 :               {
    3692          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    3693          354 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3694          354 :                 if (res) return res;
    3695              :               }
    3696          354 :               {
    3697          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
    3698          354 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3699          354 :                 if (res) return res;
    3700              :               }
    3701          354 :               {
    3702          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
    3703          354 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3704          354 :                 if (res) return res;
    3705              :               }
    3706          354 :               {
    3707          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
    3708          354 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3709          354 :                 if (res) return res;
    3710              :               }
    3711          354 :               break;
    3712              :             }
    3713         3377 :           default:;
    3714              :           }
    3715         3377 :         switch (TREE_CODE (_q21))
    3716              :           {
    3717           41 :           case BIT_NOT_EXPR:
    3718           41 :             {
    3719           41 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3720           41 :               switch (TREE_CODE (_p1))
    3721              :                 {
    3722            0 :                 case BIT_NOT_EXPR:
    3723            0 :                   {
    3724            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    3725            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    3726              :                       {
    3727            0 :                         {
    3728            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    3729            0 :                           tree res = generic_simplify_6 (loc, type, _p0, _p1, captures);
    3730            0 :                           if (res) return res;
    3731              :                         }
    3732              :                       }
    3733              :                     break;
    3734              :                   }
    3735              :                 default:;
    3736              :                 }
    3737              :               break;
    3738              :             }
    3739         3377 :           default:;
    3740              :           }
    3741         3377 :         switch (TREE_CODE (_q20))
    3742              :           {
    3743           90 :           case BIT_NOT_EXPR:
    3744           90 :             {
    3745           90 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3746           90 :               switch (TREE_CODE (_p1))
    3747              :                 {
    3748            0 :                 case BIT_NOT_EXPR:
    3749            0 :                   {
    3750            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    3751            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    3752              :                       {
    3753            0 :                         {
    3754            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q30 };
    3755            0 :                           tree res = generic_simplify_6 (loc, type, _p0, _p1, captures);
    3756            0 :                           if (res) return res;
    3757              :                         }
    3758              :                       }
    3759              :                     break;
    3760              :                   }
    3761           90 :                 default:;
    3762              :                 }
    3763           90 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    3764              :                 {
    3765            0 :                   {
    3766            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3767            0 :                     tree res = generic_simplify_7 (loc, type, _p0, _p1, captures);
    3768            0 :                     if (res) return res;
    3769              :                   }
    3770              :                 }
    3771              :               break;
    3772              :             }
    3773         3377 :           default:;
    3774              :           }
    3775         3377 :         switch (TREE_CODE (_q21))
    3776              :           {
    3777           41 :           case BIT_NOT_EXPR:
    3778           41 :             {
    3779           41 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3780           41 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    3781              :                 {
    3782            0 :                   {
    3783            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3784            0 :                     tree res = generic_simplify_7 (loc, type, _p0, _p1, captures);
    3785            0 :                     if (res) return res;
    3786              :                   }
    3787              :                 }
    3788              :               break;
    3789              :             }
    3790              :           default:;
    3791              :           }
    3792              :         break;
    3793              :       }
    3794          505 :     case BIT_NOT_EXPR:
    3795          505 :       {
    3796          505 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3797          505 :         switch (TREE_CODE (_p1))
    3798              :           {
    3799           51 :           case BIT_AND_EXPR:
    3800           51 :             {
    3801           51 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3802           51 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3803           51 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    3804              :                 {
    3805            0 :                   switch (TREE_CODE (_q41))
    3806              :                     {
    3807            0 :                     case BIT_NOT_EXPR:
    3808            0 :                       {
    3809            0 :                         tree _q60 = TREE_OPERAND (_q41, 0);
    3810            0 :                         {
    3811            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q60 };
    3812            0 :                           tree res = generic_simplify_6 (loc, type, _p0, _p1, captures);
    3813            0 :                           if (res) return res;
    3814              :                         }
    3815            0 :                         break;
    3816              :                       }
    3817              :                     default:;
    3818              :                     }
    3819              :                 }
    3820           51 :               switch (TREE_CODE (_q40))
    3821              :                 {
    3822            7 :                 case BIT_NOT_EXPR:
    3823            7 :                   {
    3824            7 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3825            7 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    3826              :                       {
    3827            0 :                         {
    3828            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
    3829            0 :                           tree res = generic_simplify_6 (loc, type, _p0, _p1, captures);
    3830            0 :                           if (res) return res;
    3831              :                         }
    3832              :                       }
    3833              :                     break;
    3834              :                   }
    3835              :                 default:;
    3836              :                 }
    3837              :               break;
    3838              :             }
    3839              :           default:;
    3840              :           }
    3841              :         break;
    3842              :       }
    3843       987385 :     default:;
    3844              :     }
    3845       987385 :   switch (TREE_CODE (_p1))
    3846              :     {
    3847          789 :     case BIT_AND_EXPR:
    3848          789 :       {
    3849          789 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3850          789 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3851          789 :         switch (TREE_CODE (_q30))
    3852              :           {
    3853           57 :           case BIT_NOT_EXPR:
    3854           57 :             {
    3855           57 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3856           57 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    3857              :                 {
    3858            0 :                   {
    3859            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    3860            0 :                     tree res = generic_simplify_7 (loc, type, _p0, _p1, captures);
    3861            0 :                     if (res) return res;
    3862              :                   }
    3863              :                 }
    3864              :               break;
    3865              :             }
    3866          789 :           default:;
    3867              :           }
    3868          789 :         switch (TREE_CODE (_q31))
    3869              :           {
    3870            8 :           case BIT_NOT_EXPR:
    3871            8 :             {
    3872            8 :               tree _q50 = TREE_OPERAND (_q31, 0);
    3873            8 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    3874              :                 {
    3875            0 :                   {
    3876            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
    3877            0 :                     tree res = generic_simplify_7 (loc, type, _p0, _p1, captures);
    3878            0 :                     if (res) return res;
    3879              :                   }
    3880              :                 }
    3881              :               break;
    3882              :             }
    3883              :           default:;
    3884              :           }
    3885              :         break;
    3886              :       }
    3887       987385 :     default:;
    3888              :     }
    3889       987385 :   switch (TREE_CODE (_p0))
    3890              :     {
    3891        21417 :     case PLUS_EXPR:
    3892        21417 :       {
    3893        21417 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3894        21417 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3895        21417 :         if (integer_minus_onep (_q21))
    3896              :           {
    3897        10446 :             switch (TREE_CODE (_p1))
    3898              :               {
    3899           11 :               case NEGATE_EXPR:
    3900           11 :                 {
    3901           11 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3902           11 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3903              :                     {
    3904           11 :                       {
    3905           11 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3906           11 :                         tree res = generic_simplify_8 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3907           11 :                         if (res) return res;
    3908              :                       }
    3909              :                     }
    3910              :                   break;
    3911              :                 }
    3912              :               default:;
    3913              :               }
    3914              :           }
    3915              :         break;
    3916              :       }
    3917          142 :     case NEGATE_EXPR:
    3918          142 :       {
    3919          142 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3920          142 :         switch (TREE_CODE (_p1))
    3921              :           {
    3922            0 :           case PLUS_EXPR:
    3923            0 :             {
    3924            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3925            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3926            0 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    3927              :                 {
    3928            0 :                   if (integer_minus_onep (_q41))
    3929              :                     {
    3930            0 :                       {
    3931            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3932            0 :                         tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3933            0 :                         if (res) return res;
    3934              :                       }
    3935              :                     }
    3936              :                 }
    3937              :               break;
    3938              :             }
    3939            0 :           case MINUS_EXPR:
    3940            0 :             {
    3941            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3942            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3943            0 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    3944              :                 {
    3945            0 :                   if (integer_onep (_q41))
    3946              :                     {
    3947            0 :                       {
    3948            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3949            0 :                         tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3950            0 :                         if (res) return res;
    3951              :                       }
    3952              :                     }
    3953              :                 }
    3954              :               break;
    3955              :             }
    3956              :           default:;
    3957              :           }
    3958              :         break;
    3959              :       }
    3960          102 :     case MINUS_EXPR:
    3961          102 :       {
    3962          102 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3963          102 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3964          102 :         if (integer_onep (_q21))
    3965              :           {
    3966            0 :             switch (TREE_CODE (_p1))
    3967              :               {
    3968            0 :               case NEGATE_EXPR:
    3969            0 :                 {
    3970            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3971            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3972              :                     {
    3973            0 :                       {
    3974            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3975            0 :                         tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3976            0 :                         if (res) return res;
    3977              :                       }
    3978              :                     }
    3979              :                   break;
    3980              :                 }
    3981              :               default:;
    3982              :               }
    3983              :           }
    3984              :         break;
    3985              :       }
    3986         1310 :     case BIT_IOR_EXPR:
    3987         1310 :       {
    3988         1310 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3989         1310 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3990         1310 :         switch (TREE_CODE (_q20))
    3991              :           {
    3992          481 :           case BIT_NOT_EXPR:
    3993          481 :             {
    3994          481 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3995          481 :               {
    3996          481 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
    3997          481 :                 tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    3998          481 :                 if (res) return res;
    3999              :               }
    4000          480 :               break;
    4001              :             }
    4002         1309 :           default:;
    4003              :           }
    4004         1309 :         switch (TREE_CODE (_q21))
    4005              :           {
    4006           62 :           case BIT_NOT_EXPR:
    4007           62 :             {
    4008           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4009           62 :               {
    4010           62 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
    4011           62 :                 tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    4012           62 :                 if (res) return res;
    4013              :               }
    4014           62 :               break;
    4015              :             }
    4016              :           default:;
    4017              :           }
    4018              :         break;
    4019              :       }
    4020       987373 :     default:;
    4021              :     }
    4022       987373 :   switch (TREE_CODE (_p1))
    4023              :     {
    4024          521 :     case BIT_IOR_EXPR:
    4025          521 :       {
    4026          521 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4027          521 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4028          521 :         switch (TREE_CODE (_q30))
    4029              :           {
    4030           21 :           case BIT_NOT_EXPR:
    4031           21 :             {
    4032           21 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4033           21 :               {
    4034           21 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
    4035           21 :                 tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    4036           21 :                 if (res) return res;
    4037              :               }
    4038           21 :               break;
    4039              :             }
    4040          521 :           default:;
    4041              :           }
    4042          521 :         switch (TREE_CODE (_q31))
    4043              :           {
    4044           25 :           case BIT_NOT_EXPR:
    4045           25 :             {
    4046           25 :               tree _q50 = TREE_OPERAND (_q31, 0);
    4047           25 :               {
    4048           25 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
    4049           25 :                 tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    4050           25 :                 if (res) return res;
    4051              :               }
    4052           25 :               break;
    4053              :             }
    4054              :           default:;
    4055              :           }
    4056              :         break;
    4057              :       }
    4058       987373 :     default:;
    4059              :     }
    4060       987373 :   switch (TREE_CODE (_p0))
    4061              :     {
    4062         3377 :     case BIT_AND_EXPR:
    4063         3377 :       {
    4064         3377 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4065         3377 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4066         3377 :         switch (TREE_CODE (_q20))
    4067              :           {
    4068           90 :           case BIT_NOT_EXPR:
    4069           90 :             {
    4070           90 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4071           90 :               {
    4072           90 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
    4073           90 :                 tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    4074           90 :                 if (res) return res;
    4075              :               }
    4076           89 :               break;
    4077              :             }
    4078         3376 :           default:;
    4079              :           }
    4080         3376 :         switch (TREE_CODE (_q21))
    4081              :           {
    4082           41 :           case BIT_NOT_EXPR:
    4083           41 :             {
    4084           41 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4085           41 :               {
    4086           41 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
    4087           41 :                 tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    4088           41 :                 if (res) return res;
    4089              :               }
    4090           41 :               break;
    4091              :             }
    4092              :           default:;
    4093              :           }
    4094              :         break;
    4095              :       }
    4096       987372 :     default:;
    4097              :     }
    4098       987372 :   switch (TREE_CODE (_p1))
    4099              :     {
    4100          789 :     case BIT_AND_EXPR:
    4101          789 :       {
    4102          789 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4103          789 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4104          789 :         switch (TREE_CODE (_q30))
    4105              :           {
    4106           57 :           case BIT_NOT_EXPR:
    4107           57 :             {
    4108           57 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4109           57 :               {
    4110           57 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
    4111           57 :                 tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    4112           57 :                 if (res) return res;
    4113              :               }
    4114           57 :               break;
    4115              :             }
    4116          789 :           default:;
    4117              :           }
    4118          789 :         switch (TREE_CODE (_q31))
    4119              :           {
    4120            8 :           case BIT_NOT_EXPR:
    4121            8 :             {
    4122            8 :               tree _q50 = TREE_OPERAND (_q31, 0);
    4123            8 :               {
    4124            8 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
    4125            8 :                 tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    4126            8 :                 if (res) return res;
    4127              :               }
    4128            8 :               break;
    4129              :             }
    4130              :           default:;
    4131              :           }
    4132              :         break;
    4133              :       }
    4134       987372 :     default:;
    4135              :     }
    4136       987372 :   switch (TREE_CODE (_p0))
    4137              :     {
    4138       629746 :     CASE_CONVERT:
    4139       629746 :       {
    4140       629746 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4141       629746 :         switch (TREE_CODE (_p1))
    4142              :           {
    4143       625579 :           CASE_CONVERT:
    4144       625579 :             {
    4145       625579 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4146       625579 :               {
    4147       625579 :                 tree _q40_pops[1];
    4148       625579 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    4149              :                   {
    4150            0 :                     tree _q50 = _q40_pops[0];
    4151            0 :                     {
    4152            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    4153            0 :                       tree res = generic_simplify_14 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4154            0 :                       if (res) return res;
    4155              :                     }
    4156              :                   }
    4157              :               }
    4158       625579 :               break;
    4159              :             }
    4160       629746 :           default:;
    4161              :           }
    4162       629746 :         {
    4163       629746 :           tree _q20_pops[1];
    4164       629746 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    4165              :             {
    4166        59710 :               tree _q30 = _q20_pops[0];
    4167        59710 :               switch (TREE_CODE (_p1))
    4168              :                 {
    4169        59660 :                 CASE_CONVERT:
    4170        59660 :                   {
    4171        59660 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4172        59660 :                     {
    4173        59660 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    4174        59660 :                       tree res = generic_simplify_14 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4175        59660 :                       if (res) return res;
    4176              :                     }
    4177        59660 :                     break;
    4178              :                   }
    4179              :                 default:;
    4180              :                 }
    4181              :             }
    4182              :         }
    4183       629746 :         break;
    4184              :       }
    4185       987372 :     default:;
    4186              :     }
    4187       987372 :   {
    4188       987372 :     tree _p1_pops[1];
    4189       987372 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    4190              :       {
    4191         9318 :         tree _q30 = _p1_pops[0];
    4192         9318 :         {
    4193         9318 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    4194         9318 :           tree res = generic_simplify_14 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4195         9318 :           if (res) return res;
    4196              :         }
    4197              :       }
    4198              :   }
    4199       987372 :   {
    4200       987372 :     tree _p0_pops[1];
    4201       987372 :     if (tree_maybe_bit_not (_p0, _p0_pops))
    4202              :       {
    4203         1052 :         tree _q20 = _p0_pops[0];
    4204         1052 :         {
    4205         1052 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    4206         1052 :           tree res = generic_simplify_14 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4207         1052 :           if (res) return res;
    4208              :         }
    4209              :       }
    4210              :   }
    4211       987351 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4212              :     {
    4213          149 :       {
    4214          149 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4215          149 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1159;
    4216          149 :         {
    4217          149 :           tree _r;
    4218          149 :           _r =  build_zero_cst (type);
    4219          149 :           if (TREE_SIDE_EFFECTS (captures[0]))
    4220            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4221          149 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 884, __FILE__, __LINE__, true);
    4222          149 :           return _r;
    4223              :         }
    4224            0 : next_after_fail1159:;
    4225              :       }
    4226              :     }
    4227       987202 :   if (integer_all_onesp (_p1))
    4228              :     {
    4229         1067 :       {
    4230         1067 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4231         1067 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1160;
    4232         1067 :         {
    4233         1067 :           tree res_op0;
    4234         1067 :           res_op0 = captures[0];
    4235         1067 :           tree _r;
    4236         1067 :           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4237         1067 :           if (TREE_SIDE_EFFECTS (captures[1]))
    4238            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4239         1067 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 885, __FILE__, __LINE__, true);
    4240         1067 :           return _r;
    4241              :         }
    4242            0 : next_after_fail1160:;
    4243              :       }
    4244              :     }
    4245       986135 :   switch (TREE_CODE (_p0))
    4246              :     {
    4247         1302 :     case BIT_IOR_EXPR:
    4248         1302 :       {
    4249         1302 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4250         1302 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4251         1302 :         switch (TREE_CODE (_p1))
    4252              :           {
    4253          179 :           case BIT_IOR_EXPR:
    4254          179 :             {
    4255          179 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4256          179 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4257          179 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4258              :                 {
    4259            0 :                   switch (TREE_CODE (_q51))
    4260              :                     {
    4261            0 :                     case BIT_NOT_EXPR:
    4262            0 :                       {
    4263            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4264            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
    4265              :                           {
    4266            0 :                             {
    4267            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4268            0 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4269            0 :                               if (res) return res;
    4270              :                             }
    4271              :                           }
    4272              :                         break;
    4273              :                       }
    4274              :                     default:;
    4275              :                     }
    4276              :                 }
    4277          179 :               switch (TREE_CODE (_q50))
    4278              :                 {
    4279           20 :                 case BIT_NOT_EXPR:
    4280           20 :                   {
    4281           20 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    4282           20 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    4283              :                       {
    4284            2 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4285              :                           {
    4286            1 :                             {
    4287            1 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4288            1 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4289            1 :                               if (res) return res;
    4290              :                             }
    4291              :                           }
    4292              :                       }
    4293           19 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4294              :                       {
    4295            0 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4296              :                           {
    4297            0 :                             {
    4298            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4299            0 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4300            0 :                               if (res) return res;
    4301              :                             }
    4302              :                           }
    4303              :                       }
    4304              :                     break;
    4305              :                   }
    4306          178 :                 default:;
    4307              :                 }
    4308          178 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4309              :                 {
    4310            0 :                   switch (TREE_CODE (_q51))
    4311              :                     {
    4312            0 :                     case BIT_NOT_EXPR:
    4313            0 :                       {
    4314            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4315            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4316              :                           {
    4317            0 :                             {
    4318            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4319            0 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4320            0 :                               if (res) return res;
    4321              :                             }
    4322              :                           }
    4323              :                         break;
    4324              :                       }
    4325              :                     default:;
    4326              :                     }
    4327              :                 }
    4328              :               break;
    4329              :             }
    4330         1301 :           default:;
    4331              :           }
    4332         1301 :         switch (TREE_CODE (_q21))
    4333              :           {
    4334           62 :           case BIT_NOT_EXPR:
    4335           62 :             {
    4336           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4337           62 :               switch (TREE_CODE (_p1))
    4338              :                 {
    4339            9 :                 case BIT_IOR_EXPR:
    4340            9 :                   {
    4341            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4342            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4343            9 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4344              :                       {
    4345            0 :                         if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
    4346              :                           {
    4347            0 :                             {
    4348            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4349            0 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4350            0 :                               if (res) return res;
    4351              :                             }
    4352              :                           }
    4353              :                       }
    4354              :                     break;
    4355              :                   }
    4356              :                 default:;
    4357              :                 }
    4358              :               break;
    4359              :             }
    4360         1301 :           default:;
    4361              :           }
    4362         1301 :         switch (TREE_CODE (_q20))
    4363              :           {
    4364          480 :           case BIT_NOT_EXPR:
    4365          480 :             {
    4366          480 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4367          480 :               switch (TREE_CODE (_p1))
    4368              :                 {
    4369           28 :                 case BIT_IOR_EXPR:
    4370           28 :                   {
    4371           28 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4372           28 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4373           28 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    4374              :                       {
    4375            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    4376              :                           {
    4377            0 :                             {
    4378            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
    4379            0 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4380            0 :                               if (res) return res;
    4381              :                             }
    4382              :                           }
    4383              :                       }
    4384           28 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4385              :                       {
    4386            9 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    4387              :                           {
    4388            0 :                             {
    4389            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
    4390            0 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4391            0 :                               if (res) return res;
    4392              :                             }
    4393              :                           }
    4394            9 :                         switch (TREE_CODE (_q61))
    4395              :                           {
    4396            0 :                           case BIT_NOT_EXPR:
    4397            0 :                             {
    4398            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
    4399            0 :                               if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
    4400              :                                 {
    4401            0 :                                   {
    4402            0 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4403            0 :                                     tree res = generic_simplify_16 (loc, type, _p0, _p1, captures);
    4404            0 :                                     if (res) return res;
    4405              :                                   }
    4406              :                                 }
    4407              :                               break;
    4408              :                             }
    4409              :                           default:;
    4410              :                           }
    4411              :                       }
    4412           28 :                     switch (TREE_CODE (_q60))
    4413              :                       {
    4414            1 :                       case BIT_NOT_EXPR:
    4415            1 :                         {
    4416            1 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    4417            1 :                           if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
    4418              :                             {
    4419            1 :                               if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    4420              :                                 {
    4421            1 :                                   {
    4422            1 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4423            1 :                                     tree res = generic_simplify_16 (loc, type, _p0, _p1, captures);
    4424            1 :                                     if (res) return res;
    4425              :                                   }
    4426              :                                 }
    4427              :                             }
    4428              :                           break;
    4429              :                         }
    4430              :                       default:;
    4431              :                       }
    4432              :                     break;
    4433              :                   }
    4434            9 :                 case BIT_XOR_EXPR:
    4435            9 :                   {
    4436            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4437            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4438            9 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4439              :                       {
    4440            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    4441              :                           {
    4442            0 :                             {
    4443            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
    4444            0 :                               tree res = generic_simplify_17 (loc, type, _p0, _p1, captures);
    4445            0 :                               if (res) return res;
    4446              :                             }
    4447              :                           }
    4448              :                       }
    4449              :                     break;
    4450              :                   }
    4451          479 :                 default:;
    4452              :                 }
    4453          479 :               {
    4454          479 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p1 };
    4455          479 :                 tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    4456          479 :                 if (res) return res;
    4457              :               }
    4458          431 :               break;
    4459              :             }
    4460         1252 :           default:;
    4461              :           }
    4462         1252 :         switch (TREE_CODE (_q21))
    4463              :           {
    4464           62 :           case BIT_NOT_EXPR:
    4465           62 :             {
    4466           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4467           62 :               switch (TREE_CODE (_p1))
    4468              :                 {
    4469            9 :                 case BIT_IOR_EXPR:
    4470            9 :                   {
    4471            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4472            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4473            9 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4474              :                       {
    4475            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    4476              :                           {
    4477            0 :                             {
    4478            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4479            0 :                               tree res = generic_simplify_15 (loc, type, _p0, _p1, captures);
    4480            0 :                               if (res) return res;
    4481              :                             }
    4482              :                           }
    4483              :                       }
    4484              :                     break;
    4485              :                   }
    4486            9 :                 case BIT_XOR_EXPR:
    4487            9 :                   {
    4488            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4489            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4490            9 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4491              :                       {
    4492            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    4493              :                           {
    4494            0 :                             {
    4495            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
    4496            0 :                               tree res = generic_simplify_17 (loc, type, _p0, _p1, captures);
    4497            0 :                               if (res) return res;
    4498              :                             }
    4499              :                           }
    4500              :                       }
    4501              :                     break;
    4502              :                   }
    4503              :                 default:;
    4504              :                 }
    4505              :               break;
    4506              :             }
    4507         1252 :           default:;
    4508              :           }
    4509         1252 :         switch (TREE_CODE (_p1))
    4510              :           {
    4511           65 :           case BIT_AND_EXPR:
    4512           65 :             {
    4513           65 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4514           65 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4515           65 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4516              :                 {
    4517            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4518              :                     {
    4519            0 :                       {
    4520            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4521            0 :                         tree res = generic_simplify_19 (loc, type, _p0, _p1, captures);
    4522            0 :                         if (res) return res;
    4523              :                       }
    4524              :                     }
    4525              :                 }
    4526              :               break;
    4527              :             }
    4528           36 :           case BIT_XOR_EXPR:
    4529           36 :             {
    4530           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4531           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4532           36 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4533              :                 {
    4534            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4535              :                     {
    4536            0 :                       {
    4537            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4538            0 :                         tree res = generic_simplify_20 (loc, type, _p0, _p1, captures);
    4539            0 :                         if (res) return res;
    4540              :                       }
    4541              :                     }
    4542              :                 }
    4543              :               break;
    4544              :             }
    4545         1252 :           default:;
    4546              :           }
    4547         1252 :         switch (TREE_CODE (_q21))
    4548              :           {
    4549           62 :           case BIT_NOT_EXPR:
    4550           62 :             {
    4551           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4552           62 :               switch (TREE_CODE (_p1))
    4553              :                 {
    4554            9 :                 case BIT_IOR_EXPR:
    4555            9 :                   {
    4556            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4557            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4558            9 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4559              :                       {
    4560            0 :                         switch (TREE_CODE (_q61))
    4561              :                           {
    4562            0 :                           case BIT_NOT_EXPR:
    4563            0 :                             {
    4564            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
    4565            0 :                               if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    4566              :                                 {
    4567            0 :                                   {
    4568            0 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4569            0 :                                     tree res = generic_simplify_16 (loc, type, _p0, _p1, captures);
    4570            0 :                                     if (res) return res;
    4571              :                                   }
    4572              :                                 }
    4573              :                               break;
    4574              :                             }
    4575              :                           default:;
    4576              :                           }
    4577              :                       }
    4578            9 :                     switch (TREE_CODE (_q60))
    4579              :                       {
    4580            0 :                       case BIT_NOT_EXPR:
    4581            0 :                         {
    4582            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    4583            0 :                           if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4584              :                             {
    4585            0 :                               if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
    4586              :                                 {
    4587            0 :                                   {
    4588            0 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4589            0 :                                     tree res = generic_simplify_16 (loc, type, _p0, _p1, captures);
    4590            0 :                                     if (res) return res;
    4591              :                                   }
    4592              :                                 }
    4593              :                             }
    4594              :                           break;
    4595              :                         }
    4596              :                       default:;
    4597              :                       }
    4598              :                     break;
    4599              :                   }
    4600              :                 default:;
    4601              :                 }
    4602              :               break;
    4603              :             }
    4604         1252 :           default:;
    4605              :           }
    4606         1252 :         switch (TREE_CODE (_p1))
    4607              :           {
    4608           24 :           CASE_CONVERT:
    4609           24 :             {
    4610           24 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4611           24 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    4612              :                 {
    4613            0 :                   {
    4614            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
    4615            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    4616            0 :                     if (res) return res;
    4617              :                   }
    4618              :                 }
    4619           24 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    4620              :                 {
    4621            0 :                   {
    4622            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
    4623            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    4624            0 :                     if (res) return res;
    4625              :                   }
    4626              :                 }
    4627              :               break;
    4628              :             }
    4629         1252 :           default:;
    4630              :           }
    4631         1252 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
    4632              :           {
    4633            3 :             {
    4634            3 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
    4635            3 :               tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    4636            3 :               if (res) return res;
    4637              :             }
    4638              :           }
    4639         1249 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    4640              :           {
    4641            3 :             {
    4642            3 :               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
    4643            3 :               tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    4644            3 :               if (res) return res;
    4645              :             }
    4646              :           }
    4647         1246 :         {
    4648         1246 :           tree _q20_pops[1];
    4649         1246 :           if (tree_nop_convert (_q20, _q20_pops))
    4650              :             {
    4651            8 :               tree _q30 = _q20_pops[0];
    4652            8 :               switch (TREE_CODE (_q30))
    4653              :                 {
    4654            8 :                 case BIT_NOT_EXPR:
    4655            8 :                   {
    4656            8 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4657            8 :                     {
    4658            8 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q21, _p1 };
    4659            8 :                       tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    4660            8 :                       if (res) return res;
    4661              :                     }
    4662            0 :                     break;
    4663              :                   }
    4664              :                 default:;
    4665              :                 }
    4666              :             }
    4667              :         }
    4668         1238 :         switch (TREE_CODE (_q21))
    4669              :           {
    4670           62 :           case BIT_NOT_EXPR:
    4671           62 :             {
    4672           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4673           62 :               {
    4674           62 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q20, _p1 };
    4675           62 :                 tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    4676           62 :                 if (res) return res;
    4677              :               }
    4678           54 :               break;
    4679              :             }
    4680         1230 :           default:;
    4681              :           }
    4682         1230 :       {
    4683         1230 :         tree _q21_pops[1];
    4684         1230 :         if (tree_nop_convert (_q21, _q21_pops))
    4685              :           {
    4686            0 :             tree _q40 = _q21_pops[0];
    4687            0 :             switch (TREE_CODE (_q40))
    4688              :               {
    4689            0 :               case BIT_NOT_EXPR:
    4690            0 :                 {
    4691            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4692            0 :                   {
    4693            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _p1 };
    4694            0 :                     tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    4695            0 :                     if (res) return res;
    4696              :                   }
    4697            0 :                   break;
    4698              :                 }
    4699              :               default:;
    4700              :               }
    4701              :           }
    4702              :       }
    4703         1230 :         break;
    4704              :       }
    4705         3912 :     case BIT_XOR_EXPR:
    4706         3912 :       {
    4707         3912 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4708         3912 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4709         3912 :         switch (TREE_CODE (_p1))
    4710              :           {
    4711          203 :           case BIT_IOR_EXPR:
    4712          203 :             {
    4713          203 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4714          203 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4715          203 :               switch (TREE_CODE (_q50))
    4716              :                 {
    4717            1 :                 case BIT_NOT_EXPR:
    4718            1 :                   {
    4719            1 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    4720            1 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4721              :                       {
    4722            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4723              :                           {
    4724            1 :                             {
    4725            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
    4726            1 :                               tree res = generic_simplify_17 (loc, type, _p0, _p1, captures);
    4727            1 :                               if (res) return res;
    4728              :                             }
    4729              :                           }
    4730              :                       }
    4731              :                     break;
    4732              :                   }
    4733          202 :                 default:;
    4734              :                 }
    4735          202 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4736              :                 {
    4737            0 :                   switch (TREE_CODE (_q51))
    4738              :                     {
    4739            0 :                     case BIT_NOT_EXPR:
    4740            0 :                       {
    4741            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4742            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4743              :                           {
    4744            0 :                             {
    4745            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
    4746            0 :                               tree res = generic_simplify_17 (loc, type, _p0, _p1, captures);
    4747            0 :                               if (res) return res;
    4748              :                             }
    4749              :                           }
    4750              :                         break;
    4751              :                       }
    4752              :                     default:;
    4753              :                     }
    4754              :                 }
    4755          202 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4756              :                 {
    4757            1 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4758              :                     {
    4759            0 :                       {
    4760            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4761            0 :                         tree res = generic_simplify_20 (loc, type, _p0, _p1, captures);
    4762            0 :                         if (res) return res;
    4763              :                       }
    4764              :                     }
    4765              :                 }
    4766              :               break;
    4767              :             }
    4768           41 :           case BIT_AND_EXPR:
    4769           41 :             {
    4770           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4771           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4772           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4773              :                 {
    4774            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4775              :                     {
    4776            0 :                       {
    4777            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4778            0 :                         tree res = generic_simplify_22 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4779            0 :                         if (res) return res;
    4780              :                       }
    4781              :                     }
    4782              :                 }
    4783              :               break;
    4784              :             }
    4785          198 :           CASE_CONVERT:
    4786          198 :             {
    4787          198 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4788          198 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    4789              :                 {
    4790            0 :                   {
    4791            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    4792            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    4793            0 :                     if (res) return res;
    4794              :                   }
    4795              :                 }
    4796          198 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    4797              :                 {
    4798            0 :                   {
    4799            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
    4800            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    4801            0 :                     if (res) return res;
    4802              :                   }
    4803              :                 }
    4804              :               break;
    4805              :             }
    4806         3911 :           default:;
    4807              :           }
    4808         3911 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    4809              :           {
    4810            0 :             {
    4811            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    4812            0 :               tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    4813            0 :               if (res) return res;
    4814              :             }
    4815              :           }
    4816         3911 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
    4817              :           {
    4818           11 :             {
    4819           11 :               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
    4820           11 :               tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    4821           11 :               if (res) return res;
    4822              :             }
    4823              :           }
    4824              :         break;
    4825              :       }
    4826         3376 :     case BIT_AND_EXPR:
    4827         3376 :       {
    4828         3376 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4829         3376 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4830         3376 :         switch (TREE_CODE (_p1))
    4831              :           {
    4832           74 :           case BIT_IOR_EXPR:
    4833           74 :             {
    4834           74 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4835           74 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4836           74 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4837              :                 {
    4838           18 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4839              :                     {
    4840            0 :                       {
    4841            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4842            0 :                         tree res = generic_simplify_19 (loc, type, _p0, _p1, captures);
    4843            0 :                         if (res) return res;
    4844              :                       }
    4845              :                     }
    4846              :                 }
    4847              :               break;
    4848              :             }
    4849           30 :           case BIT_XOR_EXPR:
    4850           30 :             {
    4851           30 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4852           30 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4853           30 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4854              :                 {
    4855            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4856              :                     {
    4857            0 :                       {
    4858            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4859            0 :                         tree res = generic_simplify_22 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4860            0 :                         if (res) return res;
    4861              :                       }
    4862              :                     }
    4863              :                 }
    4864              :               break;
    4865              :             }
    4866         3376 :           default:;
    4867              :           }
    4868         3376 :         switch (TREE_CODE (_q21))
    4869              :           {
    4870         1551 :           case INTEGER_CST:
    4871         1551 :             {
    4872         1551 :               switch (TREE_CODE (_p1))
    4873              :                 {
    4874           15 :                 CASE_CONVERT:
    4875           15 :                   {
    4876           15 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4877           15 :                     switch (TREE_CODE (_q50))
    4878              :                       {
    4879            0 :                       case BIT_AND_EXPR:
    4880            0 :                         {
    4881            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    4882            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    4883            0 :                           switch (TREE_CODE (_q61))
    4884              :                             {
    4885            0 :                             case INTEGER_CST:
    4886            0 :                               {
    4887            0 :                                 {
    4888            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
    4889            0 :                                   tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4890            0 :                                   if (res) return res;
    4891              :                                 }
    4892            0 :                                 break;
    4893              :                               }
    4894              :                             default:;
    4895              :                             }
    4896              :                           break;
    4897              :                         }
    4898              :                       default:;
    4899              :                       }
    4900              :                     break;
    4901              :                   }
    4902          210 :                 case BIT_AND_EXPR:
    4903          210 :                   {
    4904          210 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4905          210 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4906          210 :                     switch (TREE_CODE (_q51))
    4907              :                       {
    4908          210 :                       case INTEGER_CST:
    4909          210 :                         {
    4910          210 :                           {
    4911          210 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
    4912          210 :                             tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4913          210 :                             if (res) return res;
    4914              :                           }
    4915          209 :                           break;
    4916              :                         }
    4917              :                       default:;
    4918              :                       }
    4919              :                     break;
    4920              :                   }
    4921              :                 default:;
    4922              :                 }
    4923              :               break;
    4924              :             }
    4925              :           default:;
    4926              :           }
    4927              :         break;
    4928              :       }
    4929       629589 :     CASE_CONVERT:
    4930       629589 :       {
    4931       629589 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4932       629589 :         switch (TREE_CODE (_q20))
    4933              :           {
    4934           24 :           case BIT_AND_EXPR:
    4935           24 :             {
    4936           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4937           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4938           24 :               switch (TREE_CODE (_q31))
    4939              :                 {
    4940            0 :                 case INTEGER_CST:
    4941            0 :                   {
    4942            0 :                     switch (TREE_CODE (_p1))
    4943              :                       {
    4944            0 :                       CASE_CONVERT:
    4945            0 :                         {
    4946            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4947            0 :                           switch (TREE_CODE (_q60))
    4948              :                             {
    4949            0 :                             case BIT_AND_EXPR:
    4950            0 :                               {
    4951            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4952            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4953            0 :                                 switch (TREE_CODE (_q71))
    4954              :                                   {
    4955            0 :                                   case INTEGER_CST:
    4956            0 :                                     {
    4957            0 :                                       {
    4958            0 :                                         tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
    4959            0 :                                         tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4960            0 :                                         if (res) return res;
    4961              :                                       }
    4962            0 :                                       break;
    4963              :                                     }
    4964              :                                   default:;
    4965              :                                   }
    4966              :                                 break;
    4967              :                               }
    4968              :                             default:;
    4969              :                             }
    4970              :                           break;
    4971              :                         }
    4972            0 :                       case BIT_AND_EXPR:
    4973            0 :                         {
    4974            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4975            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
    4976            0 :                           switch (TREE_CODE (_q61))
    4977              :                             {
    4978            0 :                             case INTEGER_CST:
    4979            0 :                               {
    4980            0 :                                 {
    4981            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
    4982            0 :                                   tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4983            0 :                                   if (res) return res;
    4984              :                                 }
    4985            0 :                                 break;
    4986              :                               }
    4987              :                             default:;
    4988              :                             }
    4989              :                           break;
    4990              :                         }
    4991              :                       default:;
    4992              :                       }
    4993              :                     break;
    4994              :                   }
    4995              :                 default:;
    4996              :                 }
    4997              :               break;
    4998              :             }
    4999           24 :           case BIT_IOR_EXPR:
    5000           24 :             {
    5001           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5002           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5003           24 :               switch (TREE_CODE (_p1))
    5004              :                 {
    5005           16 :                 CASE_CONVERT:
    5006           16 :                   {
    5007           16 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5008           16 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
    5009              :                       {
    5010            0 :                         {
    5011            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
    5012            0 :                           tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5013            0 :                           if (res) return res;
    5014              :                         }
    5015              :                       }
    5016           16 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    5017              :                       {
    5018            0 :                         {
    5019            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
    5020            0 :                           tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5021            0 :                           if (res) return res;
    5022              :                         }
    5023              :                       }
    5024              :                     break;
    5025              :                   }
    5026           24 :                 default:;
    5027              :                 }
    5028           24 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
    5029              :                 {
    5030            0 :                   {
    5031            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
    5032            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5033            0 :                     if (res) return res;
    5034              :                   }
    5035              :                 }
    5036           24 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    5037              :                 {
    5038            0 :                   {
    5039            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
    5040            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5041            0 :                     if (res) return res;
    5042              :                   }
    5043              :                 }
    5044              :               break;
    5045              :             }
    5046       629589 :           default:;
    5047              :           }
    5048       629589 :         switch (TREE_CODE (_p1))
    5049              :           {
    5050       625572 :           CASE_CONVERT:
    5051       625572 :             {
    5052       625572 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5053       625572 :               switch (TREE_CODE (_q40))
    5054              :                 {
    5055            0 :                 case BIT_IOR_EXPR:
    5056            0 :                   {
    5057            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5058            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5059            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    5060              :                       {
    5061            0 :                         {
    5062            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    5063            0 :                           tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5064            0 :                           if (res) return res;
    5065              :                         }
    5066              :                       }
    5067            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    5068              :                       {
    5069            0 :                         {
    5070            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
    5071            0 :                           tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5072            0 :                           if (res) return res;
    5073              :                         }
    5074              :                       }
    5075              :                     break;
    5076              :                   }
    5077              :                 default:;
    5078              :                 }
    5079              :               break;
    5080              :             }
    5081           26 :           case BIT_IOR_EXPR:
    5082           26 :             {
    5083           26 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5084           26 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5085           26 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
    5086              :                 {
    5087            0 :                   {
    5088            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
    5089            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5090            0 :                     if (res) return res;
    5091              :                   }
    5092              :                 }
    5093           26 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
    5094              :                 {
    5095            0 :                   {
    5096            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    5097            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5098            0 :                     if (res) return res;
    5099              :                   }
    5100              :                 }
    5101              :               break;
    5102              :             }
    5103              :           default:;
    5104              :           }
    5105              :         break;
    5106              :       }
    5107       986050 :     default:;
    5108              :     }
    5109       986050 :   switch (TREE_CODE (_p1))
    5110              :     {
    5111       753379 :     CASE_CONVERT:
    5112       753379 :       {
    5113       753379 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5114       753379 :         switch (TREE_CODE (_q30))
    5115              :           {
    5116            6 :           case BIT_IOR_EXPR:
    5117            6 :             {
    5118            6 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5119            6 :               tree _q41 = TREE_OPERAND (_q30, 1);
    5120            6 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
    5121              :                 {
    5122            0 :                   {
    5123            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
    5124            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5125            0 :                     if (res) return res;
    5126              :                   }
    5127              :                 }
    5128            6 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    5129              :                 {
    5130            0 :                   {
    5131            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
    5132            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5133            0 :                     if (res) return res;
    5134              :                   }
    5135              :                 }
    5136              :               break;
    5137              :             }
    5138              :           default:;
    5139              :           }
    5140              :         break;
    5141              :       }
    5142          518 :     case BIT_IOR_EXPR:
    5143          518 :       {
    5144          518 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5145          518 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5146          518 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    5147              :           {
    5148            1 :             {
    5149            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5150            1 :               tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5151            1 :               if (res) return res;
    5152              :             }
    5153              :           }
    5154          517 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    5155              :           {
    5156            1 :             {
    5157            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
    5158            1 :               tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    5159            1 :               if (res) return res;
    5160              :             }
    5161              :           }
    5162              :         break;
    5163              :       }
    5164       986048 :     default:;
    5165              :     }
    5166       986048 :   {
    5167       986048 :     tree _p0_pops[1];
    5168       986048 :     if (tree_nop_convert (_p0, _p0_pops))
    5169              :       {
    5170       504048 :         tree _q20 = _p0_pops[0];
    5171       504048 :         switch (TREE_CODE (_q20))
    5172              :           {
    5173           16 :           case BIT_IOR_EXPR:
    5174           16 :             {
    5175           16 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5176           16 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5177           16 :               {
    5178           16 :                 tree _q30_pops[1];
    5179           16 :                 if (tree_nop_convert (_q30, _q30_pops))
    5180              :                   {
    5181            0 :                     tree _q40 = _q30_pops[0];
    5182            0 :                     switch (TREE_CODE (_q40))
    5183              :                       {
    5184            0 :                       case BIT_NOT_EXPR:
    5185            0 :                         {
    5186            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    5187            0 :                           {
    5188            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q31, _p1 };
    5189            0 :                             tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5190            0 :                             if (res) return res;
    5191              :                           }
    5192            0 :                           break;
    5193              :                         }
    5194              :                       default:;
    5195              :                       }
    5196              :                   }
    5197              :               }
    5198           16 :               {
    5199           16 :                 tree _q31_pops[1];
    5200           16 :                 if (tree_nop_convert (_q31, _q31_pops))
    5201              :                   {
    5202            0 :                     tree _q50 = _q31_pops[0];
    5203            0 :                     switch (TREE_CODE (_q50))
    5204              :                       {
    5205            0 :                       case BIT_NOT_EXPR:
    5206            0 :                         {
    5207            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    5208            0 :                           {
    5209            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _p1 };
    5210            0 :                             tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5211            0 :                             if (res) return res;
    5212              :                           }
    5213            0 :                           break;
    5214              :                         }
    5215              :                       default:;
    5216              :                       }
    5217              :                   }
    5218              :               }
    5219           16 :               switch (TREE_CODE (_q30))
    5220              :                 {
    5221           16 :                 case BIT_NOT_EXPR:
    5222           16 :                   {
    5223           16 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5224           16 :                     {
    5225           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q31, _p1 };
    5226           16 :                       tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5227           16 :                       if (res) return res;
    5228              :                     }
    5229            0 :                     break;
    5230              :                   }
    5231            0 :                 default:;
    5232              :                 }
    5233            0 :               switch (TREE_CODE (_q31))
    5234              :                 {
    5235            0 :                 case BIT_NOT_EXPR:
    5236            0 :                   {
    5237            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    5238            0 :                     {
    5239            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q30, _p1 };
    5240            0 :                       tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5241            0 :                       if (res) return res;
    5242              :                     }
    5243            0 :                     break;
    5244              :                   }
    5245              :                 default:;
    5246              :                 }
    5247              :               break;
    5248              :             }
    5249              :           default:;
    5250              :           }
    5251              :       }
    5252              :   }
    5253       986032 :   switch (TREE_CODE (_p1))
    5254              :     {
    5255          516 :     case BIT_IOR_EXPR:
    5256          516 :       {
    5257          516 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5258          516 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5259          516 :         {
    5260          516 :           tree _q30_pops[1];
    5261          516 :           if (tree_nop_convert (_q30, _q30_pops))
    5262              :             {
    5263            2 :               tree _q40 = _q30_pops[0];
    5264            2 :               switch (TREE_CODE (_q40))
    5265              :                 {
    5266            0 :                 case BIT_NOT_EXPR:
    5267            0 :                   {
    5268            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5269            0 :                     {
    5270            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q31, _p0 };
    5271            0 :                       tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5272            0 :                       if (res) return res;
    5273              :                     }
    5274            0 :                     break;
    5275              :                   }
    5276              :                 default:;
    5277              :                 }
    5278              :             }
    5279              :         }
    5280          516 :         {
    5281          516 :           tree _q31_pops[1];
    5282          516 :           if (tree_nop_convert (_q31, _q31_pops))
    5283              :             {
    5284            2 :               tree _q50 = _q31_pops[0];
    5285            2 :               switch (TREE_CODE (_q50))
    5286              :                 {
    5287            0 :                 case BIT_NOT_EXPR:
    5288            0 :                   {
    5289            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    5290            0 :                     {
    5291            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _p0 };
    5292            0 :                       tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5293            0 :                       if (res) return res;
    5294              :                     }
    5295            0 :                     break;
    5296              :                   }
    5297              :                 default:;
    5298              :                 }
    5299              :             }
    5300              :         }
    5301          516 :         switch (TREE_CODE (_q30))
    5302              :           {
    5303           18 :           case BIT_NOT_EXPR:
    5304           18 :             {
    5305           18 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5306           18 :               {
    5307           18 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q31, _p0 };
    5308           18 :                 tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5309           18 :                 if (res) return res;
    5310              :               }
    5311           18 :               break;
    5312              :             }
    5313          516 :           default:;
    5314              :           }
    5315          516 :         switch (TREE_CODE (_q31))
    5316              :           {
    5317           25 :           case BIT_NOT_EXPR:
    5318           25 :             {
    5319           25 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5320           25 :               {
    5321           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q30, _p0 };
    5322           25 :                 tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5323           25 :                 if (res) return res;
    5324              :               }
    5325           17 :               break;
    5326              :             }
    5327              :           default:;
    5328              :           }
    5329              :         break;
    5330              :       }
    5331       986024 :     default:;
    5332              :     }
    5333       986024 : {
    5334       986024 :   tree _p1_pops[1];
    5335       986024 :   if (tree_nop_convert (_p1, _p1_pops))
    5336              :     {
    5337       630382 :       tree _q30 = _p1_pops[0];
    5338       630382 :       switch (TREE_CODE (_q30))
    5339              :         {
    5340            0 :         case BIT_IOR_EXPR:
    5341            0 :           {
    5342            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5343            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5344            0 :             {
    5345            0 :               tree _q40_pops[1];
    5346            0 :               if (tree_nop_convert (_q40, _q40_pops))
    5347              :                 {
    5348            0 :                   tree _q50 = _q40_pops[0];
    5349            0 :                   switch (TREE_CODE (_q50))
    5350              :                     {
    5351            0 :                     case BIT_NOT_EXPR:
    5352            0 :                       {
    5353            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5354            0 :                         {
    5355            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q41, _p0 };
    5356            0 :                           tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5357            0 :                           if (res) return res;
    5358              :                         }
    5359            0 :                         break;
    5360              :                       }
    5361              :                     default:;
    5362              :                     }
    5363              :                 }
    5364              :             }
    5365            0 :             {
    5366            0 :               tree _q41_pops[1];
    5367            0 :               if (tree_nop_convert (_q41, _q41_pops))
    5368              :                 {
    5369            0 :                   tree _q60 = _q41_pops[0];
    5370            0 :                   switch (TREE_CODE (_q60))
    5371              :                     {
    5372            0 :                     case BIT_NOT_EXPR:
    5373            0 :                       {
    5374            0 :                         tree _q70 = TREE_OPERAND (_q60, 0);
    5375            0 :                         {
    5376            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q70, _q40, _p0 };
    5377            0 :                           tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5378            0 :                           if (res) return res;
    5379              :                         }
    5380            0 :                         break;
    5381              :                       }
    5382              :                     default:;
    5383              :                     }
    5384              :                 }
    5385              :             }
    5386            0 :             switch (TREE_CODE (_q40))
    5387              :               {
    5388            0 :               case BIT_NOT_EXPR:
    5389            0 :                 {
    5390            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5391            0 :                   {
    5392            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q41, _p0 };
    5393            0 :                     tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5394            0 :                     if (res) return res;
    5395              :                   }
    5396            0 :                   break;
    5397              :                 }
    5398            0 :               default:;
    5399              :               }
    5400            0 :             switch (TREE_CODE (_q41))
    5401              :               {
    5402            0 :               case BIT_NOT_EXPR:
    5403            0 :                 {
    5404            0 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5405            0 :                   {
    5406            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q40, _p0 };
    5407            0 :                     tree res = generic_simplify_18 (loc, type, _p0, _p1, captures);
    5408            0 :                     if (res) return res;
    5409              :                   }
    5410            0 :                   break;
    5411              :                 }
    5412              :               default:;
    5413              :               }
    5414              :             break;
    5415              :           }
    5416              :         default:;
    5417              :         }
    5418              :     }
    5419              : }
    5420       986024 :   switch (TREE_CODE (_p0))
    5421              :     {
    5422       629565 :     CASE_CONVERT:
    5423       629565 :       {
    5424       629565 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5425       629565 :         switch (TREE_CODE (_q20))
    5426              :           {
    5427           50 :           case BIT_NOT_EXPR:
    5428           50 :             {
    5429           50 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5430           50 :               switch (TREE_CODE (_p1))
    5431              :                 {
    5432            0 :                 CASE_CONVERT:
    5433            0 :                   {
    5434            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5435            0 :                     switch (TREE_CODE (_q50))
    5436              :                       {
    5437            0 :                       case BIT_NOT_EXPR:
    5438            0 :                         {
    5439            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    5440            0 :                           {
    5441            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
    5442            0 :                             tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
    5443            0 :                             if (res) return res;
    5444              :                           }
    5445            0 :                           break;
    5446              :                         }
    5447              :                       default:;
    5448              :                       }
    5449              :                     break;
    5450              :                   }
    5451            0 :                 case BIT_NOT_EXPR:
    5452            0 :                   {
    5453            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5454            0 :                     {
    5455            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    5456            0 :                       tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
    5457            0 :                       if (res) return res;
    5458              :                     }
    5459            0 :                     break;
    5460              :                   }
    5461           26 :                 case INTEGER_CST:
    5462           26 :                   {
    5463           26 :                     {
    5464           26 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
    5465           26 :                       tree res = generic_simplify_26 (loc, type, _p0, _p1, captures);
    5466           26 :                       if (res) return res;
    5467              :                     }
    5468           24 :                     break;
    5469              :                   }
    5470              :                 default:;
    5471              :                 }
    5472              :               break;
    5473              :             }
    5474              :           default:;
    5475              :           }
    5476              :         break;
    5477              :       }
    5478          484 :     case BIT_NOT_EXPR:
    5479          484 :       {
    5480          484 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5481          484 :         switch (TREE_CODE (_p1))
    5482              :           {
    5483           18 :           CASE_CONVERT:
    5484           18 :             {
    5485           18 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5486           18 :               switch (TREE_CODE (_q40))
    5487              :                 {
    5488            0 :                 case BIT_NOT_EXPR:
    5489            0 :                   {
    5490            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5491            0 :                     {
    5492            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5493            0 :                       tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
    5494            0 :                       if (res) return res;
    5495              :                     }
    5496            0 :                     break;
    5497              :                   }
    5498              :                 default:;
    5499              :                 }
    5500              :               break;
    5501              :             }
    5502           10 :           case BIT_NOT_EXPR:
    5503           10 :             {
    5504           10 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5505           10 :               {
    5506           10 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5507           10 :                 tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
    5508           10 :                 if (res) return res;
    5509              :               }
    5510            0 :               break;
    5511              :             }
    5512           31 :           case INTEGER_CST:
    5513           31 :             {
    5514           31 :               {
    5515           31 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    5516           31 :                 tree res = generic_simplify_26 (loc, type, _p0, _p1, captures);
    5517           31 :                 if (res) return res;
    5518              :               }
    5519            0 :               break;
    5520              :             }
    5521          443 :           default:;
    5522              :           }
    5523          443 :         {
    5524          443 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1 };
    5525          443 :           tree res = generic_simplify_27 (loc, type, _p0, _p1, captures);
    5526          443 :           if (res) return res;
    5527              :         }
    5528            0 :         break;
    5529              :       }
    5530         3373 :     case BIT_AND_EXPR:
    5531         3373 :       {
    5532         3373 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5533         3373 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5534         3373 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5535              :           {
    5536           75 :             {
    5537           75 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5538           75 :               tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5539           75 :               if (res) return res;
    5540              :             }
    5541              :           }
    5542         3298 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5543              :           {
    5544            3 :             {
    5545            3 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5546            3 :               tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5547            3 :               if (res) return res;
    5548              :             }
    5549              :           }
    5550         3295 :         switch (TREE_CODE (_p1))
    5551              :           {
    5552          353 :           case BIT_AND_EXPR:
    5553          353 :             {
    5554          353 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5555          353 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5556          353 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    5557              :                 {
    5558           21 :                   {
    5559           21 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
    5560           21 :                     tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5561           21 :                     if (res) return res;
    5562              :                   }
    5563              :                 }
    5564          332 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    5565              :                 {
    5566            0 :                   {
    5567            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
    5568            0 :                     tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5569            0 :                     if (res) return res;
    5570              :                   }
    5571              :                 }
    5572          332 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    5573              :                 {
    5574            0 :                   {
    5575            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
    5576            0 :                     tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5577            0 :                     if (res) return res;
    5578              :                   }
    5579              :                 }
    5580          332 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
    5581              :                 {
    5582          201 :                   {
    5583          201 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
    5584          201 :                     tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5585          201 :                     if (res) return res;
    5586              :                   }
    5587              :                 }
    5588              :               break;
    5589              :             }
    5590              :           default:;
    5591              :           }
    5592              :         break;
    5593              :       }
    5594       985238 :     default:;
    5595              :     }
    5596       985238 :   switch (TREE_CODE (_p1))
    5597              :     {
    5598          513 :     case BIT_AND_EXPR:
    5599          513 :       {
    5600          513 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5601          513 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5602          513 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5603              :           {
    5604            0 :             {
    5605            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5606            0 :               tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5607            0 :               if (res) return res;
    5608              :             }
    5609              :           }
    5610          513 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5611              :           {
    5612            0 :             {
    5613            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    5614            0 :               tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5615            0 :               if (res) return res;
    5616              :             }
    5617              :           }
    5618              :         break;
    5619              :       }
    5620       985238 :     default:;
    5621              :     }
    5622       985238 :   switch (TREE_CODE (_p0))
    5623              :     {
    5624       629563 :     CASE_CONVERT:
    5625       629563 :       {
    5626       629563 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5627       629563 :         switch (TREE_CODE (_q20))
    5628              :           {
    5629           24 :           case BIT_AND_EXPR:
    5630           24 :             {
    5631           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5632           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5633           24 :               switch (TREE_CODE (_p1))
    5634              :                 {
    5635            8 :                 CASE_CONVERT:
    5636            8 :                   {
    5637            8 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5638            8 :                     switch (TREE_CODE (_q60))
    5639              :                       {
    5640            0 :                       case BIT_AND_EXPR:
    5641            0 :                         {
    5642            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    5643            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
    5644            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
    5645              :                             {
    5646            0 :                               {
    5647            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
    5648            0 :                                 tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5649            0 :                                 if (res) return res;
    5650              :                               }
    5651              :                             }
    5652            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
    5653              :                             {
    5654            0 :                               {
    5655            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
    5656            0 :                                 tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5657            0 :                                 if (res) return res;
    5658              :                               }
    5659              :                             }
    5660            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
    5661              :                             {
    5662            0 :                               {
    5663            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
    5664            0 :                                 tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5665            0 :                                 if (res) return res;
    5666              :                               }
    5667              :                             }
    5668            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
    5669              :                             {
    5670            0 :                               {
    5671            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
    5672            0 :                                 tree res = generic_simplify_29 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5673            0 :                                 if (res) return res;
    5674              :                               }
    5675              :                             }
    5676              :                           break;
    5677              :                         }
    5678              :                       default:;
    5679              :                       }
    5680              :                     break;
    5681              :                   }
    5682              :                 default:;
    5683              :                 }
    5684              :               break;
    5685              :             }
    5686        59773 :           case BIT_XOR_EXPR:
    5687        59773 :             {
    5688        59773 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5689        59773 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5690        59773 :               switch (TREE_CODE (_p1))
    5691              :                 {
    5692        59708 :                 CASE_CONVERT:
    5693        59708 :                   {
    5694        59708 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5695        59708 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    5696              :                       {
    5697            0 :                         {
    5698            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    5699            0 :                           tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5700            0 :                           if (res) return res;
    5701              :                         }
    5702              :                       }
    5703        59708 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
    5704              :                       {
    5705            0 :                         {
    5706            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
    5707            0 :                           tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5708            0 :                           if (res) return res;
    5709              :                         }
    5710              :                       }
    5711              :                     break;
    5712              :                   }
    5713        59773 :                 default:;
    5714              :                 }
    5715        59773 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    5716              :                 {
    5717            0 :                   {
    5718            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    5719            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5720            0 :                     if (res) return res;
    5721              :                   }
    5722              :                 }
    5723        59773 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
    5724              :                 {
    5725            0 :                   {
    5726            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
    5727            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5728            0 :                     if (res) return res;
    5729              :                   }
    5730              :                 }
    5731              :               break;
    5732              :             }
    5733       629563 :           default:;
    5734              :           }
    5735       629563 :         switch (TREE_CODE (_p1))
    5736              :           {
    5737       625556 :           CASE_CONVERT:
    5738       625556 :             {
    5739       625556 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5740       625556 :               switch (TREE_CODE (_q40))
    5741              :                 {
    5742            0 :                 case BIT_XOR_EXPR:
    5743            0 :                   {
    5744            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5745            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5746            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    5747              :                       {
    5748            0 :                         {
    5749            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    5750            0 :                           tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5751            0 :                           if (res) return res;
    5752              :                         }
    5753              :                       }
    5754            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    5755              :                       {
    5756            0 :                         {
    5757            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
    5758            0 :                           tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5759            0 :                           if (res) return res;
    5760              :                         }
    5761              :                       }
    5762              :                     break;
    5763              :                   }
    5764              :                 default:;
    5765              :                 }
    5766              :               break;
    5767              :             }
    5768            2 :           case BIT_XOR_EXPR:
    5769            2 :             {
    5770            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5771            2 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5772            2 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
    5773              :                 {
    5774            0 :                   {
    5775            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
    5776            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5777            0 :                     if (res) return res;
    5778              :                   }
    5779              :                 }
    5780            2 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
    5781              :                 {
    5782            0 :                   {
    5783            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    5784            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5785            0 :                     if (res) return res;
    5786              :                   }
    5787              :                 }
    5788              :               break;
    5789              :             }
    5790              :           default:;
    5791              :           }
    5792              :         break;
    5793              :       }
    5794       985238 :     default:;
    5795              :     }
    5796       985238 :   switch (TREE_CODE (_p1))
    5797              :     {
    5798       753345 :     CASE_CONVERT:
    5799       753345 :       {
    5800       753345 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5801       753345 :         switch (TREE_CODE (_q30))
    5802              :           {
    5803            8 :           case BIT_XOR_EXPR:
    5804            8 :             {
    5805            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5806            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
    5807            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    5808              :                 {
    5809            0 :                   {
    5810            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
    5811            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5812            0 :                     if (res) return res;
    5813              :                   }
    5814              :                 }
    5815            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
    5816              :                 {
    5817            0 :                   {
    5818            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
    5819            0 :                     tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5820            0 :                     if (res) return res;
    5821              :                   }
    5822              :                 }
    5823              :               break;
    5824              :             }
    5825              :           default:;
    5826              :           }
    5827              :         break;
    5828              :       }
    5829           78 :     case BIT_XOR_EXPR:
    5830           78 :       {
    5831           78 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5832           78 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5833           78 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    5834              :           {
    5835            0 :             {
    5836            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5837            0 :               tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5838            0 :               if (res) return res;
    5839              :             }
    5840              :           }
    5841           78 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    5842              :           {
    5843            0 :             {
    5844            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
    5845            0 :               tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    5846            0 :               if (res) return res;
    5847              :             }
    5848              :           }
    5849              :         break;
    5850              :       }
    5851       985238 :     default:;
    5852              :     }
    5853       985238 :   switch (TREE_CODE (_p0))
    5854              :     {
    5855       629563 :     CASE_CONVERT:
    5856       629563 :       {
    5857       629563 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5858       629563 :         switch (TREE_CODE (_q20))
    5859              :           {
    5860        59773 :           case BIT_XOR_EXPR:
    5861        59773 :             {
    5862        59773 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5863        59773 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5864        59773 :               switch (TREE_CODE (_p1))
    5865              :                 {
    5866        59708 :                 CASE_CONVERT:
    5867        59708 :                   {
    5868        59708 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5869        59708 :                     switch (TREE_CODE (_q60))
    5870              :                       {
    5871            0 :                       case BIT_XOR_EXPR:
    5872            0 :                         {
    5873            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    5874            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
    5875            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    5876              :                             {
    5877            0 :                               {
    5878            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
    5879            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5880            0 :                                 if (res) return res;
    5881              :                               }
    5882              :                             }
    5883            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    5884              :                             {
    5885            0 :                               {
    5886            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q70 };
    5887            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5888            0 :                                 if (res) return res;
    5889              :                               }
    5890              :                             }
    5891            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    5892              :                             {
    5893            0 :                               {
    5894            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q71 };
    5895            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5896            0 :                                 if (res) return res;
    5897              :                               }
    5898              :                             }
    5899            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5900              :                             {
    5901            0 :                               {
    5902            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q70 };
    5903            0 :                                 tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5904            0 :                                 if (res) return res;
    5905              :                               }
    5906              :                             }
    5907              :                           break;
    5908              :                         }
    5909              :                       default:;
    5910              :                       }
    5911              :                     break;
    5912              :                   }
    5913            0 :                 case BIT_XOR_EXPR:
    5914            0 :                   {
    5915            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5916            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    5917            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5918              :                       {
    5919            0 :                         {
    5920            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q61 };
    5921            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5922            0 :                           if (res) return res;
    5923              :                         }
    5924              :                       }
    5925            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    5926              :                       {
    5927            0 :                         {
    5928            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
    5929            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5930            0 :                           if (res) return res;
    5931              :                         }
    5932              :                       }
    5933            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    5934              :                       {
    5935            0 :                         {
    5936            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q61 };
    5937            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5938            0 :                           if (res) return res;
    5939              :                         }
    5940              :                       }
    5941            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    5942              :                       {
    5943            0 :                         {
    5944            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q60 };
    5945            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5946            0 :                           if (res) return res;
    5947              :                         }
    5948              :                       }
    5949              :                     break;
    5950              :                   }
    5951              :                 default:;
    5952              :                 }
    5953              :               break;
    5954              :             }
    5955       629563 :           default:;
    5956              :           }
    5957       629563 :         switch (TREE_CODE (_p1))
    5958              :           {
    5959       625556 :           CASE_CONVERT:
    5960       625556 :             {
    5961       625556 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5962       625556 :               {
    5963       625556 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    5964       625556 :                 tree res = generic_simplify_31 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    5965       625556 :                 if (res) return res;
    5966              :               }
    5967       539132 :               break;
    5968              :             }
    5969       543139 :           default:;
    5970              :           }
    5971       543139 :         {
    5972       543139 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    5973       543139 :           tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    5974       543139 :           if (res) return res;
    5975              :         }
    5976       543031 :         break;
    5977              :       }
    5978         3900 :     case BIT_XOR_EXPR:
    5979         3900 :       {
    5980         3900 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5981         3900 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5982         3900 :         switch (TREE_CODE (_p1))
    5983              :           {
    5984          198 :           CASE_CONVERT:
    5985          198 :             {
    5986          198 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5987          198 :               switch (TREE_CODE (_q50))
    5988              :                 {
    5989            0 :                 case BIT_XOR_EXPR:
    5990            0 :                   {
    5991            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    5992            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    5993            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5994              :                       {
    5995            0 :                         {
    5996            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q61 };
    5997            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    5998            0 :                           if (res) return res;
    5999              :                         }
    6000              :                       }
    6001            0 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    6002              :                       {
    6003            0 :                         {
    6004            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q60 };
    6005            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    6006            0 :                           if (res) return res;
    6007              :                         }
    6008              :                       }
    6009            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    6010              :                       {
    6011            0 :                         {
    6012            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q61 };
    6013            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    6014            0 :                           if (res) return res;
    6015              :                         }
    6016              :                       }
    6017            0 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6018              :                       {
    6019            0 :                         {
    6020            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q60 };
    6021            0 :                           tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    6022            0 :                           if (res) return res;
    6023              :                         }
    6024              :                       }
    6025              :                     break;
    6026              :                   }
    6027              :                 default:;
    6028              :                 }
    6029              :               break;
    6030              :             }
    6031           10 :           case BIT_XOR_EXPR:
    6032           10 :             {
    6033           10 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6034           10 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6035           10 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6036              :                 {
    6037            0 :                   {
    6038            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    6039            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    6040            0 :                     if (res) return res;
    6041              :                   }
    6042              :                 }
    6043           10 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6044              :                 {
    6045            0 :                   {
    6046            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6047            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    6048            0 :                     if (res) return res;
    6049              :                   }
    6050              :                 }
    6051           10 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6052              :                 {
    6053            0 :                   {
    6054            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    6055            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    6056            0 :                     if (res) return res;
    6057              :                   }
    6058              :                 }
    6059           10 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6060              :                 {
    6061            0 :                   {
    6062            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    6063            0 :                     tree res = generic_simplify_30 (loc, type, _p0, _p1, captures);
    6064            0 :                     if (res) return res;
    6065              :                   }
    6066              :                 }
    6067              :               break;
    6068              :             }
    6069         3900 :           default:;
    6070              :           }
    6071         3900 :         if (CONSTANT_CLASS_P (_q21))
    6072              :           {
    6073           49 :             if (CONSTANT_CLASS_P (_p1))
    6074              :               {
    6075           30 :                 {
    6076           30 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6077           30 :                   tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    6078           30 :                   if (res) return res;
    6079              :                 }
    6080              :               }
    6081              :           }
    6082              :         break;
    6083              :       }
    6084           70 :     case COND_EXPR:
    6085           70 :       {
    6086           70 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6087           70 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6088           70 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6089           70 :         if (integer_zerop (_q22))
    6090              :           {
    6091           70 :             switch (TREE_CODE (_p1))
    6092              :               {
    6093            4 :               case COND_EXPR:
    6094            4 :                 {
    6095            4 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6096            4 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6097            4 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6098            4 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6099              :                     {
    6100            0 :                       if (integer_zerop (_q61))
    6101              :                         {
    6102            0 :                           {
    6103            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    6104            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6105            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1161;
    6106            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1161;
    6107            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1161;
    6108            0 :                             {
    6109            0 :                               tree res_op0;
    6110            0 :                               res_op0 = captures[1];
    6111            0 :                               tree res_op1;
    6112            0 :                               res_op1 = captures[2];
    6113            0 :                               tree res_op2;
    6114            0 :                               res_op2 = captures[4];
    6115            0 :                               tree _r;
    6116            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    6117            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 886, __FILE__, __LINE__, true);
    6118            0 :                               return _r;
    6119              :                             }
    6120            0 : next_after_fail1161:;
    6121              :                           }
    6122              :                         }
    6123              :                     }
    6124              :                   break;
    6125              :                 }
    6126              :               default:;
    6127              :               }
    6128              :           }
    6129           70 :         if (integer_zerop (_q21))
    6130              :           {
    6131            0 :             switch (TREE_CODE (_p1))
    6132              :               {
    6133            0 :               case COND_EXPR:
    6134            0 :                 {
    6135            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6136            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6137            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6138            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6139              :                     {
    6140            0 :                       if (integer_zerop (_q62))
    6141              :                         {
    6142            0 :                           {
    6143            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    6144            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6145            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1162;
    6146            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1162;
    6147            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1162;
    6148            0 :                             {
    6149            0 :                               tree res_op0;
    6150            0 :                               res_op0 = captures[1];
    6151            0 :                               tree res_op1;
    6152            0 :                               res_op1 = captures[2];
    6153            0 :                               tree res_op2;
    6154            0 :                               res_op2 = captures[4];
    6155            0 :                               tree _r;
    6156            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    6157            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 886, __FILE__, __LINE__, true);
    6158            0 :                               return _r;
    6159              :                             }
    6160            0 : next_after_fail1162:;
    6161              :                           }
    6162              :                         }
    6163              :                     }
    6164              :                   break;
    6165              :                 }
    6166              :               default:;
    6167              :               }
    6168              :           }
    6169           70 :         switch (TREE_CODE (_q20))
    6170              :           {
    6171            0 :           case LT_EXPR:
    6172            0 :             {
    6173            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6174            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6175            0 :               if (zerop (_q22))
    6176              :                 {
    6177            0 :                   switch (TREE_CODE (_p1))
    6178              :                     {
    6179            0 :                     case COND_EXPR:
    6180            0 :                       {
    6181            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6182            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6183            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6184            0 :                         switch (TREE_CODE (_q80))
    6185              :                           {
    6186            0 :                           case GE_EXPR:
    6187            0 :                             {
    6188            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6189            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6190            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6191              :                                 {
    6192            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6193              :                                     {
    6194            0 :                                       if (zerop (_q82))
    6195              :                                         {
    6196            0 :                                           {
    6197            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6198            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LT_EXPR, GE_EXPR);
    6199            0 :                                             if (res) return res;
    6200              :                                           }
    6201              :                                         }
    6202              :                                     }
    6203              :                                 }
    6204              :                               break;
    6205              :                             }
    6206              :                           default:;
    6207              :                           }
    6208              :                         break;
    6209              :                       }
    6210              :                     default:;
    6211              :                     }
    6212              :                 }
    6213              :               break;
    6214              :             }
    6215           38 :           case LE_EXPR:
    6216           38 :             {
    6217           38 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6218           38 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6219           38 :               if (zerop (_q22))
    6220              :                 {
    6221           38 :                   switch (TREE_CODE (_p1))
    6222              :                     {
    6223            0 :                     case COND_EXPR:
    6224            0 :                       {
    6225            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6226            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6227            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6228            0 :                         switch (TREE_CODE (_q80))
    6229              :                           {
    6230            0 :                           case GT_EXPR:
    6231            0 :                             {
    6232            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6233            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6234            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6235              :                                 {
    6236            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6237              :                                     {
    6238            0 :                                       if (zerop (_q82))
    6239              :                                         {
    6240            0 :                                           {
    6241            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6242            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LE_EXPR, GT_EXPR);
    6243            0 :                                             if (res) return res;
    6244              :                                           }
    6245              :                                         }
    6246              :                                     }
    6247              :                                 }
    6248              :                               break;
    6249              :                             }
    6250              :                           default:;
    6251              :                           }
    6252              :                         break;
    6253              :                       }
    6254              :                     default:;
    6255              :                     }
    6256              :                 }
    6257              :               break;
    6258              :             }
    6259            0 :           case EQ_EXPR:
    6260            0 :             {
    6261            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6262            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6263            0 :               if (zerop (_q22))
    6264              :                 {
    6265            0 :                   switch (TREE_CODE (_p1))
    6266              :                     {
    6267            0 :                     case COND_EXPR:
    6268            0 :                       {
    6269            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6270            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6271            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6272            0 :                         switch (TREE_CODE (_q80))
    6273              :                           {
    6274            0 :                           case NE_EXPR:
    6275            0 :                             {
    6276            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6277            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6278            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6279              :                                 {
    6280            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6281              :                                     {
    6282            0 :                                       if (zerop (_q82))
    6283              :                                         {
    6284            0 :                                           {
    6285            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6286            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, EQ_EXPR, NE_EXPR);
    6287            0 :                                             if (res) return res;
    6288              :                                           }
    6289              :                                         }
    6290              :                                     }
    6291              :                                 }
    6292              :                               break;
    6293              :                             }
    6294              :                           default:;
    6295              :                           }
    6296              :                         break;
    6297              :                       }
    6298              :                     default:;
    6299              :                     }
    6300              :                 }
    6301              :               break;
    6302              :             }
    6303           32 :           case NE_EXPR:
    6304           32 :             {
    6305           32 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6306           32 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6307           32 :               if (zerop (_q22))
    6308              :                 {
    6309           32 :                   switch (TREE_CODE (_p1))
    6310              :                     {
    6311            4 :                     case COND_EXPR:
    6312            4 :                       {
    6313            4 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6314            4 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6315            4 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6316            4 :                         switch (TREE_CODE (_q80))
    6317              :                           {
    6318            0 :                           case EQ_EXPR:
    6319            0 :                             {
    6320            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6321            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6322            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6323              :                                 {
    6324            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6325              :                                     {
    6326            0 :                                       if (zerop (_q82))
    6327              :                                         {
    6328            0 :                                           {
    6329            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6330            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, NE_EXPR, EQ_EXPR);
    6331            0 :                                             if (res) return res;
    6332              :                                           }
    6333              :                                         }
    6334              :                                     }
    6335              :                                 }
    6336              :                               break;
    6337              :                             }
    6338              :                           default:;
    6339              :                           }
    6340              :                         break;
    6341              :                       }
    6342              :                     default:;
    6343              :                     }
    6344              :                 }
    6345              :               break;
    6346              :             }
    6347            0 :           case GE_EXPR:
    6348            0 :             {
    6349            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6350            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6351            0 :               if (zerop (_q22))
    6352              :                 {
    6353            0 :                   switch (TREE_CODE (_p1))
    6354              :                     {
    6355            0 :                     case COND_EXPR:
    6356            0 :                       {
    6357            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6358            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6359            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6360            0 :                         switch (TREE_CODE (_q80))
    6361              :                           {
    6362            0 :                           case LT_EXPR:
    6363            0 :                             {
    6364            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6365            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6366            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6367              :                                 {
    6368            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6369              :                                     {
    6370            0 :                                       if (zerop (_q82))
    6371              :                                         {
    6372            0 :                                           {
    6373            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6374            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GE_EXPR, LT_EXPR);
    6375            0 :                                             if (res) return res;
    6376              :                                           }
    6377              :                                         }
    6378              :                                     }
    6379              :                                 }
    6380              :                               break;
    6381              :                             }
    6382              :                           default:;
    6383              :                           }
    6384              :                         break;
    6385              :                       }
    6386              :                     default:;
    6387              :                     }
    6388              :                 }
    6389              :               break;
    6390              :             }
    6391            0 :           case GT_EXPR:
    6392            0 :             {
    6393            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6394            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6395            0 :               if (zerop (_q22))
    6396              :                 {
    6397            0 :                   switch (TREE_CODE (_p1))
    6398              :                     {
    6399            0 :                     case COND_EXPR:
    6400            0 :                       {
    6401            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6402            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6403            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6404            0 :                         switch (TREE_CODE (_q80))
    6405              :                           {
    6406            0 :                           case LE_EXPR:
    6407            0 :                             {
    6408            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6409            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6410            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6411              :                                 {
    6412            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6413              :                                     {
    6414            0 :                                       if (zerop (_q82))
    6415              :                                         {
    6416            0 :                                           {
    6417            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6418            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GT_EXPR, LE_EXPR);
    6419            0 :                                             if (res) return res;
    6420              :                                           }
    6421              :                                         }
    6422              :                                     }
    6423              :                                 }
    6424              :                               break;
    6425              :                             }
    6426              :                           default:;
    6427              :                           }
    6428              :                         break;
    6429              :                       }
    6430              :                     default:;
    6431              :                     }
    6432              :                 }
    6433              :               break;
    6434              :             }
    6435            0 :           case UNORDERED_EXPR:
    6436            0 :             {
    6437            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6438            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6439            0 :               if (zerop (_q22))
    6440              :                 {
    6441            0 :                   switch (TREE_CODE (_p1))
    6442              :                     {
    6443            0 :                     case COND_EXPR:
    6444            0 :                       {
    6445            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6446            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6447            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6448            0 :                         switch (TREE_CODE (_q80))
    6449              :                           {
    6450            0 :                           case ORDERED_EXPR:
    6451            0 :                             {
    6452            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6453            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6454            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6455              :                                 {
    6456            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6457              :                                     {
    6458            0 :                                       if (zerop (_q82))
    6459              :                                         {
    6460            0 :                                           {
    6461            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6462            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    6463            0 :                                             if (res) return res;
    6464              :                                           }
    6465              :                                         }
    6466              :                                     }
    6467              :                                 }
    6468              :                               break;
    6469              :                             }
    6470              :                           default:;
    6471              :                           }
    6472              :                         break;
    6473              :                       }
    6474              :                     default:;
    6475              :                     }
    6476              :                 }
    6477              :               break;
    6478              :             }
    6479            0 :           case ORDERED_EXPR:
    6480            0 :             {
    6481            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6482            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6483            0 :               if (zerop (_q22))
    6484              :                 {
    6485            0 :                   switch (TREE_CODE (_p1))
    6486              :                     {
    6487            0 :                     case COND_EXPR:
    6488            0 :                       {
    6489            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6490            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6491            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6492            0 :                         switch (TREE_CODE (_q80))
    6493              :                           {
    6494            0 :                           case UNORDERED_EXPR:
    6495            0 :                             {
    6496            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6497            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6498            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6499              :                                 {
    6500            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6501              :                                     {
    6502            0 :                                       if (zerop (_q82))
    6503              :                                         {
    6504            0 :                                           {
    6505            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6506            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    6507            0 :                                             if (res) return res;
    6508              :                                           }
    6509              :                                         }
    6510              :                                     }
    6511              :                                 }
    6512              :                               break;
    6513              :                             }
    6514              :                           default:;
    6515              :                           }
    6516              :                         break;
    6517              :                       }
    6518              :                     default:;
    6519              :                     }
    6520              :                 }
    6521              :               break;
    6522              :             }
    6523            0 :           case UNLT_EXPR:
    6524            0 :             {
    6525            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6526            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6527            0 :               if (zerop (_q22))
    6528              :                 {
    6529            0 :                   switch (TREE_CODE (_p1))
    6530              :                     {
    6531            0 :                     case COND_EXPR:
    6532            0 :                       {
    6533            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6534            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6535            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6536            0 :                         switch (TREE_CODE (_q80))
    6537              :                           {
    6538            0 :                           case GE_EXPR:
    6539            0 :                             {
    6540            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6541            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6542            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6543              :                                 {
    6544            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6545              :                                     {
    6546            0 :                                       if (zerop (_q82))
    6547              :                                         {
    6548            0 :                                           {
    6549            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6550            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLT_EXPR, GE_EXPR);
    6551            0 :                                             if (res) return res;
    6552              :                                           }
    6553              :                                         }
    6554              :                                     }
    6555              :                                 }
    6556              :                               break;
    6557              :                             }
    6558              :                           default:;
    6559              :                           }
    6560              :                         break;
    6561              :                       }
    6562              :                     default:;
    6563              :                     }
    6564              :                 }
    6565              :               break;
    6566              :             }
    6567            0 :           case UNLE_EXPR:
    6568            0 :             {
    6569            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6570            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6571            0 :               if (zerop (_q22))
    6572              :                 {
    6573            0 :                   switch (TREE_CODE (_p1))
    6574              :                     {
    6575            0 :                     case COND_EXPR:
    6576            0 :                       {
    6577            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6578            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6579            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6580            0 :                         switch (TREE_CODE (_q80))
    6581              :                           {
    6582            0 :                           case GT_EXPR:
    6583            0 :                             {
    6584            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6585            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6586            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6587              :                                 {
    6588            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6589              :                                     {
    6590            0 :                                       if (zerop (_q82))
    6591              :                                         {
    6592            0 :                                           {
    6593            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6594            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLE_EXPR, GT_EXPR);
    6595            0 :                                             if (res) return res;
    6596              :                                           }
    6597              :                                         }
    6598              :                                     }
    6599              :                                 }
    6600              :                               break;
    6601              :                             }
    6602              :                           default:;
    6603              :                           }
    6604              :                         break;
    6605              :                       }
    6606              :                     default:;
    6607              :                     }
    6608              :                 }
    6609              :               break;
    6610              :             }
    6611            0 :           case UNGT_EXPR:
    6612            0 :             {
    6613            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6614            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6615            0 :               if (zerop (_q22))
    6616              :                 {
    6617            0 :                   switch (TREE_CODE (_p1))
    6618              :                     {
    6619            0 :                     case COND_EXPR:
    6620            0 :                       {
    6621            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6622            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6623            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6624            0 :                         switch (TREE_CODE (_q80))
    6625              :                           {
    6626            0 :                           case LE_EXPR:
    6627            0 :                             {
    6628            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6629            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6630            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6631              :                                 {
    6632            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6633              :                                     {
    6634            0 :                                       if (zerop (_q82))
    6635              :                                         {
    6636            0 :                                           {
    6637            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6638            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGT_EXPR, LE_EXPR);
    6639            0 :                                             if (res) return res;
    6640              :                                           }
    6641              :                                         }
    6642              :                                     }
    6643              :                                 }
    6644              :                               break;
    6645              :                             }
    6646              :                           default:;
    6647              :                           }
    6648              :                         break;
    6649              :                       }
    6650              :                     default:;
    6651              :                     }
    6652              :                 }
    6653              :               break;
    6654              :             }
    6655            0 :           case UNGE_EXPR:
    6656            0 :             {
    6657            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6658            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6659            0 :               if (zerop (_q22))
    6660              :                 {
    6661            0 :                   switch (TREE_CODE (_p1))
    6662              :                     {
    6663            0 :                     case COND_EXPR:
    6664            0 :                       {
    6665            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6666            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6667            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6668            0 :                         switch (TREE_CODE (_q80))
    6669              :                           {
    6670            0 :                           case LT_EXPR:
    6671            0 :                             {
    6672            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6673            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6674            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6675              :                                 {
    6676            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6677              :                                     {
    6678            0 :                                       if (zerop (_q82))
    6679              :                                         {
    6680            0 :                                           {
    6681            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6682            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGE_EXPR, LT_EXPR);
    6683            0 :                                             if (res) return res;
    6684              :                                           }
    6685              :                                         }
    6686              :                                     }
    6687              :                                 }
    6688              :                               break;
    6689              :                             }
    6690              :                           default:;
    6691              :                           }
    6692              :                         break;
    6693              :                       }
    6694              :                     default:;
    6695              :                     }
    6696              :                 }
    6697              :               break;
    6698              :             }
    6699            0 :           case UNEQ_EXPR:
    6700            0 :             {
    6701            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6702            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6703            0 :               if (zerop (_q22))
    6704              :                 {
    6705            0 :                   switch (TREE_CODE (_p1))
    6706              :                     {
    6707            0 :                     case COND_EXPR:
    6708            0 :                       {
    6709            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6710            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6711            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6712            0 :                         switch (TREE_CODE (_q80))
    6713              :                           {
    6714            0 :                           case LTGT_EXPR:
    6715            0 :                             {
    6716            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6717            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6718            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6719              :                                 {
    6720            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6721              :                                     {
    6722            0 :                                       if (zerop (_q82))
    6723              :                                         {
    6724            0 :                                           {
    6725            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6726            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
    6727            0 :                                             if (res) return res;
    6728              :                                           }
    6729              :                                         }
    6730              :                                     }
    6731              :                                 }
    6732              :                               break;
    6733              :                             }
    6734              :                           default:;
    6735              :                           }
    6736              :                         break;
    6737              :                       }
    6738              :                     default:;
    6739              :                     }
    6740              :                 }
    6741              :               break;
    6742              :             }
    6743            0 :           case LTGT_EXPR:
    6744            0 :             {
    6745            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6746            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6747            0 :               if (zerop (_q22))
    6748              :                 {
    6749            0 :                   switch (TREE_CODE (_p1))
    6750              :                     {
    6751            0 :                     case COND_EXPR:
    6752            0 :                       {
    6753            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6754            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6755            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6756            0 :                         switch (TREE_CODE (_q80))
    6757              :                           {
    6758            0 :                           case UNEQ_EXPR:
    6759            0 :                             {
    6760            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6761            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6762            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6763              :                                 {
    6764            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6765              :                                     {
    6766            0 :                                       if (zerop (_q82))
    6767              :                                         {
    6768            0 :                                           {
    6769            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6770            0 :                                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
    6771            0 :                                             if (res) return res;
    6772              :                                           }
    6773              :                                         }
    6774              :                                     }
    6775              :                                 }
    6776              :                               break;
    6777              :                             }
    6778              :                           default:;
    6779              :                           }
    6780              :                         break;
    6781              :                       }
    6782              :                     default:;
    6783              :                     }
    6784              :                 }
    6785              :               break;
    6786              :             }
    6787              :           default:;
    6788              :           }
    6789              :         break;
    6790              :       }
    6791            1 :     case VEC_COND_EXPR:
    6792            1 :       {
    6793            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6794            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6795            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6796            1 :         if (integer_zerop (_q22))
    6797              :           {
    6798            1 :             switch (TREE_CODE (_p1))
    6799              :               {
    6800            0 :               case VEC_COND_EXPR:
    6801            0 :                 {
    6802            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6803            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6804            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6805            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6806              :                     {
    6807            0 :                       if (integer_zerop (_q61))
    6808              :                         {
    6809            0 :                           {
    6810            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    6811            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6812            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1163;
    6813            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1163;
    6814            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1163;
    6815            0 :                             {
    6816            0 :                               tree res_op0;
    6817            0 :                               res_op0 = captures[1];
    6818            0 :                               tree res_op1;
    6819            0 :                               res_op1 = captures[2];
    6820            0 :                               tree res_op2;
    6821            0 :                               res_op2 = captures[4];
    6822            0 :                               tree _r;
    6823            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6824            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 886, __FILE__, __LINE__, true);
    6825            0 :                               return _r;
    6826              :                             }
    6827            0 : next_after_fail1163:;
    6828              :                           }
    6829              :                         }
    6830              :                     }
    6831              :                   break;
    6832              :                 }
    6833              :               default:;
    6834              :               }
    6835              :           }
    6836            1 :         if (integer_zerop (_q21))
    6837              :           {
    6838            0 :             switch (TREE_CODE (_p1))
    6839              :               {
    6840            0 :               case VEC_COND_EXPR:
    6841            0 :                 {
    6842            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6843            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6844            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6845            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6846              :                     {
    6847            0 :                       if (integer_zerop (_q62))
    6848              :                         {
    6849            0 :                           {
    6850            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    6851            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6852            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1164;
    6853            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1164;
    6854            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1164;
    6855            0 :                             {
    6856            0 :                               tree res_op0;
    6857            0 :                               res_op0 = captures[1];
    6858            0 :                               tree res_op1;
    6859            0 :                               res_op1 = captures[2];
    6860            0 :                               tree res_op2;
    6861            0 :                               res_op2 = captures[4];
    6862            0 :                               tree _r;
    6863            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6864            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 886, __FILE__, __LINE__, true);
    6865            0 :                               return _r;
    6866              :                             }
    6867            0 : next_after_fail1164:;
    6868              :                           }
    6869              :                         }
    6870              :                     }
    6871              :                   break;
    6872              :                 }
    6873              :               default:;
    6874              :               }
    6875              :           }
    6876            1 :         switch (TREE_CODE (_q20))
    6877              :           {
    6878            0 :           case LT_EXPR:
    6879            0 :             {
    6880            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6881            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6882            0 :               if (integer_zerop (_q22))
    6883              :                 {
    6884            0 :                   switch (TREE_CODE (_p1))
    6885              :                     {
    6886            0 :                     case VEC_COND_EXPR:
    6887            0 :                       {
    6888            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6889            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6890            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6891            0 :                         switch (TREE_CODE (_q80))
    6892              :                           {
    6893            0 :                           case GE_EXPR:
    6894            0 :                             {
    6895            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6896            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6897            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6898              :                                 {
    6899            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6900              :                                     {
    6901            0 :                                       if (integer_zerop (_q82))
    6902              :                                         {
    6903            0 :                                           {
    6904            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6905            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LT_EXPR, GE_EXPR);
    6906            0 :                                             if (res) return res;
    6907              :                                           }
    6908              :                                         }
    6909              :                                     }
    6910              :                                 }
    6911              :                               break;
    6912              :                             }
    6913              :                           default:;
    6914              :                           }
    6915              :                         break;
    6916              :                       }
    6917              :                     default:;
    6918              :                     }
    6919              :                 }
    6920              :               break;
    6921              :             }
    6922            0 :           case LE_EXPR:
    6923            0 :             {
    6924            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6925            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6926            0 :               if (integer_zerop (_q22))
    6927              :                 {
    6928            0 :                   switch (TREE_CODE (_p1))
    6929              :                     {
    6930            0 :                     case VEC_COND_EXPR:
    6931            0 :                       {
    6932            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6933            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6934            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6935            0 :                         switch (TREE_CODE (_q80))
    6936              :                           {
    6937            0 :                           case GT_EXPR:
    6938            0 :                             {
    6939            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6940            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6941            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6942              :                                 {
    6943            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6944              :                                     {
    6945            0 :                                       if (integer_zerop (_q82))
    6946              :                                         {
    6947            0 :                                           {
    6948            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6949            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LE_EXPR, GT_EXPR);
    6950            0 :                                             if (res) return res;
    6951              :                                           }
    6952              :                                         }
    6953              :                                     }
    6954              :                                 }
    6955              :                               break;
    6956              :                             }
    6957              :                           default:;
    6958              :                           }
    6959              :                         break;
    6960              :                       }
    6961              :                     default:;
    6962              :                     }
    6963              :                 }
    6964              :               break;
    6965              :             }
    6966            0 :           case EQ_EXPR:
    6967            0 :             {
    6968            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6969            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6970            0 :               if (integer_zerop (_q22))
    6971              :                 {
    6972            0 :                   switch (TREE_CODE (_p1))
    6973              :                     {
    6974            0 :                     case VEC_COND_EXPR:
    6975            0 :                       {
    6976            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6977            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6978            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6979            0 :                         switch (TREE_CODE (_q80))
    6980              :                           {
    6981            0 :                           case NE_EXPR:
    6982            0 :                             {
    6983            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6984            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6985            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6986              :                                 {
    6987            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6988              :                                     {
    6989            0 :                                       if (integer_zerop (_q82))
    6990              :                                         {
    6991            0 :                                           {
    6992            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6993            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, EQ_EXPR, NE_EXPR);
    6994            0 :                                             if (res) return res;
    6995              :                                           }
    6996              :                                         }
    6997              :                                     }
    6998              :                                 }
    6999              :                               break;
    7000              :                             }
    7001              :                           default:;
    7002              :                           }
    7003              :                         break;
    7004              :                       }
    7005              :                     default:;
    7006              :                     }
    7007              :                 }
    7008              :               break;
    7009              :             }
    7010            1 :           case NE_EXPR:
    7011            1 :             {
    7012            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7013            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7014            1 :               if (integer_zerop (_q22))
    7015              :                 {
    7016            1 :                   switch (TREE_CODE (_p1))
    7017              :                     {
    7018            0 :                     case VEC_COND_EXPR:
    7019            0 :                       {
    7020            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7021            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7022            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7023            0 :                         switch (TREE_CODE (_q80))
    7024              :                           {
    7025            0 :                           case EQ_EXPR:
    7026            0 :                             {
    7027            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7028            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7029            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7030              :                                 {
    7031            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7032              :                                     {
    7033            0 :                                       if (integer_zerop (_q82))
    7034              :                                         {
    7035            0 :                                           {
    7036            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7037            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, NE_EXPR, EQ_EXPR);
    7038            0 :                                             if (res) return res;
    7039              :                                           }
    7040              :                                         }
    7041              :                                     }
    7042              :                                 }
    7043              :                               break;
    7044              :                             }
    7045              :                           default:;
    7046              :                           }
    7047              :                         break;
    7048              :                       }
    7049              :                     default:;
    7050              :                     }
    7051              :                 }
    7052              :               break;
    7053              :             }
    7054            0 :           case GE_EXPR:
    7055            0 :             {
    7056            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7057            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7058            0 :               if (integer_zerop (_q22))
    7059              :                 {
    7060            0 :                   switch (TREE_CODE (_p1))
    7061              :                     {
    7062            0 :                     case VEC_COND_EXPR:
    7063            0 :                       {
    7064            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7065            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7066            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7067            0 :                         switch (TREE_CODE (_q80))
    7068              :                           {
    7069            0 :                           case LT_EXPR:
    7070            0 :                             {
    7071            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7072            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7073            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7074              :                                 {
    7075            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7076              :                                     {
    7077            0 :                                       if (integer_zerop (_q82))
    7078              :                                         {
    7079            0 :                                           {
    7080            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7081            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GE_EXPR, LT_EXPR);
    7082            0 :                                             if (res) return res;
    7083              :                                           }
    7084              :                                         }
    7085              :                                     }
    7086              :                                 }
    7087              :                               break;
    7088              :                             }
    7089              :                           default:;
    7090              :                           }
    7091              :                         break;
    7092              :                       }
    7093              :                     default:;
    7094              :                     }
    7095              :                 }
    7096              :               break;
    7097              :             }
    7098            0 :           case GT_EXPR:
    7099            0 :             {
    7100            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7101            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7102            0 :               if (integer_zerop (_q22))
    7103              :                 {
    7104            0 :                   switch (TREE_CODE (_p1))
    7105              :                     {
    7106            0 :                     case VEC_COND_EXPR:
    7107            0 :                       {
    7108            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7109            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7110            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7111            0 :                         switch (TREE_CODE (_q80))
    7112              :                           {
    7113            0 :                           case LE_EXPR:
    7114            0 :                             {
    7115            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7116            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7117            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7118              :                                 {
    7119            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7120              :                                     {
    7121            0 :                                       if (integer_zerop (_q82))
    7122              :                                         {
    7123            0 :                                           {
    7124            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7125            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GT_EXPR, LE_EXPR);
    7126            0 :                                             if (res) return res;
    7127              :                                           }
    7128              :                                         }
    7129              :                                     }
    7130              :                                 }
    7131              :                               break;
    7132              :                             }
    7133              :                           default:;
    7134              :                           }
    7135              :                         break;
    7136              :                       }
    7137              :                     default:;
    7138              :                     }
    7139              :                 }
    7140              :               break;
    7141              :             }
    7142            0 :           case UNORDERED_EXPR:
    7143            0 :             {
    7144            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7145            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7146            0 :               if (integer_zerop (_q22))
    7147              :                 {
    7148            0 :                   switch (TREE_CODE (_p1))
    7149              :                     {
    7150            0 :                     case VEC_COND_EXPR:
    7151            0 :                       {
    7152            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7153            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7154            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7155            0 :                         switch (TREE_CODE (_q80))
    7156              :                           {
    7157            0 :                           case ORDERED_EXPR:
    7158            0 :                             {
    7159            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7160            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7161            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7162              :                                 {
    7163            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7164              :                                     {
    7165            0 :                                       if (integer_zerop (_q82))
    7166              :                                         {
    7167            0 :                                           {
    7168            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7169            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    7170            0 :                                             if (res) return res;
    7171              :                                           }
    7172              :                                         }
    7173              :                                     }
    7174              :                                 }
    7175              :                               break;
    7176              :                             }
    7177              :                           default:;
    7178              :                           }
    7179              :                         break;
    7180              :                       }
    7181              :                     default:;
    7182              :                     }
    7183              :                 }
    7184              :               break;
    7185              :             }
    7186            0 :           case ORDERED_EXPR:
    7187            0 :             {
    7188            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7189            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7190            0 :               if (integer_zerop (_q22))
    7191              :                 {
    7192            0 :                   switch (TREE_CODE (_p1))
    7193              :                     {
    7194            0 :                     case VEC_COND_EXPR:
    7195            0 :                       {
    7196            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7197            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7198            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7199            0 :                         switch (TREE_CODE (_q80))
    7200              :                           {
    7201            0 :                           case UNORDERED_EXPR:
    7202            0 :                             {
    7203            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7204            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7205            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7206              :                                 {
    7207            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7208              :                                     {
    7209            0 :                                       if (integer_zerop (_q82))
    7210              :                                         {
    7211            0 :                                           {
    7212            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7213            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    7214            0 :                                             if (res) return res;
    7215              :                                           }
    7216              :                                         }
    7217              :                                     }
    7218              :                                 }
    7219              :                               break;
    7220              :                             }
    7221              :                           default:;
    7222              :                           }
    7223              :                         break;
    7224              :                       }
    7225              :                     default:;
    7226              :                     }
    7227              :                 }
    7228              :               break;
    7229              :             }
    7230            0 :           case UNLT_EXPR:
    7231            0 :             {
    7232            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7233            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7234            0 :               if (integer_zerop (_q22))
    7235              :                 {
    7236            0 :                   switch (TREE_CODE (_p1))
    7237              :                     {
    7238            0 :                     case VEC_COND_EXPR:
    7239            0 :                       {
    7240            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7241            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7242            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7243            0 :                         switch (TREE_CODE (_q80))
    7244              :                           {
    7245            0 :                           case GE_EXPR:
    7246            0 :                             {
    7247            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7248            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7249            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7250              :                                 {
    7251            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7252              :                                     {
    7253            0 :                                       if (integer_zerop (_q82))
    7254              :                                         {
    7255            0 :                                           {
    7256            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7257            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLT_EXPR, GE_EXPR);
    7258            0 :                                             if (res) return res;
    7259              :                                           }
    7260              :                                         }
    7261              :                                     }
    7262              :                                 }
    7263              :                               break;
    7264              :                             }
    7265              :                           default:;
    7266              :                           }
    7267              :                         break;
    7268              :                       }
    7269              :                     default:;
    7270              :                     }
    7271              :                 }
    7272              :               break;
    7273              :             }
    7274            0 :           case UNLE_EXPR:
    7275            0 :             {
    7276            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7277            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7278            0 :               if (integer_zerop (_q22))
    7279              :                 {
    7280            0 :                   switch (TREE_CODE (_p1))
    7281              :                     {
    7282            0 :                     case VEC_COND_EXPR:
    7283            0 :                       {
    7284            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7285            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7286            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7287            0 :                         switch (TREE_CODE (_q80))
    7288              :                           {
    7289            0 :                           case GT_EXPR:
    7290            0 :                             {
    7291            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7292            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7293            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7294              :                                 {
    7295            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7296              :                                     {
    7297            0 :                                       if (integer_zerop (_q82))
    7298              :                                         {
    7299            0 :                                           {
    7300            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7301            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLE_EXPR, GT_EXPR);
    7302            0 :                                             if (res) return res;
    7303              :                                           }
    7304              :                                         }
    7305              :                                     }
    7306              :                                 }
    7307              :                               break;
    7308              :                             }
    7309              :                           default:;
    7310              :                           }
    7311              :                         break;
    7312              :                       }
    7313              :                     default:;
    7314              :                     }
    7315              :                 }
    7316              :               break;
    7317              :             }
    7318            0 :           case UNGT_EXPR:
    7319            0 :             {
    7320            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7321            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7322            0 :               if (integer_zerop (_q22))
    7323              :                 {
    7324            0 :                   switch (TREE_CODE (_p1))
    7325              :                     {
    7326            0 :                     case VEC_COND_EXPR:
    7327            0 :                       {
    7328            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7329            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7330            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7331            0 :                         switch (TREE_CODE (_q80))
    7332              :                           {
    7333            0 :                           case LE_EXPR:
    7334            0 :                             {
    7335            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7336            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7337            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7338              :                                 {
    7339            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7340              :                                     {
    7341            0 :                                       if (integer_zerop (_q82))
    7342              :                                         {
    7343            0 :                                           {
    7344            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7345            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGT_EXPR, LE_EXPR);
    7346            0 :                                             if (res) return res;
    7347              :                                           }
    7348              :                                         }
    7349              :                                     }
    7350              :                                 }
    7351              :                               break;
    7352              :                             }
    7353              :                           default:;
    7354              :                           }
    7355              :                         break;
    7356              :                       }
    7357              :                     default:;
    7358              :                     }
    7359              :                 }
    7360              :               break;
    7361              :             }
    7362            0 :           case UNGE_EXPR:
    7363            0 :             {
    7364            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7365            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7366            0 :               if (integer_zerop (_q22))
    7367              :                 {
    7368            0 :                   switch (TREE_CODE (_p1))
    7369              :                     {
    7370            0 :                     case VEC_COND_EXPR:
    7371            0 :                       {
    7372            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7373            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7374            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7375            0 :                         switch (TREE_CODE (_q80))
    7376              :                           {
    7377            0 :                           case LT_EXPR:
    7378            0 :                             {
    7379            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7380            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7381            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7382              :                                 {
    7383            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7384              :                                     {
    7385            0 :                                       if (integer_zerop (_q82))
    7386              :                                         {
    7387            0 :                                           {
    7388            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7389            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGE_EXPR, LT_EXPR);
    7390            0 :                                             if (res) return res;
    7391              :                                           }
    7392              :                                         }
    7393              :                                     }
    7394              :                                 }
    7395              :                               break;
    7396              :                             }
    7397              :                           default:;
    7398              :                           }
    7399              :                         break;
    7400              :                       }
    7401              :                     default:;
    7402              :                     }
    7403              :                 }
    7404              :               break;
    7405              :             }
    7406            0 :           case UNEQ_EXPR:
    7407            0 :             {
    7408            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7409            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7410            0 :               if (integer_zerop (_q22))
    7411              :                 {
    7412            0 :                   switch (TREE_CODE (_p1))
    7413              :                     {
    7414            0 :                     case VEC_COND_EXPR:
    7415            0 :                       {
    7416            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7417            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7418            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7419            0 :                         switch (TREE_CODE (_q80))
    7420              :                           {
    7421            0 :                           case LTGT_EXPR:
    7422            0 :                             {
    7423            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7424            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7425            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7426              :                                 {
    7427            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7428              :                                     {
    7429            0 :                                       if (integer_zerop (_q82))
    7430              :                                         {
    7431            0 :                                           {
    7432            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7433            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
    7434            0 :                                             if (res) return res;
    7435              :                                           }
    7436              :                                         }
    7437              :                                     }
    7438              :                                 }
    7439              :                               break;
    7440              :                             }
    7441              :                           default:;
    7442              :                           }
    7443              :                         break;
    7444              :                       }
    7445              :                     default:;
    7446              :                     }
    7447              :                 }
    7448              :               break;
    7449              :             }
    7450            0 :           case LTGT_EXPR:
    7451            0 :             {
    7452            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7453            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7454            0 :               if (integer_zerop (_q22))
    7455              :                 {
    7456            0 :                   switch (TREE_CODE (_p1))
    7457              :                     {
    7458            0 :                     case VEC_COND_EXPR:
    7459            0 :                       {
    7460            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7461            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7462            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7463            0 :                         switch (TREE_CODE (_q80))
    7464              :                           {
    7465            0 :                           case UNEQ_EXPR:
    7466            0 :                             {
    7467            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7468            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7469            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7470              :                                 {
    7471            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7472              :                                     {
    7473            0 :                                       if (integer_zerop (_q82))
    7474              :                                         {
    7475            0 :                                           {
    7476            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7477            0 :                                             tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
    7478            0 :                                             if (res) return res;
    7479              :                                           }
    7480              :                                         }
    7481              :                                     }
    7482              :                                 }
    7483              :                               break;
    7484              :                             }
    7485              :                           default:;
    7486              :                           }
    7487              :                         break;
    7488              :                       }
    7489              :                     default:;
    7490              :                     }
    7491              :                 }
    7492              :               break;
    7493              :             }
    7494              :           default:;
    7495              :           }
    7496              :         break;
    7497              :       }
    7498         3073 :     case BIT_AND_EXPR:
    7499         3073 :       {
    7500         3073 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7501         3073 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7502         3073 :         if (tree_truth_valued_p (_q20))
    7503              :           {
    7504            0 :             if (tree_truth_valued_p (_q21))
    7505              :               {
    7506            0 :                 switch (TREE_CODE (_p1))
    7507              :                   {
    7508            0 :                   case EQ_EXPR:
    7509            0 :                     {
    7510            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    7511            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    7512            0 :                       if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7513              :                         {
    7514            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7515              :                             {
    7516            0 :                               {
    7517            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7518            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1165;
    7519            0 :                                 {
    7520            0 :                                   tree res_op0;
    7521            0 :                                   {
    7522            0 :                                     tree _o1[2], _r1;
    7523            0 :                                     _o1[0] = captures[0];
    7524            0 :                                     _o1[1] = captures[1];
    7525            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7526            0 :                                     res_op0 = _r1;
    7527              :                                   }
    7528            0 :                                   tree _r;
    7529            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7530            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    7531            0 :                                   return _r;
    7532              :                                 }
    7533            0 : next_after_fail1165:;
    7534              :                               }
    7535              :                             }
    7536              :                         }
    7537            0 :                       if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7538              :                         {
    7539            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7540              :                             {
    7541            0 :                               {
    7542            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7543            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1166;
    7544            0 :                                 {
    7545            0 :                                   tree res_op0;
    7546            0 :                                   {
    7547            0 :                                     tree _o1[2], _r1;
    7548            0 :                                     _o1[0] = captures[0];
    7549            0 :                                     _o1[1] = captures[1];
    7550            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7551            0 :                                     res_op0 = _r1;
    7552              :                                   }
    7553            0 :                                   tree _r;
    7554            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7555            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    7556            0 :                                   return _r;
    7557              :                                 }
    7558            0 : next_after_fail1166:;
    7559              :                               }
    7560              :                             }
    7561              :                         }
    7562              :                       break;
    7563              :                     }
    7564              :                   default:;
    7565              :                   }
    7566              :               }
    7567              :           }
    7568              :         break;
    7569              :       }
    7570          119 :     case EQ_EXPR:
    7571          119 :       {
    7572          119 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7573          119 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7574          119 :         switch (TREE_CODE (_p1))
    7575              :           {
    7576            0 :           case BIT_AND_EXPR:
    7577            0 :             {
    7578            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7579            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7580            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7581              :                 {
    7582            0 :                   if (tree_truth_valued_p (_q50))
    7583              :                     {
    7584            0 :                       if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7585              :                         {
    7586            0 :                           if (tree_truth_valued_p (_q51))
    7587              :                             {
    7588            0 :                               {
    7589            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7590            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1167;
    7591            0 :                                 {
    7592            0 :                                   tree res_op0;
    7593            0 :                                   {
    7594            0 :                                     tree _o1[2], _r1;
    7595            0 :                                     _o1[0] = captures[0];
    7596            0 :                                     _o1[1] = captures[1];
    7597            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7598            0 :                                     res_op0 = _r1;
    7599              :                                   }
    7600            0 :                                   tree _r;
    7601            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7602            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    7603            0 :                                   return _r;
    7604              :                                 }
    7605            0 : next_after_fail1167:;
    7606              :                               }
    7607              :                             }
    7608              :                         }
    7609              :                     }
    7610              :                 }
    7611            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7612              :                 {
    7613            0 :                   if (tree_truth_valued_p (_q50))
    7614              :                     {
    7615            0 :                       if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7616              :                         {
    7617            0 :                           if (tree_truth_valued_p (_q51))
    7618              :                             {
    7619            0 :                               {
    7620            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7621            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1168;
    7622            0 :                                 {
    7623            0 :                                   tree res_op0;
    7624            0 :                                   {
    7625            0 :                                     tree _o1[2], _r1;
    7626            0 :                                     _o1[0] = captures[0];
    7627            0 :                                     _o1[1] = captures[1];
    7628            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7629            0 :                                     res_op0 = _r1;
    7630              :                                   }
    7631            0 :                                   tree _r;
    7632            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7633            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    7634            0 :                                   return _r;
    7635              :                                 }
    7636            0 : next_after_fail1168:;
    7637              :                               }
    7638              :                             }
    7639              :                         }
    7640              :                     }
    7641              :                 }
    7642              :               break;
    7643              :             }
    7644              :           default:;
    7645              :           }
    7646              :         break;
    7647              :       }
    7648       898676 :     default:;
    7649              :     }
    7650       898676 : {
    7651       898676 :   tree _p0_pops[1];
    7652       898676 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    7653              :     {
    7654           46 :       tree _q20 = _p0_pops[0];
    7655           46 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7656              :         {
    7657            4 :           if (tree_truth_valued_p (_p1))
    7658              :             {
    7659            4 :               {
    7660            4 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    7661            4 :                 tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7662            4 :                 if (res) return res;
    7663              :               }
    7664              :             }
    7665              :         }
    7666              :     }
    7667              : }
    7668       898672 : {
    7669       898672 :   tree _p0_pops[1];
    7670       898672 :   if (tree_nop_convert (_p0, _p0_pops))
    7671              :     {
    7672       504030 :       tree _q20 = _p0_pops[0];
    7673       504030 :       switch (TREE_CODE (_q20))
    7674              :         {
    7675           24 :         case BIT_NOT_EXPR:
    7676           24 :           {
    7677           24 :             tree _q30 = TREE_OPERAND (_q20, 0);
    7678           24 :             {
    7679           24 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1 };
    7680           24 :               tree res = generic_simplify_37 (loc, type, _p0, _p1, captures);
    7681           24 :               if (res) return res;
    7682              :             }
    7683            0 :             break;
    7684              :           }
    7685           20 :         case MULT_EXPR:
    7686           20 :           {
    7687           20 :             tree _q30 = TREE_OPERAND (_q20, 0);
    7688           20 :             tree _q31 = TREE_OPERAND (_q20, 1);
    7689           20 :             {
    7690           20 :               tree _q30_pops[1];
    7691           20 :               if (tree_nop_convert (_q30, _q30_pops))
    7692              :                 {
    7693            0 :                   tree _q40 = _q30_pops[0];
    7694            0 :                   switch (TREE_CODE (_q31))
    7695              :                     {
    7696            0 :                     case INTEGER_CST:
    7697            0 :                       {
    7698            0 :                         switch (TREE_CODE (_p1))
    7699              :                           {
    7700            0 :                           case LSHIFT_EXPR:
    7701            0 :                             {
    7702            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
    7703            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
    7704            0 :                               if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    7705              :                                 {
    7706            0 :                                   switch (TREE_CODE (_q71))
    7707              :                                     {
    7708            0 :                                     case INTEGER_CST:
    7709            0 :                                       {
    7710            0 :                                         {
    7711            0 :                                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q71 };
    7712            0 :                                           tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7713            0 :                                           if (res) return res;
    7714              :                                         }
    7715            0 :                                         break;
    7716              :                                       }
    7717              :                                     default:;
    7718              :                                     }
    7719              :                                 }
    7720              :                               break;
    7721              :                             }
    7722            0 :                           default:;
    7723              :                           }
    7724            0 :                       {
    7725            0 :                         tree _p1_pops[1];
    7726            0 :                         if (tree_nop_convert (_p1, _p1_pops))
    7727              :                           {
    7728            0 :                             tree _q70 = _p1_pops[0];
    7729            0 :                             switch (TREE_CODE (_q70))
    7730              :                               {
    7731            0 :                               case MULT_EXPR:
    7732            0 :                                 {
    7733            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7734            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7735            0 :                                   {
    7736            0 :                                     tree _q80_pops[1];
    7737            0 :                                     if (tree_nop_convert (_q80, _q80_pops))
    7738              :                                       {
    7739            0 :                                         tree _q90 = _q80_pops[0];
    7740            0 :                                         switch (TREE_CODE (_q81))
    7741              :                                           {
    7742            0 :                                           case INTEGER_CST:
    7743            0 :                                             {
    7744            0 :                                               {
    7745            0 :                                                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q70, _q90, _q81 };
    7746            0 :                                                 tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7747            0 :                                                 if (res) return res;
    7748              :                                               }
    7749            0 :                                               break;
    7750              :                                             }
    7751              :                                           default:;
    7752              :                                           }
    7753              :                                       }
    7754              :                                   }
    7755            0 :                                   break;
    7756              :                                 }
    7757              :                               default:;
    7758              :                               }
    7759              :                           }
    7760              :                       }
    7761            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7762              :                           {
    7763            0 :                             {
    7764            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    7765            0 :                               tree res = generic_simplify_40 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7766            0 :                               if (res) return res;
    7767              :                             }
    7768              :                           }
    7769              :                         break;
    7770              :                       }
    7771              :                     default:;
    7772              :                     }
    7773              :                 }
    7774              :             }
    7775           20 :             break;
    7776              :           }
    7777              :         default:;
    7778              :         }
    7779              :     }
    7780              : }
    7781       898648 : if (tree_truth_valued_p (_p0))
    7782              :   {
    7783       133823 :     {
    7784       133823 :       tree _p1_pops[1];
    7785       133823 :       if (tree_logical_inverted_value (_p1, _p1_pops))
    7786              :         {
    7787            7 :           tree _q30 = _p1_pops[0];
    7788            7 :           if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7789              :             {
    7790            0 :               {
    7791            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7792            0 :                 tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7793            0 :                 if (res) return res;
    7794              :               }
    7795              :             }
    7796              :         }
    7797              :     }
    7798              :   }
    7799       898648 :   switch (TREE_CODE (_p1))
    7800              :     {
    7801          288 :     case BIT_NOT_EXPR:
    7802          288 :       {
    7803          288 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7804          288 :         {
    7805          288 :           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    7806          288 :           tree res = generic_simplify_27 (loc, type, _p0, _p1, captures);
    7807          288 :           if (res) return res;
    7808              :         }
    7809            0 :         break;
    7810              :       }
    7811       898360 :     default:;
    7812              :     }
    7813       898360 : {
    7814       898360 :   tree _p1_pops[1];
    7815       898360 :   if (tree_nop_convert (_p1, _p1_pops))
    7816              :     {
    7817       630373 :       tree _q30 = _p1_pops[0];
    7818       630373 :       switch (TREE_CODE (_q30))
    7819              :         {
    7820            0 :         case BIT_NOT_EXPR:
    7821            0 :           {
    7822            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    7823            0 :             {
    7824            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    7825            0 :               tree res = generic_simplify_37 (loc, type, _p0, _p1, captures);
    7826            0 :               if (res) return res;
    7827              :             }
    7828            0 :             break;
    7829              :           }
    7830              :         default:;
    7831              :         }
    7832              :     }
    7833              : }
    7834       898360 :   switch (TREE_CODE (_p0))
    7835              :     {
    7836         1131 :     case BIT_IOR_EXPR:
    7837         1131 :       {
    7838         1131 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7839         1131 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7840         1131 :         switch (TREE_CODE (_q21))
    7841              :           {
    7842           23 :           case INTEGER_CST:
    7843           23 :             {
    7844           23 :               switch (TREE_CODE (_p1))
    7845              :                 {
    7846           23 :                 case INTEGER_CST:
    7847           23 :                   {
    7848           23 :                     {
    7849           23 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7850           23 :                       tree res = generic_simplify_41 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_XOR_EXPR);
    7851           23 :                       if (res) return res;
    7852              :                     }
    7853           23 :                     break;
    7854              :                   }
    7855              :                 default:;
    7856              :                 }
    7857              :               break;
    7858              :             }
    7859              :           default:;
    7860              :           }
    7861              :         break;
    7862              :       }
    7863           90 :     case LT_EXPR:
    7864           90 :       {
    7865           90 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7866           90 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7867           90 :         switch (TREE_CODE (_p1))
    7868              :           {
    7869            0 :           case GT_EXPR:
    7870            0 :             {
    7871            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7872            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7873            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7874              :                 {
    7875            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7876              :                     {
    7877            0 :                       {
    7878            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7879            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7880            0 :                         const enum tree_code cmp2 = GT_EXPR;
    7881            0 :                         const enum tree_code rcmp = NE_EXPR;
    7882            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7883            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7884            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7885            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7886              : )
    7887              :                           {
    7888            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1169;
    7889            0 :                             {
    7890            0 :                               tree res_op0;
    7891            0 :                               res_op0 = captures[0];
    7892            0 :                               tree res_op1;
    7893            0 :                               res_op1 = captures[1];
    7894            0 :                               tree _r;
    7895            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7896            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    7897            0 :                               return _r;
    7898              :                             }
    7899            0 : next_after_fail1169:;
    7900              :                           }
    7901              :                       }
    7902              :                     }
    7903              :                 }
    7904              :               break;
    7905              :             }
    7906            0 :           case EQ_EXPR:
    7907            0 :             {
    7908            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7909            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7910            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7911              :                 {
    7912            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7913              :                     {
    7914            0 :                       {
    7915            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7916            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7917            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    7918            0 :                         const enum tree_code rcmp = LE_EXPR;
    7919            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7920            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7921            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7922            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7923              : )
    7924              :                           {
    7925            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1170;
    7926            0 :                             {
    7927            0 :                               tree res_op0;
    7928            0 :                               res_op0 = captures[0];
    7929            0 :                               tree res_op1;
    7930            0 :                               res_op1 = captures[1];
    7931            0 :                               tree _r;
    7932            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7933            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    7934            0 :                               return _r;
    7935              :                             }
    7936            0 : next_after_fail1170:;
    7937              :                           }
    7938              :                       }
    7939              :                     }
    7940              :                 }
    7941              :               break;
    7942              :             }
    7943            0 :           case NE_EXPR:
    7944            0 :             {
    7945            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7946            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7947            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7948              :                 {
    7949            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7950              :                     {
    7951            0 :                       {
    7952            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7953            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7954            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7955            0 :                         const enum tree_code rcmp = GT_EXPR;
    7956            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7957            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7958            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7959            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7960              : )
    7961              :                           {
    7962            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1171;
    7963            0 :                             {
    7964            0 :                               tree res_op0;
    7965            0 :                               res_op0 = captures[0];
    7966            0 :                               tree res_op1;
    7967            0 :                               res_op1 = captures[1];
    7968            0 :                               tree _r;
    7969            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7970            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    7971            0 :                               return _r;
    7972              :                             }
    7973            0 : next_after_fail1171:;
    7974              :                           }
    7975              :                       }
    7976              :                     }
    7977              :                 }
    7978              :               break;
    7979              :             }
    7980              :           default:;
    7981              :           }
    7982              :         break;
    7983              :       }
    7984           85 :     case LE_EXPR:
    7985           85 :       {
    7986           85 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7987           85 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7988           85 :         switch (TREE_CODE (_p1))
    7989              :           {
    7990            0 :           case GE_EXPR:
    7991            0 :             {
    7992            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7993            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7994            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7995              :                 {
    7996            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7997              :                     {
    7998            0 :                       {
    7999            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8000            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8001            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8002            0 :                         const enum tree_code rcmp = NE_EXPR;
    8003            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8004            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8005            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8006            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8007              : )
    8008              :                           {
    8009            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1172;
    8010            0 :                             {
    8011            0 :                               tree res_op0;
    8012            0 :                               res_op0 = captures[0];
    8013            0 :                               tree res_op1;
    8014            0 :                               res_op1 = captures[1];
    8015            0 :                               tree _r;
    8016            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8017            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8018            0 :                               return _r;
    8019              :                             }
    8020            0 : next_after_fail1172:;
    8021              :                           }
    8022              :                       }
    8023              :                     }
    8024              :                 }
    8025              :               break;
    8026              :             }
    8027            0 :           case EQ_EXPR:
    8028            0 :             {
    8029            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8030            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8031            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8032              :                 {
    8033            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8034              :                     {
    8035            0 :                       {
    8036            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8037            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8038            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8039            0 :                         const enum tree_code rcmp = LT_EXPR;
    8040            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8041            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8042            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8043            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8044              : )
    8045              :                           {
    8046            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1173;
    8047            0 :                             {
    8048            0 :                               tree res_op0;
    8049            0 :                               res_op0 = captures[0];
    8050            0 :                               tree res_op1;
    8051            0 :                               res_op1 = captures[1];
    8052            0 :                               tree _r;
    8053            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8054            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8055            0 :                               return _r;
    8056              :                             }
    8057            0 : next_after_fail1173:;
    8058              :                           }
    8059              :                       }
    8060              :                     }
    8061              :                 }
    8062              :               break;
    8063              :             }
    8064            0 :           case NE_EXPR:
    8065            0 :             {
    8066            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8067            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8068            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8069              :                 {
    8070            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8071              :                     {
    8072            0 :                       {
    8073            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8074            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8075            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8076            0 :                         const enum tree_code rcmp = GE_EXPR;
    8077            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8078            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8079            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8080            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8081              : )
    8082              :                           {
    8083            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1174;
    8084            0 :                             {
    8085            0 :                               tree res_op0;
    8086            0 :                               res_op0 = captures[0];
    8087            0 :                               tree res_op1;
    8088            0 :                               res_op1 = captures[1];
    8089            0 :                               tree _r;
    8090            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8091            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8092            0 :                               return _r;
    8093              :                             }
    8094            0 : next_after_fail1174:;
    8095              :                           }
    8096              :                       }
    8097              :                     }
    8098              :                 }
    8099              :               break;
    8100              :             }
    8101              :           default:;
    8102              :           }
    8103              :         break;
    8104              :       }
    8105          100 :     case GT_EXPR:
    8106          100 :       {
    8107          100 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8108          100 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8109          100 :         switch (TREE_CODE (_p1))
    8110              :           {
    8111            0 :           case GT_EXPR:
    8112            0 :             {
    8113            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8114            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8115            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8116              :                 {
    8117            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8118              :                     {
    8119            0 :                       {
    8120            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8121            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8122            0 :                         const enum tree_code cmp2 = GT_EXPR;
    8123            0 :                         const enum tree_code rcmp = NE_EXPR;
    8124            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8125            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8126            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8127            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8128              : )
    8129              :                           {
    8130            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1175;
    8131            0 :                             {
    8132            0 :                               tree res_op0;
    8133            0 :                               res_op0 = captures[0];
    8134            0 :                               tree res_op1;
    8135            0 :                               res_op1 = captures[1];
    8136            0 :                               tree _r;
    8137            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8138            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8139            0 :                               return _r;
    8140              :                             }
    8141            0 : next_after_fail1175:;
    8142              :                           }
    8143              :                       }
    8144            0 :                       {
    8145            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8146            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8147            0 :                         const enum tree_code cmp2 = GT_EXPR;
    8148            0 :                         const enum tree_code rcmp = NE_EXPR;
    8149            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8150            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8151            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8152            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8153              : )
    8154              :                           {
    8155            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1176;
    8156            0 :                             {
    8157            0 :                               tree res_op0;
    8158            0 :                               res_op0 = captures[0];
    8159            0 :                               tree res_op1;
    8160            0 :                               res_op1 = captures[1];
    8161            0 :                               tree _r;
    8162            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8163            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8164            0 :                               return _r;
    8165              :                             }
    8166            0 : next_after_fail1176:;
    8167              :                           }
    8168              :                       }
    8169              :                     }
    8170              :                 }
    8171              :               break;
    8172              :             }
    8173            0 :           case EQ_EXPR:
    8174            0 :             {
    8175            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8176            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8177            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8178              :                 {
    8179            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8180              :                     {
    8181            0 :                       {
    8182            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8183            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8184            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8185            0 :                         const enum tree_code rcmp = LE_EXPR;
    8186            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8187            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8188            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8189            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8190              : )
    8191              :                           {
    8192            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1177;
    8193            0 :                             {
    8194            0 :                               tree res_op0;
    8195            0 :                               res_op0 = captures[0];
    8196            0 :                               tree res_op1;
    8197            0 :                               res_op1 = captures[1];
    8198            0 :                               tree _r;
    8199            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8200            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8201            0 :                               return _r;
    8202              :                             }
    8203            0 : next_after_fail1177:;
    8204              :                           }
    8205              :                       }
    8206              :                     }
    8207              :                 }
    8208              :               break;
    8209              :             }
    8210           12 :           case NE_EXPR:
    8211           12 :             {
    8212           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8213           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8214           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8215              :                 {
    8216            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8217              :                     {
    8218            0 :                       {
    8219            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8220            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8221            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8222            0 :                         const enum tree_code rcmp = GT_EXPR;
    8223            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8224            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8225            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8226            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8227              : )
    8228              :                           {
    8229            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1178;
    8230            0 :                             {
    8231            0 :                               tree res_op0;
    8232            0 :                               res_op0 = captures[0];
    8233            0 :                               tree res_op1;
    8234            0 :                               res_op1 = captures[1];
    8235            0 :                               tree _r;
    8236            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8237            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8238            0 :                               return _r;
    8239              :                             }
    8240            0 : next_after_fail1178:;
    8241              :                           }
    8242              :                       }
    8243              :                     }
    8244              :                 }
    8245              :               break;
    8246              :             }
    8247            0 :           case LT_EXPR:
    8248            0 :             {
    8249            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8250            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8251            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8252              :                 {
    8253            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8254              :                     {
    8255            0 :                       {
    8256            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8257            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8258            0 :                         const enum tree_code cmp2 = GT_EXPR;
    8259            0 :                         const enum tree_code rcmp = NE_EXPR;
    8260            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8261            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8262            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8263            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8264              : )
    8265              :                           {
    8266            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1179;
    8267            0 :                             {
    8268            0 :                               tree res_op0;
    8269            0 :                               res_op0 = captures[0];
    8270            0 :                               tree res_op1;
    8271            0 :                               res_op1 = captures[1];
    8272            0 :                               tree _r;
    8273            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8274            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8275            0 :                               return _r;
    8276              :                             }
    8277            0 : next_after_fail1179:;
    8278              :                           }
    8279              :                       }
    8280              :                     }
    8281              :                 }
    8282              :               break;
    8283              :             }
    8284              :           default:;
    8285              :           }
    8286              :         break;
    8287              :       }
    8288           62 :     case GE_EXPR:
    8289           62 :       {
    8290           62 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8291           62 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8292           62 :         switch (TREE_CODE (_p1))
    8293              :           {
    8294            1 :           case GE_EXPR:
    8295            1 :             {
    8296            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8297            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8298            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8299              :                 {
    8300            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8301              :                     {
    8302            0 :                       {
    8303            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8304            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8305            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8306            0 :                         const enum tree_code rcmp = NE_EXPR;
    8307            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8308            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8309            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8310            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8311              : )
    8312              :                           {
    8313            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1180;
    8314            0 :                             {
    8315            0 :                               tree res_op0;
    8316            0 :                               res_op0 = captures[0];
    8317            0 :                               tree res_op1;
    8318            0 :                               res_op1 = captures[1];
    8319            0 :                               tree _r;
    8320            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8321            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8322            0 :                               return _r;
    8323              :                             }
    8324            0 : next_after_fail1180:;
    8325              :                           }
    8326              :                       }
    8327            0 :                       {
    8328            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8329            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8330            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8331            0 :                         const enum tree_code rcmp = NE_EXPR;
    8332            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8333            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8334            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8335            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8336              : )
    8337              :                           {
    8338            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1181;
    8339            0 :                             {
    8340            0 :                               tree res_op0;
    8341            0 :                               res_op0 = captures[0];
    8342            0 :                               tree res_op1;
    8343            0 :                               res_op1 = captures[1];
    8344            0 :                               tree _r;
    8345            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8346            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8347            0 :                               return _r;
    8348              :                             }
    8349            0 : next_after_fail1181:;
    8350              :                           }
    8351              :                       }
    8352              :                     }
    8353              :                 }
    8354              :               break;
    8355              :             }
    8356            0 :           case EQ_EXPR:
    8357            0 :             {
    8358            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8359            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8360            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8361              :                 {
    8362            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8363              :                     {
    8364            0 :                       {
    8365            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8366            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8367            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8368            0 :                         const enum tree_code rcmp = LT_EXPR;
    8369            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8370            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8371            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8372            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8373              : )
    8374              :                           {
    8375            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1182;
    8376            0 :                             {
    8377            0 :                               tree res_op0;
    8378            0 :                               res_op0 = captures[0];
    8379            0 :                               tree res_op1;
    8380            0 :                               res_op1 = captures[1];
    8381            0 :                               tree _r;
    8382            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8383            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8384            0 :                               return _r;
    8385              :                             }
    8386            0 : next_after_fail1182:;
    8387              :                           }
    8388              :                       }
    8389              :                     }
    8390              :                 }
    8391              :               break;
    8392              :             }
    8393            8 :           case NE_EXPR:
    8394            8 :             {
    8395            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8396            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8397            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8398              :                 {
    8399            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8400              :                     {
    8401            0 :                       {
    8402            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8403            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8404            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8405            0 :                         const enum tree_code rcmp = GE_EXPR;
    8406            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8407            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8408            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8409            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8410              : )
    8411              :                           {
    8412            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1183;
    8413            0 :                             {
    8414            0 :                               tree res_op0;
    8415            0 :                               res_op0 = captures[0];
    8416            0 :                               tree res_op1;
    8417            0 :                               res_op1 = captures[1];
    8418            0 :                               tree _r;
    8419            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8420            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8421            0 :                               return _r;
    8422              :                             }
    8423            0 : next_after_fail1183:;
    8424              :                           }
    8425              :                       }
    8426              :                     }
    8427              :                 }
    8428              :               break;
    8429              :             }
    8430            0 :           case LE_EXPR:
    8431            0 :             {
    8432            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8433            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8434            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8435              :                 {
    8436            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8437              :                     {
    8438            0 :                       {
    8439            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8440            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8441            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8442            0 :                         const enum tree_code rcmp = NE_EXPR;
    8443            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8444            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8445            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8446            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8447              : )
    8448              :                           {
    8449            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1184;
    8450            0 :                             {
    8451            0 :                               tree res_op0;
    8452            0 :                               res_op0 = captures[0];
    8453            0 :                               tree res_op1;
    8454            0 :                               res_op1 = captures[1];
    8455            0 :                               tree _r;
    8456            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8457            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8458            0 :                               return _r;
    8459              :                             }
    8460            0 : next_after_fail1184:;
    8461              :                           }
    8462              :                       }
    8463              :                     }
    8464              :                 }
    8465              :               break;
    8466              :             }
    8467              :           default:;
    8468              :           }
    8469              :         break;
    8470              :       }
    8471          119 :     case EQ_EXPR:
    8472          119 :       {
    8473          119 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8474          119 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8475          119 :         switch (TREE_CODE (_p1))
    8476              :           {
    8477            0 :           case LT_EXPR:
    8478            0 :             {
    8479            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8480            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8481            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8482              :                 {
    8483            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8484              :                     {
    8485            0 :                       {
    8486            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8487            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8488            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8489            0 :                         const enum tree_code rcmp = LE_EXPR;
    8490            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8491            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8492            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8493            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8494              : )
    8495              :                           {
    8496            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1185;
    8497            0 :                             {
    8498            0 :                               tree res_op0;
    8499            0 :                               res_op0 = captures[0];
    8500            0 :                               tree res_op1;
    8501            0 :                               res_op1 = captures[1];
    8502            0 :                               tree _r;
    8503            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8504            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8505            0 :                               return _r;
    8506              :                             }
    8507            0 : next_after_fail1185:;
    8508              :                           }
    8509              :                       }
    8510              :                     }
    8511              :                 }
    8512              :               break;
    8513              :             }
    8514            0 :           case LE_EXPR:
    8515            0 :             {
    8516            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8517            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8518            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8519              :                 {
    8520            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8521              :                     {
    8522            0 :                       {
    8523            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8524            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8525            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8526            0 :                         const enum tree_code rcmp = LT_EXPR;
    8527            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8528            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8529            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8530            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8531              : )
    8532              :                           {
    8533            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1186;
    8534            0 :                             {
    8535            0 :                               tree res_op0;
    8536            0 :                               res_op0 = captures[0];
    8537            0 :                               tree res_op1;
    8538            0 :                               res_op1 = captures[1];
    8539            0 :                               tree _r;
    8540            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8541            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8542            0 :                               return _r;
    8543              :                             }
    8544            0 : next_after_fail1186:;
    8545              :                           }
    8546              :                       }
    8547              :                     }
    8548              :                 }
    8549              :               break;
    8550              :             }
    8551            0 :           case GT_EXPR:
    8552            0 :             {
    8553            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8554            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8555            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8556              :                 {
    8557            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8558              :                     {
    8559            0 :                       {
    8560            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8561            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8562            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8563            0 :                         const enum tree_code rcmp = LE_EXPR;
    8564            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8565            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8566            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8567            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8568              : )
    8569              :                           {
    8570            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1187;
    8571            0 :                             {
    8572            0 :                               tree res_op0;
    8573            0 :                               res_op0 = captures[0];
    8574            0 :                               tree res_op1;
    8575            0 :                               res_op1 = captures[1];
    8576            0 :                               tree _r;
    8577            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8578            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8579            0 :                               return _r;
    8580              :                             }
    8581            0 : next_after_fail1187:;
    8582              :                           }
    8583              :                       }
    8584              :                     }
    8585              :                 }
    8586              :               break;
    8587              :             }
    8588            8 :           case GE_EXPR:
    8589            8 :             {
    8590            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8591            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8592            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8593              :                 {
    8594            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8595              :                     {
    8596            0 :                       {
    8597            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8598            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8599            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8600            0 :                         const enum tree_code rcmp = LT_EXPR;
    8601            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8602            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8603            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8604            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8605              : )
    8606              :                           {
    8607            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1188;
    8608            0 :                             {
    8609            0 :                               tree res_op0;
    8610            0 :                               res_op0 = captures[0];
    8611            0 :                               tree res_op1;
    8612            0 :                               res_op1 = captures[1];
    8613            0 :                               tree _r;
    8614            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8615            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8616            0 :                               return _r;
    8617              :                             }
    8618            0 : next_after_fail1188:;
    8619              :                           }
    8620              :                       }
    8621              :                     }
    8622              :                 }
    8623              :               break;
    8624              :             }
    8625              :           default:;
    8626              :           }
    8627              :         break;
    8628              :       }
    8629          113 :     case NE_EXPR:
    8630          113 :       {
    8631          113 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8632          113 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8633          113 :         switch (TREE_CODE (_p1))
    8634              :           {
    8635            0 :           case LT_EXPR:
    8636            0 :             {
    8637            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8638            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8639            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8640              :                 {
    8641            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8642              :                     {
    8643            0 :                       {
    8644            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8645            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8646            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8647            0 :                         const enum tree_code rcmp = GT_EXPR;
    8648            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8649            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8650            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8651            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8652              : )
    8653              :                           {
    8654            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1189;
    8655            0 :                             {
    8656            0 :                               tree res_op0;
    8657            0 :                               res_op0 = captures[0];
    8658            0 :                               tree res_op1;
    8659            0 :                               res_op1 = captures[1];
    8660            0 :                               tree _r;
    8661            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8662            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8663            0 :                               return _r;
    8664              :                             }
    8665            0 : next_after_fail1189:;
    8666              :                           }
    8667              :                       }
    8668              :                     }
    8669              :                 }
    8670              :               break;
    8671              :             }
    8672            0 :           case LE_EXPR:
    8673            0 :             {
    8674            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8675            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8676            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8677              :                 {
    8678            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8679              :                     {
    8680            0 :                       {
    8681            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8682            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8683            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8684            0 :                         const enum tree_code rcmp = GE_EXPR;
    8685            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8686            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8687            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8688            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8689              : )
    8690              :                           {
    8691            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1190;
    8692            0 :                             {
    8693            0 :                               tree res_op0;
    8694            0 :                               res_op0 = captures[0];
    8695            0 :                               tree res_op1;
    8696            0 :                               res_op1 = captures[1];
    8697            0 :                               tree _r;
    8698            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8699            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8700            0 :                               return _r;
    8701              :                             }
    8702            0 : next_after_fail1190:;
    8703              :                           }
    8704              :                       }
    8705              :                     }
    8706              :                 }
    8707              :               break;
    8708              :             }
    8709            0 :           case GT_EXPR:
    8710            0 :             {
    8711            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8712            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8713            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8714              :                 {
    8715            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8716              :                     {
    8717            0 :                       {
    8718            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8719            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8720            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8721            0 :                         const enum tree_code rcmp = GT_EXPR;
    8722            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8723            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8724            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8725            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8726              : )
    8727              :                           {
    8728            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1191;
    8729            0 :                             {
    8730            0 :                               tree res_op0;
    8731            0 :                               res_op0 = captures[0];
    8732            0 :                               tree res_op1;
    8733            0 :                               res_op1 = captures[1];
    8734            0 :                               tree _r;
    8735            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8736            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8737            0 :                               return _r;
    8738              :                             }
    8739            0 : next_after_fail1191:;
    8740              :                           }
    8741              :                       }
    8742              :                     }
    8743              :                 }
    8744              :               break;
    8745              :             }
    8746            6 :           case GE_EXPR:
    8747            6 :             {
    8748            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8749            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8750            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8751              :                 {
    8752            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8753              :                     {
    8754            0 :                       {
    8755            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8756            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8757            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8758            0 :                         const enum tree_code rcmp = GE_EXPR;
    8759            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8760            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8761            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8762            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8763              : )
    8764              :                           {
    8765            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1192;
    8766            0 :                             {
    8767            0 :                               tree res_op0;
    8768            0 :                               res_op0 = captures[0];
    8769            0 :                               tree res_op1;
    8770            0 :                               res_op1 = captures[1];
    8771            0 :                               tree _r;
    8772            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8773            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    8774            0 :                               return _r;
    8775              :                             }
    8776            0 : next_after_fail1192:;
    8777              :                           }
    8778              :                       }
    8779              :                     }
    8780              :                 }
    8781              :               break;
    8782              :             }
    8783              :           default:;
    8784              :           }
    8785              :         break;
    8786              :       }
    8787          523 :     case MULT_EXPR:
    8788          523 :       {
    8789          523 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8790          523 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8791          523 :         switch (TREE_CODE (_q21))
    8792              :           {
    8793          498 :           case INTEGER_CST:
    8794          498 :             {
    8795          498 :               switch (TREE_CODE (_p1))
    8796              :                 {
    8797           12 :                 case MULT_EXPR:
    8798           12 :                   {
    8799           12 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8800           12 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8801           12 :                     switch (TREE_CODE (_q51))
    8802              :                       {
    8803           12 :                       case INTEGER_CST:
    8804           12 :                         {
    8805           12 :                           {
    8806           12 :                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50, _q51 };
    8807           12 :                             tree res = generic_simplify_42 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8808           12 :                             if (res) return res;
    8809              :                           }
    8810           12 :                           break;
    8811              :                         }
    8812              :                       default:;
    8813              :                       }
    8814              :                     break;
    8815              :                   }
    8816            0 :                 case LSHIFT_EXPR:
    8817            0 :                   {
    8818            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8819            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8820            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8821              :                       {
    8822            0 :                         switch (TREE_CODE (_q51))
    8823              :                           {
    8824            0 :                           case INTEGER_CST:
    8825            0 :                             {
    8826            0 :                               {
    8827            0 :                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q51 };
    8828            0 :                                 tree res = generic_simplify_43 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8829            0 :                                 if (res) return res;
    8830              :                               }
    8831            0 :                               break;
    8832              :                             }
    8833              :                           default:;
    8834              :                           }
    8835              :                       }
    8836              :                     break;
    8837              :                   }
    8838          498 :                 default:;
    8839              :                 }
    8840          498 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8841              :                 {
    8842           18 :                   {
    8843           18 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    8844           18 :                     tree res = generic_simplify_44 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8845           18 :                     if (res) return res;
    8846              :                   }
    8847              :                 }
    8848              :               break;
    8849              :             }
    8850          523 :           default:;
    8851              :           }
    8852          523 :         switch (TREE_CODE (_q20))
    8853              :           {
    8854            0 :           case BIT_XOR_EXPR:
    8855            0 :             {
    8856            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8857            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8858            0 :               if (tree_zero_one_valued_p (_q21))
    8859              :                 {
    8860            0 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8861              :                     {
    8862            0 :                       {
    8863            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    8864            0 :                         tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    8865            0 :                         if (res) return res;
    8866              :                       }
    8867              :                     }
    8868            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    8869              :                     {
    8870            0 :                       {
    8871            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
    8872            0 :                         tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    8873            0 :                         if (res) return res;
    8874              :                       }
    8875              :                     }
    8876              :                 }
    8877              :               break;
    8878              :             }
    8879          523 :           default:;
    8880              :           }
    8881          523 :       if (tree_zero_one_valued_p (_q20))
    8882              :         {
    8883            8 :           switch (TREE_CODE (_q21))
    8884              :             {
    8885            2 :             case BIT_XOR_EXPR:
    8886            2 :               {
    8887            2 :                 tree _q40 = TREE_OPERAND (_q21, 0);
    8888            2 :                 tree _q41 = TREE_OPERAND (_q21, 1);
    8889            2 :                 if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    8890              :                   {
    8891            2 :                     {
    8892            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
    8893            2 :                       tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    8894            2 :                       if (res) return res;
    8895              :                     }
    8896              :                   }
    8897            0 :                 if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
    8898              :                   {
    8899            0 :                     {
    8900            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    8901            0 :                       tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    8902            0 :                       if (res) return res;
    8903              :                     }
    8904              :                   }
    8905              :                 break;
    8906              :               }
    8907              :             default:;
    8908              :             }
    8909              :         }
    8910              :         break;
    8911              :       }
    8912         2503 :     case LSHIFT_EXPR:
    8913         2503 :       {
    8914         2503 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8915         2503 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8916         2503 :         switch (TREE_CODE (_q21))
    8917              :           {
    8918         1122 :           case INTEGER_CST:
    8919         1122 :             {
    8920         1122 :               switch (TREE_CODE (_p1))
    8921              :                 {
    8922            0 :                 case MULT_EXPR:
    8923            0 :                   {
    8924            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8925            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8926            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8927              :                       {
    8928            0 :                         switch (TREE_CODE (_q51))
    8929              :                           {
    8930            0 :                           case INTEGER_CST:
    8931            0 :                             {
    8932            0 :                               {
    8933            0 :                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q51, _p0, _q21 };
    8934            0 :                                 tree res = generic_simplify_43 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8935            0 :                                 if (res) return res;
    8936              :                               }
    8937            0 :                               break;
    8938              :                             }
    8939              :                           default:;
    8940              :                           }
    8941              :                       }
    8942              :                     break;
    8943              :                   }
    8944         1122 :                 default:;
    8945              :                 }
    8946         1122 :             {
    8947         1122 :               tree _p1_pops[1];
    8948         1122 :               if (tree_nop_convert (_p1, _p1_pops))
    8949              :                 {
    8950           23 :                   tree _q50 = _p1_pops[0];
    8951           23 :                   switch (TREE_CODE (_q50))
    8952              :                     {
    8953            0 :                     case MULT_EXPR:
    8954            0 :                       {
    8955            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    8956            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    8957            0 :                         {
    8958            0 :                           tree _q60_pops[1];
    8959            0 :                           if (tree_nop_convert (_q60, _q60_pops))
    8960              :                             {
    8961            0 :                               tree _q70 = _q60_pops[0];
    8962            0 :                               if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    8963              :                                 {
    8964            0 :                                   switch (TREE_CODE (_q61))
    8965              :                                     {
    8966            0 :                                     case INTEGER_CST:
    8967            0 :                                       {
    8968            0 :                                         {
    8969            0 :                                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q61, _p0, _q21 };
    8970            0 :                                           tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8971            0 :                                           if (res) return res;
    8972              :                                         }
    8973            0 :                                         break;
    8974              :                                       }
    8975              :                                     default:;
    8976              :                                     }
    8977              :                                 }
    8978              :                             }
    8979              :                         }
    8980            0 :                         break;
    8981              :                       }
    8982              :                     default:;
    8983              :                     }
    8984              :                 }
    8985              :             }
    8986         1122 :               break;
    8987              :             }
    8988              :           default:;
    8989              :           }
    8990              :         break;
    8991              :       }
    8992       898358 :     default:;
    8993              :     }
    8994       898358 :   switch (TREE_CODE (_p1))
    8995              :     {
    8996          243 :     case MULT_EXPR:
    8997          243 :       {
    8998          243 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8999          243 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9000          243 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9001              :           {
    9002            0 :             switch (TREE_CODE (_q31))
    9003              :               {
    9004            0 :               case INTEGER_CST:
    9005            0 :                 {
    9006            0 :                   {
    9007            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    9008            0 :                     tree res = generic_simplify_44 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9009            0 :                     if (res) return res;
    9010              :                   }
    9011            0 :                   break;
    9012              :                 }
    9013              :               default:;
    9014              :               }
    9015              :           }
    9016              :         break;
    9017              :       }
    9018       898358 :     default:;
    9019              :     }
    9020       898358 : {
    9021       898358 :   tree _p1_pops[1];
    9022       898358 :   if (tree_nop_convert (_p1, _p1_pops))
    9023              :     {
    9024       630373 :       tree _q30 = _p1_pops[0];
    9025       630373 :       switch (TREE_CODE (_q30))
    9026              :         {
    9027           17 :         case MULT_EXPR:
    9028           17 :           {
    9029           17 :             tree _q40 = TREE_OPERAND (_q30, 0);
    9030           17 :             tree _q41 = TREE_OPERAND (_q30, 1);
    9031           17 :             {
    9032           17 :               tree _q40_pops[1];
    9033           17 :               if (tree_nop_convert (_q40, _q40_pops))
    9034              :                 {
    9035            0 :                   tree _q50 = _q40_pops[0];
    9036            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9037              :                     {
    9038            0 :                       switch (TREE_CODE (_q41))
    9039              :                         {
    9040            0 :                         case INTEGER_CST:
    9041            0 :                           {
    9042            0 :                             {
    9043            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    9044            0 :                               tree res = generic_simplify_40 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9045            0 :                               if (res) return res;
    9046              :                             }
    9047            0 :                             break;
    9048              :                           }
    9049              :                         default:;
    9050              :                         }
    9051              :                     }
    9052              :                 }
    9053              :             }
    9054           17 :             break;
    9055              :           }
    9056              :         default:;
    9057              :         }
    9058              :     }
    9059              : }
    9060       898358 :   switch (TREE_CODE (_p0))
    9061              :     {
    9062         2503 :     case LSHIFT_EXPR:
    9063         2503 :       {
    9064         2503 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9065         2503 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9066         2503 :         switch (TREE_CODE (_q21))
    9067              :           {
    9068         1122 :           case INTEGER_CST:
    9069         1122 :             {
    9070         1122 :               switch (TREE_CODE (_p1))
    9071              :                 {
    9072            9 :                 case LSHIFT_EXPR:
    9073            9 :                   {
    9074            9 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9075            9 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    9076            9 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9077              :                       {
    9078            3 :                         switch (TREE_CODE (_q51))
    9079              :                           {
    9080            3 :                           case INTEGER_CST:
    9081            3 :                             {
    9082            3 :                               {
    9083            3 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9084            3 :                                 tree res = generic_simplify_46 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9085            3 :                                 if (res) return res;
    9086              :                               }
    9087            1 :                               break;
    9088              :                             }
    9089              :                           default:;
    9090              :                           }
    9091              :                       }
    9092              :                     break;
    9093              :                   }
    9094         1120 :                 default:;
    9095              :                 }
    9096         1120 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9097              :                 {
    9098           57 :                   {
    9099           57 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9100           57 :                     tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9101           57 :                     if (res) return res;
    9102              :                   }
    9103              :                 }
    9104              :               break;
    9105              :             }
    9106              :           default:;
    9107              :           }
    9108              :         break;
    9109              :       }
    9110       898356 :     default:;
    9111              :     }
    9112       898356 :   switch (TREE_CODE (_p1))
    9113              :     {
    9114         1982 :     case LSHIFT_EXPR:
    9115         1982 :       {
    9116         1982 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9117         1982 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9118         1982 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9119              :           {
    9120            3 :             switch (TREE_CODE (_q31))
    9121              :               {
    9122            3 :               case INTEGER_CST:
    9123            3 :                 {
    9124            3 :                   {
    9125            3 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    9126            3 :                     tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9127            3 :                     if (res) return res;
    9128              :                   }
    9129            0 :                   break;
    9130              :                 }
    9131              :               default:;
    9132              :               }
    9133              :           }
    9134              :         break;
    9135              :       }
    9136       898353 :     default:;
    9137              :     }
    9138       898353 :   switch (TREE_CODE (_p0))
    9139              :     {
    9140            0 :     case MIN_EXPR:
    9141            0 :       {
    9142            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9143            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9144            0 :         switch (TREE_CODE (_p1))
    9145              :           {
    9146            0 :           case MAX_EXPR:
    9147            0 :             {
    9148            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9149            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9150            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9151              :                 {
    9152            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9153              :                     {
    9154            0 :                       {
    9155            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9156            0 :                         if (!HONOR_NANS (captures[0])
    9157              : )
    9158              :                           {
    9159            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1193;
    9160            0 :                             {
    9161            0 :                               tree res_op0;
    9162            0 :                               res_op0 = captures[0];
    9163            0 :                               tree res_op1;
    9164            0 :                               res_op1 = captures[1];
    9165            0 :                               tree _r;
    9166            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9167            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9168            0 :                               return _r;
    9169              :                             }
    9170            0 : next_after_fail1193:;
    9171              :                           }
    9172              :                       }
    9173              :                     }
    9174              :                 }
    9175            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9176              :                 {
    9177            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9178              :                     {
    9179            0 :                       {
    9180            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9181            0 :                         if (!HONOR_NANS (captures[0])
    9182              : )
    9183              :                           {
    9184            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1194;
    9185            0 :                             {
    9186            0 :                               tree res_op0;
    9187            0 :                               res_op0 = captures[0];
    9188            0 :                               tree res_op1;
    9189            0 :                               res_op1 = captures[1];
    9190            0 :                               tree _r;
    9191            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9192            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9193            0 :                               return _r;
    9194              :                             }
    9195            0 : next_after_fail1194:;
    9196              :                           }
    9197              :                       }
    9198              :                     }
    9199              :                 }
    9200              :               break;
    9201              :             }
    9202              :           default:;
    9203              :           }
    9204              :         break;
    9205              :       }
    9206            0 :     case MAX_EXPR:
    9207            0 :       {
    9208            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9209            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9210            0 :         switch (TREE_CODE (_p1))
    9211              :           {
    9212            0 :           case MIN_EXPR:
    9213            0 :             {
    9214            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9215            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9216            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9217              :                 {
    9218            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9219              :                     {
    9220            0 :                       {
    9221            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9222            0 :                         if (!HONOR_NANS (captures[0])
    9223              : )
    9224              :                           {
    9225            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1195;
    9226            0 :                             {
    9227            0 :                               tree res_op0;
    9228            0 :                               res_op0 = captures[0];
    9229            0 :                               tree res_op1;
    9230            0 :                               res_op1 = captures[1];
    9231            0 :                               tree _r;
    9232            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9233            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9234            0 :                               return _r;
    9235              :                             }
    9236            0 : next_after_fail1195:;
    9237              :                           }
    9238              :                       }
    9239              :                     }
    9240              :                 }
    9241            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9242              :                 {
    9243            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9244              :                     {
    9245            0 :                       {
    9246            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9247            0 :                         if (!HONOR_NANS (captures[0])
    9248              : )
    9249              :                           {
    9250            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1196;
    9251            0 :                             {
    9252            0 :                               tree res_op0;
    9253            0 :                               res_op0 = captures[0];
    9254            0 :                               tree res_op1;
    9255            0 :                               res_op1 = captures[1];
    9256            0 :                               tree _r;
    9257            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9258            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9259            0 :                               return _r;
    9260              :                             }
    9261            0 : next_after_fail1196:;
    9262              :                           }
    9263              :                       }
    9264              :                     }
    9265              :                 }
    9266              :               break;
    9267              :             }
    9268              :           default:;
    9269              :           }
    9270              :         break;
    9271              :       }
    9272       898353 :     default:;
    9273              :     }
    9274       898353 :   switch (TREE_CODE (_p1))
    9275              :     {
    9276          243 :     case MULT_EXPR:
    9277          243 :       {
    9278          243 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9279          243 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9280          243 :         switch (TREE_CODE (_q30))
    9281              :           {
    9282            0 :           case BIT_XOR_EXPR:
    9283            0 :             {
    9284            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9285            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9286            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9287              :                 {
    9288            0 :                   if (tree_zero_one_valued_p (_q31))
    9289              :                     {
    9290            0 :                       {
    9291            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
    9292            0 :                         tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    9293            0 :                         if (res) return res;
    9294              :                       }
    9295              :                     }
    9296              :                 }
    9297            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    9298              :                 {
    9299            0 :                   if (tree_zero_one_valued_p (_q31))
    9300              :                     {
    9301            0 :                       {
    9302            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
    9303            0 :                         tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    9304            0 :                         if (res) return res;
    9305              :                       }
    9306              :                     }
    9307              :                 }
    9308              :               break;
    9309              :             }
    9310          243 :           default:;
    9311              :           }
    9312          243 :       if (tree_zero_one_valued_p (_q30))
    9313              :         {
    9314           17 :           switch (TREE_CODE (_q31))
    9315              :             {
    9316            0 :             case BIT_XOR_EXPR:
    9317            0 :               {
    9318            0 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    9319            0 :                 tree _q51 = TREE_OPERAND (_q31, 1);
    9320            0 :                 if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9321              :                   {
    9322            0 :                     {
    9323            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
    9324            0 :                       tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    9325            0 :                       if (res) return res;
    9326              :                     }
    9327              :                   }
    9328            0 :                 if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
    9329              :                   {
    9330            0 :                     {
    9331            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
    9332            0 :                       tree res = generic_simplify_45 (loc, type, _p0, _p1, captures);
    9333            0 :                       if (res) return res;
    9334              :                     }
    9335              :                   }
    9336              :                 break;
    9337              :               }
    9338              :             default:;
    9339              :             }
    9340              :         }
    9341              :         break;
    9342              :       }
    9343       898353 :     default:;
    9344              :     }
    9345       898353 :   switch (TREE_CODE (_p0))
    9346              :     {
    9347            1 :     case VEC_COND_EXPR:
    9348            1 :       {
    9349            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9350            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9351            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9352            1 :         switch (TREE_CODE (_p1))
    9353              :           {
    9354            0 :           case VEC_COND_EXPR:
    9355            0 :             {
    9356            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    9357            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    9358            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    9359            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9360              :                 {
    9361            0 :                   {
    9362            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    9363            0 :                     if (VECTOR_TYPE_P (type)
    9364            0 :  && (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
    9365              :  || types_match (type, TREE_TYPE (captures[2]))
    9366              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    9367              :  || (optimize_vectors_before_lowering_p ()
    9368              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    9369              : )
    9370              :                       {
    9371            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1197;
    9372            0 :                         {
    9373            0 :                           tree res_op0;
    9374            0 :                           res_op0 = captures[1];
    9375            0 :                           tree res_op1;
    9376            0 :                           {
    9377            0 :                             tree _o1[2], _r1;
    9378            0 :                             _o1[0] = captures[2];
    9379            0 :                             _o1[1] = captures[5];
    9380            0 :                             _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
    9381            0 :                             if (EXPR_P (_r1))
    9382            0 :                               goto next_after_fail1197;
    9383            0 :                             res_op1 = _r1;
    9384              :                           }
    9385            0 :                           tree res_op2;
    9386            0 :                           {
    9387            0 :                             tree _o1[2], _r1;
    9388            0 :                             _o1[0] = captures[3];
    9389            0 :                             _o1[1] = captures[6];
    9390            0 :                             _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
    9391            0 :                             if (EXPR_P (_r1))
    9392            0 :                               goto next_after_fail1197;
    9393            0 :                             res_op2 = _r1;
    9394              :                           }
    9395            0 :                           tree _r;
    9396            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9397            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    9398            0 :                           return _r;
    9399              :                         }
    9400            0 : next_after_fail1197:;
    9401              :                       }
    9402              :                   }
    9403              :                 }
    9404              :               break;
    9405              :             }
    9406            1 :           default:;
    9407              :           }
    9408            1 :         if (integer_minus_onep (_q21))
    9409              :           {
    9410            1 :             if (integer_zerop (_q22))
    9411              :               {
    9412            1 :                 switch (TREE_CODE (_p1))
    9413              :                   {
    9414            0 :                   case VEC_COND_EXPR:
    9415            0 :                     {
    9416            0 :                       tree _q60 = TREE_OPERAND (_p1, 0);
    9417            0 :                       tree _q61 = TREE_OPERAND (_p1, 1);
    9418            0 :                       tree _q62 = TREE_OPERAND (_p1, 2);
    9419            0 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9420              :                         {
    9421            0 :                           if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    9422              :                             {
    9423            0 :                               {
    9424            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9425            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9426            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9427              : )
    9428              :                                   {
    9429            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1198;
    9430            0 :                                     {
    9431            0 :                                       tree res_op0;
    9432            0 :                                       {
    9433            0 :                                         tree _o1[2], _r1;
    9434            0 :                                         _o1[0] = captures[0];
    9435            0 :                                         _o1[1] = captures[3];
    9436            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9437            0 :                                         res_op0 = _r1;
    9438              :                                       }
    9439            0 :                                       tree res_op1;
    9440            0 :                                       res_op1 = captures[1];
    9441            0 :                                       tree res_op2;
    9442            0 :                                       res_op2 = captures[2];
    9443            0 :                                       tree _r;
    9444            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9445            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9446            0 :                                       return _r;
    9447              :                                     }
    9448            0 : next_after_fail1198:;
    9449              :                                   }
    9450              :                               }
    9451            0 :                               {
    9452            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9453            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9454            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9455              : )
    9456              :                                   {
    9457            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1199;
    9458            0 :                                     {
    9459            0 :                                       tree res_op0;
    9460            0 :                                       {
    9461            0 :                                         tree _o1[2], _r1;
    9462            0 :                                         _o1[0] = captures[0];
    9463            0 :                                         _o1[1] = captures[3];
    9464            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9465            0 :                                         res_op0 = _r1;
    9466              :                                       }
    9467            0 :                                       tree res_op1;
    9468            0 :                                       res_op1 = captures[1];
    9469            0 :                                       tree res_op2;
    9470            0 :                                       res_op2 = captures[2];
    9471            0 :                                       tree _r;
    9472            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9473            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9474            0 :                                       return _r;
    9475              :                                     }
    9476            0 : next_after_fail1199:;
    9477              :                                   }
    9478              :                               }
    9479            0 :                               {
    9480            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9481            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9482            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9483              : )
    9484              :                                   {
    9485            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1200;
    9486            0 :                                     {
    9487            0 :                                       tree res_op0;
    9488            0 :                                       {
    9489            0 :                                         tree _o1[2], _r1;
    9490            0 :                                         _o1[0] = captures[0];
    9491            0 :                                         _o1[1] = captures[3];
    9492            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9493            0 :                                         res_op0 = _r1;
    9494              :                                       }
    9495            0 :                                       tree res_op1;
    9496            0 :                                       res_op1 = captures[1];
    9497            0 :                                       tree res_op2;
    9498            0 :                                       res_op2 = captures[2];
    9499            0 :                                       tree _r;
    9500            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9501            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9502            0 :                                       return _r;
    9503              :                                     }
    9504            0 : next_after_fail1200:;
    9505              :                                   }
    9506              :                               }
    9507            0 :                               {
    9508            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9509            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9510            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9511              : )
    9512              :                                   {
    9513            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1201;
    9514            0 :                                     {
    9515            0 :                                       tree res_op0;
    9516            0 :                                       {
    9517            0 :                                         tree _o1[2], _r1;
    9518            0 :                                         _o1[0] = captures[0];
    9519            0 :                                         _o1[1] = captures[3];
    9520            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9521            0 :                                         res_op0 = _r1;
    9522              :                                       }
    9523            0 :                                       tree res_op1;
    9524            0 :                                       res_op1 = captures[1];
    9525            0 :                                       tree res_op2;
    9526            0 :                                       res_op2 = captures[2];
    9527            0 :                                       tree _r;
    9528            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9529            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9530            0 :                                       return _r;
    9531              :                                     }
    9532            0 : next_after_fail1201:;
    9533              :                                   }
    9534              :                               }
    9535            0 :                               {
    9536            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9537            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9538            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9539              : )
    9540              :                                   {
    9541            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1202;
    9542            0 :                                     {
    9543            0 :                                       tree res_op0;
    9544            0 :                                       {
    9545            0 :                                         tree _o1[2], _r1;
    9546            0 :                                         _o1[0] = captures[0];
    9547            0 :                                         _o1[1] = captures[3];
    9548            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9549            0 :                                         res_op0 = _r1;
    9550              :                                       }
    9551            0 :                                       tree res_op1;
    9552            0 :                                       res_op1 = captures[1];
    9553            0 :                                       tree res_op2;
    9554            0 :                                       res_op2 = captures[2];
    9555            0 :                                       tree _r;
    9556            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9557            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9558            0 :                                       return _r;
    9559              :                                     }
    9560            0 : next_after_fail1202:;
    9561              :                                   }
    9562              :                               }
    9563            0 :                               {
    9564            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9565            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9566            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9567              : )
    9568              :                                   {
    9569            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1203;
    9570            0 :                                     {
    9571            0 :                                       tree res_op0;
    9572            0 :                                       {
    9573            0 :                                         tree _o1[2], _r1;
    9574            0 :                                         _o1[0] = captures[0];
    9575            0 :                                         _o1[1] = captures[3];
    9576            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9577            0 :                                         res_op0 = _r1;
    9578              :                                       }
    9579            0 :                                       tree res_op1;
    9580            0 :                                       res_op1 = captures[1];
    9581            0 :                                       tree res_op2;
    9582            0 :                                       res_op2 = captures[2];
    9583            0 :                                       tree _r;
    9584            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9585            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9586            0 :                                       return _r;
    9587              :                                     }
    9588            0 : next_after_fail1203:;
    9589              :                                   }
    9590              :                               }
    9591            0 :                               {
    9592            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9593            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9594            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9595              : )
    9596              :                                   {
    9597            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1204;
    9598            0 :                                     {
    9599            0 :                                       tree res_op0;
    9600            0 :                                       {
    9601            0 :                                         tree _o1[2], _r1;
    9602            0 :                                         _o1[0] = captures[0];
    9603            0 :                                         _o1[1] = captures[3];
    9604            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9605            0 :                                         res_op0 = _r1;
    9606              :                                       }
    9607            0 :                                       tree res_op1;
    9608            0 :                                       res_op1 = captures[1];
    9609            0 :                                       tree res_op2;
    9610            0 :                                       res_op2 = captures[2];
    9611            0 :                                       tree _r;
    9612            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9613            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9614            0 :                                       return _r;
    9615              :                                     }
    9616            0 : next_after_fail1204:;
    9617              :                                   }
    9618              :                               }
    9619            0 :                               {
    9620            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9621            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9622            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9623              : )
    9624              :                                   {
    9625            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1205;
    9626            0 :                                     {
    9627            0 :                                       tree res_op0;
    9628            0 :                                       {
    9629            0 :                                         tree _o1[2], _r1;
    9630            0 :                                         _o1[0] = captures[0];
    9631            0 :                                         _o1[1] = captures[3];
    9632            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9633            0 :                                         res_op0 = _r1;
    9634              :                                       }
    9635            0 :                                       tree res_op1;
    9636            0 :                                       res_op1 = captures[1];
    9637            0 :                                       tree res_op2;
    9638            0 :                                       res_op2 = captures[2];
    9639            0 :                                       tree _r;
    9640            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9641            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9642            0 :                                       return _r;
    9643              :                                     }
    9644            0 : next_after_fail1205:;
    9645              :                                   }
    9646              :                               }
    9647            0 :                               {
    9648            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9649            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9650            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9651              : )
    9652              :                                   {
    9653            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1206;
    9654            0 :                                     {
    9655            0 :                                       tree res_op0;
    9656            0 :                                       {
    9657            0 :                                         tree _o1[2], _r1;
    9658            0 :                                         _o1[0] = captures[0];
    9659            0 :                                         _o1[1] = captures[3];
    9660            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9661            0 :                                         res_op0 = _r1;
    9662              :                                       }
    9663            0 :                                       tree res_op1;
    9664            0 :                                       res_op1 = captures[1];
    9665            0 :                                       tree res_op2;
    9666            0 :                                       res_op2 = captures[2];
    9667            0 :                                       tree _r;
    9668            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9669            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9670            0 :                                       return _r;
    9671              :                                     }
    9672            0 : next_after_fail1206:;
    9673              :                                   }
    9674              :                               }
    9675            0 :                               {
    9676            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9677            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9678            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9679              : )
    9680              :                                   {
    9681            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1207;
    9682            0 :                                     {
    9683            0 :                                       tree res_op0;
    9684            0 :                                       {
    9685            0 :                                         tree _o1[2], _r1;
    9686            0 :                                         _o1[0] = captures[0];
    9687            0 :                                         _o1[1] = captures[3];
    9688            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9689            0 :                                         res_op0 = _r1;
    9690              :                                       }
    9691            0 :                                       tree res_op1;
    9692            0 :                                       res_op1 = captures[1];
    9693            0 :                                       tree res_op2;
    9694            0 :                                       res_op2 = captures[2];
    9695            0 :                                       tree _r;
    9696            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9697            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9698            0 :                                       return _r;
    9699              :                                     }
    9700            0 : next_after_fail1207:;
    9701              :                                   }
    9702              :                               }
    9703            0 :                               {
    9704            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9705            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9706            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9707              : )
    9708              :                                   {
    9709            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1208;
    9710            0 :                                     {
    9711            0 :                                       tree res_op0;
    9712            0 :                                       {
    9713            0 :                                         tree _o1[2], _r1;
    9714            0 :                                         _o1[0] = captures[0];
    9715            0 :                                         _o1[1] = captures[3];
    9716            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9717            0 :                                         res_op0 = _r1;
    9718              :                                       }
    9719            0 :                                       tree res_op1;
    9720            0 :                                       res_op1 = captures[1];
    9721            0 :                                       tree res_op2;
    9722            0 :                                       res_op2 = captures[2];
    9723            0 :                                       tree _r;
    9724            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9725            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9726            0 :                                       return _r;
    9727              :                                     }
    9728            0 : next_after_fail1208:;
    9729              :                                   }
    9730              :                               }
    9731            0 :                               {
    9732            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9733            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9734            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9735              : )
    9736              :                                   {
    9737            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1209;
    9738            0 :                                     {
    9739            0 :                                       tree res_op0;
    9740            0 :                                       {
    9741            0 :                                         tree _o1[2], _r1;
    9742            0 :                                         _o1[0] = captures[0];
    9743            0 :                                         _o1[1] = captures[3];
    9744            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9745            0 :                                         res_op0 = _r1;
    9746              :                                       }
    9747            0 :                                       tree res_op1;
    9748            0 :                                       res_op1 = captures[1];
    9749            0 :                                       tree res_op2;
    9750            0 :                                       res_op2 = captures[2];
    9751            0 :                                       tree _r;
    9752            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9753            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9754            0 :                                       return _r;
    9755              :                                     }
    9756            0 : next_after_fail1209:;
    9757              :                                   }
    9758              :                               }
    9759            0 :                               {
    9760            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9761            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9762            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9763              : )
    9764              :                                   {
    9765            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1210;
    9766            0 :                                     {
    9767            0 :                                       tree res_op0;
    9768            0 :                                       {
    9769            0 :                                         tree _o1[2], _r1;
    9770            0 :                                         _o1[0] = captures[0];
    9771            0 :                                         _o1[1] = captures[3];
    9772            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9773            0 :                                         res_op0 = _r1;
    9774              :                                       }
    9775            0 :                                       tree res_op1;
    9776            0 :                                       res_op1 = captures[1];
    9777            0 :                                       tree res_op2;
    9778            0 :                                       res_op2 = captures[2];
    9779            0 :                                       tree _r;
    9780            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9781            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9782            0 :                                       return _r;
    9783              :                                     }
    9784            0 : next_after_fail1210:;
    9785              :                                   }
    9786              :                               }
    9787            0 :                               {
    9788            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9789            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9790            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9791              : )
    9792              :                                   {
    9793            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1211;
    9794            0 :                                     {
    9795            0 :                                       tree res_op0;
    9796            0 :                                       {
    9797            0 :                                         tree _o1[2], _r1;
    9798            0 :                                         _o1[0] = captures[0];
    9799            0 :                                         _o1[1] = captures[3];
    9800            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9801            0 :                                         res_op0 = _r1;
    9802              :                                       }
    9803            0 :                                       tree res_op1;
    9804            0 :                                       res_op1 = captures[1];
    9805            0 :                                       tree res_op2;
    9806            0 :                                       res_op2 = captures[2];
    9807            0 :                                       tree _r;
    9808            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9809            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9810            0 :                                       return _r;
    9811              :                                     }
    9812            0 : next_after_fail1211:;
    9813              :                                   }
    9814              :                               }
    9815            0 :                               {
    9816            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9817            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9818            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9819              : )
    9820              :                                   {
    9821            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1212;
    9822            0 :                                     {
    9823            0 :                                       tree res_op0;
    9824            0 :                                       {
    9825            0 :                                         tree _o1[2], _r1;
    9826            0 :                                         _o1[0] = captures[0];
    9827            0 :                                         _o1[1] = captures[3];
    9828            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9829            0 :                                         res_op0 = _r1;
    9830              :                                       }
    9831            0 :                                       tree res_op1;
    9832            0 :                                       res_op1 = captures[1];
    9833            0 :                                       tree res_op2;
    9834            0 :                                       res_op2 = captures[2];
    9835            0 :                                       tree _r;
    9836            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9837            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9838            0 :                                       return _r;
    9839              :                                     }
    9840            0 : next_after_fail1212:;
    9841              :                                   }
    9842              :                               }
    9843            0 :                               {
    9844            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9845            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9846            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9847              : )
    9848              :                                   {
    9849            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1213;
    9850            0 :                                     {
    9851            0 :                                       tree res_op0;
    9852            0 :                                       {
    9853            0 :                                         tree _o1[2], _r1;
    9854            0 :                                         _o1[0] = captures[0];
    9855            0 :                                         _o1[1] = captures[3];
    9856            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9857            0 :                                         res_op0 = _r1;
    9858              :                                       }
    9859            0 :                                       tree res_op1;
    9860            0 :                                       res_op1 = captures[1];
    9861            0 :                                       tree res_op2;
    9862            0 :                                       res_op2 = captures[2];
    9863            0 :                                       tree _r;
    9864            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9865            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9866            0 :                                       return _r;
    9867              :                                     }
    9868            0 : next_after_fail1213:;
    9869              :                                   }
    9870              :                               }
    9871            0 :                               {
    9872            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9873            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9874            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9875              : )
    9876              :                                   {
    9877            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1214;
    9878            0 :                                     {
    9879            0 :                                       tree res_op0;
    9880            0 :                                       {
    9881            0 :                                         tree _o1[2], _r1;
    9882            0 :                                         _o1[0] = captures[0];
    9883            0 :                                         _o1[1] = captures[3];
    9884            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9885            0 :                                         res_op0 = _r1;
    9886              :                                       }
    9887            0 :                                       tree res_op1;
    9888            0 :                                       res_op1 = captures[1];
    9889            0 :                                       tree res_op2;
    9890            0 :                                       res_op2 = captures[2];
    9891            0 :                                       tree _r;
    9892            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9893            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9894            0 :                                       return _r;
    9895              :                                     }
    9896            0 : next_after_fail1214:;
    9897              :                                   }
    9898              :                               }
    9899            0 :                               {
    9900            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9901            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9902            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9903              : )
    9904              :                                   {
    9905            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1215;
    9906            0 :                                     {
    9907            0 :                                       tree res_op0;
    9908            0 :                                       {
    9909            0 :                                         tree _o1[2], _r1;
    9910            0 :                                         _o1[0] = captures[0];
    9911            0 :                                         _o1[1] = captures[3];
    9912            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9913            0 :                                         res_op0 = _r1;
    9914              :                                       }
    9915            0 :                                       tree res_op1;
    9916            0 :                                       res_op1 = captures[1];
    9917            0 :                                       tree res_op2;
    9918            0 :                                       res_op2 = captures[2];
    9919            0 :                                       tree _r;
    9920            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9921            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9922            0 :                                       return _r;
    9923              :                                     }
    9924            0 : next_after_fail1215:;
    9925              :                                   }
    9926              :                               }
    9927            0 :                               {
    9928            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9929            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9930            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9931              : )
    9932              :                                   {
    9933            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1216;
    9934            0 :                                     {
    9935            0 :                                       tree res_op0;
    9936            0 :                                       {
    9937            0 :                                         tree _o1[2], _r1;
    9938            0 :                                         _o1[0] = captures[0];
    9939            0 :                                         _o1[1] = captures[3];
    9940            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9941            0 :                                         res_op0 = _r1;
    9942              :                                       }
    9943            0 :                                       tree res_op1;
    9944            0 :                                       res_op1 = captures[1];
    9945            0 :                                       tree res_op2;
    9946            0 :                                       res_op2 = captures[2];
    9947            0 :                                       tree _r;
    9948            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9949            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9950            0 :                                       return _r;
    9951              :                                     }
    9952            0 : next_after_fail1216:;
    9953              :                                   }
    9954              :                               }
    9955            0 :                               {
    9956            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9957            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9958            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9959              : )
    9960              :                                   {
    9961            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1217;
    9962            0 :                                     {
    9963            0 :                                       tree res_op0;
    9964            0 :                                       {
    9965            0 :                                         tree _o1[2], _r1;
    9966            0 :                                         _o1[0] = captures[0];
    9967            0 :                                         _o1[1] = captures[3];
    9968            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9969            0 :                                         res_op0 = _r1;
    9970              :                                       }
    9971            0 :                                       tree res_op1;
    9972            0 :                                       res_op1 = captures[1];
    9973            0 :                                       tree res_op2;
    9974            0 :                                       res_op2 = captures[2];
    9975            0 :                                       tree _r;
    9976            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9977            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    9978            0 :                                       return _r;
    9979              :                                     }
    9980            0 : next_after_fail1217:;
    9981              :                                   }
    9982              :                               }
    9983            0 :                               {
    9984            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9985            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9986            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9987              : )
    9988              :                                   {
    9989            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1218;
    9990            0 :                                     {
    9991            0 :                                       tree res_op0;
    9992            0 :                                       {
    9993            0 :                                         tree _o1[2], _r1;
    9994            0 :                                         _o1[0] = captures[0];
    9995            0 :                                         _o1[1] = captures[3];
    9996            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9997            0 :                                         res_op0 = _r1;
    9998              :                                       }
    9999            0 :                                       tree res_op1;
   10000            0 :                                       res_op1 = captures[1];
   10001            0 :                                       tree res_op2;
   10002            0 :                                       res_op2 = captures[2];
   10003            0 :                                       tree _r;
   10004            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10005            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10006            0 :                                       return _r;
   10007              :                                     }
   10008            0 : next_after_fail1218:;
   10009              :                                   }
   10010              :                               }
   10011            0 :                               {
   10012            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10013            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10014            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10015              : )
   10016              :                                   {
   10017            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1219;
   10018            0 :                                     {
   10019            0 :                                       tree res_op0;
   10020            0 :                                       {
   10021            0 :                                         tree _o1[2], _r1;
   10022            0 :                                         _o1[0] = captures[0];
   10023            0 :                                         _o1[1] = captures[3];
   10024            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10025            0 :                                         res_op0 = _r1;
   10026              :                                       }
   10027            0 :                                       tree res_op1;
   10028            0 :                                       res_op1 = captures[1];
   10029            0 :                                       tree res_op2;
   10030            0 :                                       res_op2 = captures[2];
   10031            0 :                                       tree _r;
   10032            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10033            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10034            0 :                                       return _r;
   10035              :                                     }
   10036            0 : next_after_fail1219:;
   10037              :                                   }
   10038              :                               }
   10039            0 :                               {
   10040            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10041            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10042            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10043              : )
   10044              :                                   {
   10045            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1220;
   10046            0 :                                     {
   10047            0 :                                       tree res_op0;
   10048            0 :                                       {
   10049            0 :                                         tree _o1[2], _r1;
   10050            0 :                                         _o1[0] = captures[0];
   10051            0 :                                         _o1[1] = captures[3];
   10052            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10053            0 :                                         res_op0 = _r1;
   10054              :                                       }
   10055            0 :                                       tree res_op1;
   10056            0 :                                       res_op1 = captures[1];
   10057            0 :                                       tree res_op2;
   10058            0 :                                       res_op2 = captures[2];
   10059            0 :                                       tree _r;
   10060            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10061            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10062            0 :                                       return _r;
   10063              :                                     }
   10064            0 : next_after_fail1220:;
   10065              :                                   }
   10066              :                               }
   10067            0 :                               {
   10068            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10069            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10070            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10071              : )
   10072              :                                   {
   10073            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1221;
   10074            0 :                                     {
   10075            0 :                                       tree res_op0;
   10076            0 :                                       {
   10077            0 :                                         tree _o1[2], _r1;
   10078            0 :                                         _o1[0] = captures[0];
   10079            0 :                                         _o1[1] = captures[3];
   10080            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10081            0 :                                         res_op0 = _r1;
   10082              :                                       }
   10083            0 :                                       tree res_op1;
   10084            0 :                                       res_op1 = captures[1];
   10085            0 :                                       tree res_op2;
   10086            0 :                                       res_op2 = captures[2];
   10087            0 :                                       tree _r;
   10088            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10089            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10090            0 :                                       return _r;
   10091              :                                     }
   10092            0 : next_after_fail1221:;
   10093              :                                   }
   10094              :                               }
   10095            0 :                               {
   10096            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10097            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10098            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10099              : )
   10100              :                                   {
   10101            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1222;
   10102            0 :                                     {
   10103            0 :                                       tree res_op0;
   10104            0 :                                       {
   10105            0 :                                         tree _o1[2], _r1;
   10106            0 :                                         _o1[0] = captures[0];
   10107            0 :                                         _o1[1] = captures[3];
   10108            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10109            0 :                                         res_op0 = _r1;
   10110              :                                       }
   10111            0 :                                       tree res_op1;
   10112            0 :                                       res_op1 = captures[1];
   10113            0 :                                       tree res_op2;
   10114            0 :                                       res_op2 = captures[2];
   10115            0 :                                       tree _r;
   10116            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10117            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10118            0 :                                       return _r;
   10119              :                                     }
   10120            0 : next_after_fail1222:;
   10121              :                                   }
   10122              :                               }
   10123            0 :                               {
   10124            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10125            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10126            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10127              : )
   10128              :                                   {
   10129            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1223;
   10130            0 :                                     {
   10131            0 :                                       tree res_op0;
   10132            0 :                                       {
   10133            0 :                                         tree _o1[2], _r1;
   10134            0 :                                         _o1[0] = captures[0];
   10135            0 :                                         _o1[1] = captures[3];
   10136            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10137            0 :                                         res_op0 = _r1;
   10138              :                                       }
   10139            0 :                                       tree res_op1;
   10140            0 :                                       res_op1 = captures[1];
   10141            0 :                                       tree res_op2;
   10142            0 :                                       res_op2 = captures[2];
   10143            0 :                                       tree _r;
   10144            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10145            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10146            0 :                                       return _r;
   10147              :                                     }
   10148            0 : next_after_fail1223:;
   10149              :                                   }
   10150              :                               }
   10151            0 :                               {
   10152            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10153            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10154            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10155              : )
   10156              :                                   {
   10157            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1224;
   10158            0 :                                     {
   10159            0 :                                       tree res_op0;
   10160            0 :                                       {
   10161            0 :                                         tree _o1[2], _r1;
   10162            0 :                                         _o1[0] = captures[0];
   10163            0 :                                         _o1[1] = captures[3];
   10164            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10165            0 :                                         res_op0 = _r1;
   10166              :                                       }
   10167            0 :                                       tree res_op1;
   10168            0 :                                       res_op1 = captures[1];
   10169            0 :                                       tree res_op2;
   10170            0 :                                       res_op2 = captures[2];
   10171            0 :                                       tree _r;
   10172            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10173            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10174            0 :                                       return _r;
   10175              :                                     }
   10176            0 : next_after_fail1224:;
   10177              :                                   }
   10178              :                               }
   10179            0 :                               {
   10180            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10181            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10182            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10183              : )
   10184              :                                   {
   10185            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1225;
   10186            0 :                                     {
   10187            0 :                                       tree res_op0;
   10188            0 :                                       {
   10189            0 :                                         tree _o1[2], _r1;
   10190            0 :                                         _o1[0] = captures[0];
   10191            0 :                                         _o1[1] = captures[3];
   10192            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10193            0 :                                         res_op0 = _r1;
   10194              :                                       }
   10195            0 :                                       tree res_op1;
   10196            0 :                                       res_op1 = captures[1];
   10197            0 :                                       tree res_op2;
   10198            0 :                                       res_op2 = captures[2];
   10199            0 :                                       tree _r;
   10200            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10201            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10202            0 :                                       return _r;
   10203              :                                     }
   10204            0 : next_after_fail1225:;
   10205              :                                   }
   10206              :                               }
   10207            0 :                               {
   10208            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10209            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10210            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10211              : )
   10212              :                                   {
   10213            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1226;
   10214            0 :                                     {
   10215            0 :                                       tree res_op0;
   10216            0 :                                       {
   10217            0 :                                         tree _o1[2], _r1;
   10218            0 :                                         _o1[0] = captures[0];
   10219            0 :                                         _o1[1] = captures[3];
   10220            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10221            0 :                                         res_op0 = _r1;
   10222              :                                       }
   10223            0 :                                       tree res_op1;
   10224            0 :                                       res_op1 = captures[1];
   10225            0 :                                       tree res_op2;
   10226            0 :                                       res_op2 = captures[2];
   10227            0 :                                       tree _r;
   10228            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10229            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10230            0 :                                       return _r;
   10231              :                                     }
   10232            0 : next_after_fail1226:;
   10233              :                                   }
   10234              :                               }
   10235            0 :                               {
   10236            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10237            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10238            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10239              : )
   10240              :                                   {
   10241            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1227;
   10242            0 :                                     {
   10243            0 :                                       tree res_op0;
   10244            0 :                                       {
   10245            0 :                                         tree _o1[2], _r1;
   10246            0 :                                         _o1[0] = captures[0];
   10247            0 :                                         _o1[1] = captures[3];
   10248            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10249            0 :                                         res_op0 = _r1;
   10250              :                                       }
   10251            0 :                                       tree res_op1;
   10252            0 :                                       res_op1 = captures[1];
   10253            0 :                                       tree res_op2;
   10254            0 :                                       res_op2 = captures[2];
   10255            0 :                                       tree _r;
   10256            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10257            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10258            0 :                                       return _r;
   10259              :                                     }
   10260            0 : next_after_fail1227:;
   10261              :                                   }
   10262              :                               }
   10263            0 :                               {
   10264            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10265            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10266            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10267              : )
   10268              :                                   {
   10269            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1228;
   10270            0 :                                     {
   10271            0 :                                       tree res_op0;
   10272            0 :                                       {
   10273            0 :                                         tree _o1[2], _r1;
   10274            0 :                                         _o1[0] = captures[0];
   10275            0 :                                         _o1[1] = captures[3];
   10276            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10277            0 :                                         res_op0 = _r1;
   10278              :                                       }
   10279            0 :                                       tree res_op1;
   10280            0 :                                       res_op1 = captures[1];
   10281            0 :                                       tree res_op2;
   10282            0 :                                       res_op2 = captures[2];
   10283            0 :                                       tree _r;
   10284            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10285            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10286            0 :                                       return _r;
   10287              :                                     }
   10288            0 : next_after_fail1228:;
   10289              :                                   }
   10290              :                               }
   10291            0 :                               {
   10292            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10293            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10294            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10295              : )
   10296              :                                   {
   10297            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1229;
   10298            0 :                                     {
   10299            0 :                                       tree res_op0;
   10300            0 :                                       {
   10301            0 :                                         tree _o1[2], _r1;
   10302            0 :                                         _o1[0] = captures[0];
   10303            0 :                                         _o1[1] = captures[3];
   10304            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10305            0 :                                         res_op0 = _r1;
   10306              :                                       }
   10307            0 :                                       tree res_op1;
   10308            0 :                                       res_op1 = captures[1];
   10309            0 :                                       tree res_op2;
   10310            0 :                                       res_op2 = captures[2];
   10311            0 :                                       tree _r;
   10312            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10313            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10314            0 :                                       return _r;
   10315              :                                     }
   10316            0 : next_after_fail1229:;
   10317              :                                   }
   10318              :                               }
   10319            0 :                               {
   10320            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10321            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10322            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10323              : )
   10324              :                                   {
   10325            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1230;
   10326            0 :                                     {
   10327            0 :                                       tree res_op0;
   10328            0 :                                       {
   10329            0 :                                         tree _o1[2], _r1;
   10330            0 :                                         _o1[0] = captures[0];
   10331            0 :                                         _o1[1] = captures[3];
   10332            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10333            0 :                                         res_op0 = _r1;
   10334              :                                       }
   10335            0 :                                       tree res_op1;
   10336            0 :                                       res_op1 = captures[1];
   10337            0 :                                       tree res_op2;
   10338            0 :                                       res_op2 = captures[2];
   10339            0 :                                       tree _r;
   10340            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10341            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10342            0 :                                       return _r;
   10343              :                                     }
   10344            0 : next_after_fail1230:;
   10345              :                                   }
   10346              :                               }
   10347            0 :                               {
   10348            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10349            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10350            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10351              : )
   10352              :                                   {
   10353            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1231;
   10354            0 :                                     {
   10355            0 :                                       tree res_op0;
   10356            0 :                                       {
   10357            0 :                                         tree _o1[2], _r1;
   10358            0 :                                         _o1[0] = captures[0];
   10359            0 :                                         _o1[1] = captures[3];
   10360            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10361            0 :                                         res_op0 = _r1;
   10362              :                                       }
   10363            0 :                                       tree res_op1;
   10364            0 :                                       res_op1 = captures[1];
   10365            0 :                                       tree res_op2;
   10366            0 :                                       res_op2 = captures[2];
   10367            0 :                                       tree _r;
   10368            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10369            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
   10370            0 :                                       return _r;
   10371              :                                     }
   10372            0 : next_after_fail1231:;
   10373              :                                   }
   10374              :                               }
   10375              :                             }
   10376              :                         }
   10377              :                       break;
   10378              :                     }
   10379              :                   default:;
   10380              :                   }
   10381              :               }
   10382              :           }
   10383            1 :         {
   10384            1 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10385            1 :           if (VECTOR_TYPE_P (type)
   10386            1 :  && (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
   10387              :  || types_match (type, TREE_TYPE (captures[2]))
   10388              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10389              :  || (optimize_vectors_before_lowering_p ()
   10390              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10391              : )
   10392              :             {
   10393            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1232;
   10394            1 :               {
   10395            1 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1232;
   10396            0 :                 tree res_op0;
   10397            0 :                 res_op0 = captures[1];
   10398            0 :                 tree res_op1;
   10399            0 :                 {
   10400            0 :                   tree _o1[2], _r1;
   10401            0 :                   _o1[0] = captures[2];
   10402            0 :                   _o1[1] = unshare_expr (captures[4]);
   10403            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10404            0 :                   if (EXPR_P (_r1))
   10405            0 :                     goto next_after_fail1232;
   10406            0 :                   res_op1 = _r1;
   10407              :                 }
   10408            0 :                 tree res_op2;
   10409            0 :                 {
   10410            0 :                   tree _o1[2], _r1;
   10411            0 :                   _o1[0] = captures[3];
   10412            0 :                   _o1[1] = captures[4];
   10413            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10414            0 :                   if (EXPR_P (_r1))
   10415            0 :                     goto next_after_fail1232;
   10416            0 :                   res_op2 = _r1;
   10417              :                 }
   10418            0 :                 tree _r;
   10419            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10420            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   10421            0 :                 return _r;
   10422              :               }
   10423            1 : next_after_fail1232:;
   10424              :             }
   10425              :         }
   10426            1 :         break;
   10427              :       }
   10428       898353 :     default:;
   10429              :     }
   10430       898353 :   switch (TREE_CODE (_p1))
   10431              :     {
   10432            0 :     case VEC_COND_EXPR:
   10433            0 :       {
   10434            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10435            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10436            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10437            0 :         {
   10438            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10439            0 :           if (VECTOR_TYPE_P (type)
   10440            0 :  && (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
   10441              :  || types_match (type, TREE_TYPE (captures[3]))
   10442              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10443              :  || (optimize_vectors_before_lowering_p ()
   10444              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10445              : )
   10446              :             {
   10447            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1233;
   10448            0 :               {
   10449            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1233;
   10450            0 :                 tree res_op0;
   10451            0 :                 res_op0 = captures[2];
   10452            0 :                 tree res_op1;
   10453            0 :                 {
   10454            0 :                   tree _o1[2], _r1;
   10455            0 :                   _o1[0] = unshare_expr (captures[0]);
   10456            0 :                   _o1[1] = captures[3];
   10457            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10458            0 :                   if (EXPR_P (_r1))
   10459            0 :                     goto next_after_fail1233;
   10460            0 :                   res_op1 = _r1;
   10461              :                 }
   10462            0 :                 tree res_op2;
   10463            0 :                 {
   10464            0 :                   tree _o1[2], _r1;
   10465            0 :                   _o1[0] = captures[0];
   10466            0 :                   _o1[1] = captures[4];
   10467            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10468            0 :                   if (EXPR_P (_r1))
   10469            0 :                     goto next_after_fail1233;
   10470            0 :                   res_op2 = _r1;
   10471              :                 }
   10472            0 :                 tree _r;
   10473            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10474            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10475            0 :                 return _r;
   10476              :               }
   10477            0 : next_after_fail1233:;
   10478              :             }
   10479              :         }
   10480            0 :         break;
   10481              :       }
   10482       898353 :     default:;
   10483              :     }
   10484       898353 :   switch (TREE_CODE (_p0))
   10485              :     {
   10486           90 :     case LT_EXPR:
   10487           90 :       {
   10488           90 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10489           90 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10490           90 :         if (integer_truep (_p1))
   10491              :           {
   10492           14 :             {
   10493           14 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10494           14 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
   10495           14 :               if (res) return res;
   10496              :             }
   10497              :           }
   10498           76 :         if (integer_zerop (_q21))
   10499              :           {
   10500           24 :             switch (TREE_CODE (_p1))
   10501              :               {
   10502           17 :               case LT_EXPR:
   10503           17 :                 {
   10504           17 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10505           17 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10506           17 :                   if (integer_zerop (_q51))
   10507              :                     {
   10508           17 :                       {
   10509           17 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   10510           17 :                         tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, LT_EXPR);
   10511           17 :                         if (res) return res;
   10512              :                       }
   10513              :                     }
   10514              :                   break;
   10515              :                 }
   10516            0 :               case GE_EXPR:
   10517            0 :                 {
   10518            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10519            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10520            0 :                   if (integer_zerop (_q51))
   10521              :                     {
   10522            0 :                       {
   10523            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   10524            0 :                         tree res = generic_simplify_50 (loc, type, _p0, _p1, captures);
   10525            0 :                         if (res) return res;
   10526              :                       }
   10527              :                     }
   10528              :                   break;
   10529              :                 }
   10530              :               default:;
   10531              :               }
   10532              :           }
   10533              :         break;
   10534              :       }
   10535           85 :     case LE_EXPR:
   10536           85 :       {
   10537           85 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10538           85 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10539           85 :         if (integer_truep (_p1))
   10540              :           {
   10541           15 :             {
   10542           15 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10543           15 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
   10544           15 :               if (res) return res;
   10545              :             }
   10546              :           }
   10547              :         break;
   10548              :       }
   10549          119 :     case EQ_EXPR:
   10550          119 :       {
   10551          119 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10552          119 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10553          119 :         if (integer_truep (_p1))
   10554              :           {
   10555           14 :             {
   10556           14 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10557           14 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
   10558           14 :               if (res) return res;
   10559              :             }
   10560              :           }
   10561              :         break;
   10562              :       }
   10563          113 :     case NE_EXPR:
   10564          113 :       {
   10565          113 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10566          113 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10567          113 :         if (integer_truep (_p1))
   10568              :           {
   10569            7 :             {
   10570            7 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10571            7 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
   10572            7 :               if (res) return res;
   10573              :             }
   10574              :           }
   10575              :         break;
   10576              :       }
   10577           62 :     case GE_EXPR:
   10578           62 :       {
   10579           62 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10580           62 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10581           62 :         if (integer_truep (_p1))
   10582              :           {
   10583            0 :             {
   10584            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10585            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
   10586            0 :               if (res) return res;
   10587              :             }
   10588              :           }
   10589           62 :         if (integer_zerop (_q21))
   10590              :           {
   10591           26 :             switch (TREE_CODE (_p1))
   10592              :               {
   10593            1 :               case GE_EXPR:
   10594            1 :                 {
   10595            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10596            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10597            1 :                   if (integer_zerop (_q51))
   10598              :                     {
   10599            1 :                       {
   10600            1 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   10601            1 :                         tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, GE_EXPR);
   10602            1 :                         if (res) return res;
   10603              :                       }
   10604              :                     }
   10605              :                   break;
   10606              :                 }
   10607            5 :               case LT_EXPR:
   10608            5 :                 {
   10609            5 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10610            5 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10611            5 :                   if (integer_zerop (_q51))
   10612              :                     {
   10613            5 :                       {
   10614            5 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _p0, _q20 };
   10615            5 :                         tree res = generic_simplify_50 (loc, type, _p0, _p1, captures);
   10616            5 :                         if (res) return res;
   10617              :                       }
   10618              :                     }
   10619              :                   break;
   10620              :                 }
   10621              :               default:;
   10622              :               }
   10623              :           }
   10624              :         break;
   10625              :       }
   10626          100 :     case GT_EXPR:
   10627          100 :       {
   10628          100 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10629          100 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10630          100 :         if (integer_truep (_p1))
   10631              :           {
   10632           14 :             {
   10633           14 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10634           14 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
   10635           14 :               if (res) return res;
   10636              :             }
   10637              :           }
   10638              :         break;
   10639              :       }
   10640            0 :     case UNORDERED_EXPR:
   10641            0 :       {
   10642            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10643            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10644            0 :         if (integer_truep (_p1))
   10645              :           {
   10646            0 :             {
   10647            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10648            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
   10649            0 :               if (res) return res;
   10650              :             }
   10651              :           }
   10652              :         break;
   10653              :       }
   10654            0 :     case ORDERED_EXPR:
   10655            0 :       {
   10656            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10657            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10658            0 :         if (integer_truep (_p1))
   10659              :           {
   10660            0 :             {
   10661            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10662            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
   10663            0 :               if (res) return res;
   10664              :             }
   10665              :           }
   10666              :         break;
   10667              :       }
   10668            0 :     case UNLT_EXPR:
   10669            0 :       {
   10670            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10671            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10672            0 :         if (integer_truep (_p1))
   10673              :           {
   10674            0 :             {
   10675            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10676            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
   10677            0 :               if (res) return res;
   10678              :             }
   10679              :           }
   10680              :         break;
   10681              :       }
   10682            0 :     case UNLE_EXPR:
   10683            0 :       {
   10684            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10685            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10686            0 :         if (integer_truep (_p1))
   10687              :           {
   10688            0 :             {
   10689            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10690            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
   10691            0 :               if (res) return res;
   10692              :             }
   10693              :           }
   10694              :         break;
   10695              :       }
   10696            0 :     case UNGT_EXPR:
   10697            0 :       {
   10698            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10699            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10700            0 :         if (integer_truep (_p1))
   10701              :           {
   10702            0 :             {
   10703            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10704            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
   10705            0 :               if (res) return res;
   10706              :             }
   10707              :           }
   10708              :         break;
   10709              :       }
   10710            0 :     case UNGE_EXPR:
   10711            0 :       {
   10712            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10713            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10714            0 :         if (integer_truep (_p1))
   10715              :           {
   10716            0 :             {
   10717            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10718            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
   10719            0 :               if (res) return res;
   10720              :             }
   10721              :           }
   10722              :         break;
   10723              :       }
   10724            0 :     case UNEQ_EXPR:
   10725            0 :       {
   10726            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10727            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10728            0 :         if (integer_truep (_p1))
   10729              :           {
   10730            0 :             {
   10731            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10732            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
   10733            0 :               if (res) return res;
   10734              :             }
   10735              :           }
   10736              :         break;
   10737              :       }
   10738            0 :     case LTGT_EXPR:
   10739            0 :       {
   10740            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10741            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10742            0 :         if (integer_truep (_p1))
   10743              :           {
   10744            0 :             {
   10745            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10746            0 :               tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
   10747            0 :               if (res) return res;
   10748              :             }
   10749              :           }
   10750              :         break;
   10751              :       }
   10752            7 :     case VEC_PERM_EXPR:
   10753            7 :       {
   10754            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10755            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10756            7 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10757            7 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   10758              :           {
   10759            0 :             switch (TREE_CODE (_p1))
   10760              :               {
   10761            0 :               case VEC_PERM_EXPR:
   10762            0 :                 {
   10763            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   10764            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   10765            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   10766            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   10767              :                     {
   10768            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   10769              :                         {
   10770            0 :                           {
   10771            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   10772            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   10773              : )
   10774              :                               {
   10775            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1234;
   10776            0 :                                 {
   10777            0 :                                   tree res_op0;
   10778            0 :                                   {
   10779            0 :                                     tree _o1[2], _r1;
   10780            0 :                                     _o1[0] = captures[0];
   10781            0 :                                     _o1[1] = captures[2];
   10782            0 :                                     _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10783            0 :                                     captures[3] = _r1;
   10784              :                                   }
   10785            0 :                                   res_op0 = unshare_expr (captures[3]);
   10786            0 :                                   tree res_op1;
   10787            0 :                                   res_op1 = captures[3];
   10788            0 :                                   tree res_op2;
   10789            0 :                                   res_op2 = captures[1];
   10790            0 :                                   tree _r;
   10791            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   10792            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   10793            0 :                                   return _r;
   10794              :                                 }
   10795            0 : next_after_fail1234:;
   10796              :                               }
   10797              :                           }
   10798              :                         }
   10799              :                     }
   10800              :                   break;
   10801              :                 }
   10802              :               default:;
   10803              :               }
   10804              :           }
   10805              :         break;
   10806              :       }
   10807         2925 :     case CALL_EXPR:
   10808         2925 :       switch (get_call_combined_fn (_p0))
   10809              :         {
   10810            1 :         case CFN_PARITY:
   10811            1 :           if (call_expr_nargs (_p0) == 1)
   10812              :     {
   10813            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10814            1 :               switch (TREE_CODE (_p1))
   10815              :                 {
   10816            1 :                 case CALL_EXPR:
   10817            1 :                   switch (get_call_combined_fn (_p1))
   10818              :                     {
   10819            1 :                     case CFN_PARITY:
   10820            1 :                       if (call_expr_nargs (_p1) == 1)
   10821              :     {
   10822            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10823            1 :                           {
   10824            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10825            1 :                             tree res = generic_simplify_51 (loc, type, _p0, _p1, captures, CFN_PARITY);
   10826            1 :                             if (res) return res;
   10827              :                           }
   10828              :                         }
   10829              :                       break;
   10830              :                     default:;
   10831              :                     }
   10832              :                   break;
   10833              :                 default:;
   10834              :                 }
   10835              :             }
   10836              :           break;
   10837            1 :         case CFN_BUILT_IN_PARITYL:
   10838            1 :           if (call_expr_nargs (_p0) == 1)
   10839              :     {
   10840            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10841            1 :               switch (TREE_CODE (_p1))
   10842              :                 {
   10843            1 :                 case CALL_EXPR:
   10844            1 :                   switch (get_call_combined_fn (_p1))
   10845              :                     {
   10846            1 :                     case CFN_BUILT_IN_PARITYL:
   10847            1 :                       if (call_expr_nargs (_p1) == 1)
   10848              :     {
   10849            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10850            1 :                           {
   10851            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10852            1 :                             tree res = generic_simplify_51 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYL);
   10853            1 :                             if (res) return res;
   10854              :                           }
   10855              :                         }
   10856              :                       break;
   10857              :                     default:;
   10858              :                     }
   10859              :                   break;
   10860              :                 default:;
   10861              :                 }
   10862              :             }
   10863              :           break;
   10864            0 :         case CFN_BUILT_IN_PARITYIMAX:
   10865            0 :           if (call_expr_nargs (_p0) == 1)
   10866              :     {
   10867            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10868            0 :               switch (TREE_CODE (_p1))
   10869              :                 {
   10870            0 :                 case CALL_EXPR:
   10871            0 :                   switch (get_call_combined_fn (_p1))
   10872              :                     {
   10873            0 :                     case CFN_BUILT_IN_PARITYIMAX:
   10874            0 :                       if (call_expr_nargs (_p1) == 1)
   10875              :     {
   10876            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10877            0 :                           {
   10878            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10879            0 :                             tree res = generic_simplify_51 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYIMAX);
   10880            0 :                             if (res) return res;
   10881              :                           }
   10882              :                         }
   10883              :                       break;
   10884              :                     default:;
   10885              :                     }
   10886              :                   break;
   10887              :                 default:;
   10888              :                 }
   10889              :             }
   10890              :           break;
   10891            1 :         case CFN_BUILT_IN_PARITY:
   10892            1 :           if (call_expr_nargs (_p0) == 1)
   10893              :     {
   10894            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10895            1 :               switch (TREE_CODE (_p1))
   10896              :                 {
   10897            1 :                 case CALL_EXPR:
   10898            1 :                   switch (get_call_combined_fn (_p1))
   10899              :                     {
   10900            1 :                     case CFN_BUILT_IN_PARITY:
   10901            1 :                       if (call_expr_nargs (_p1) == 1)
   10902              :     {
   10903            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10904            1 :                           {
   10905            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10906            1 :                             tree res = generic_simplify_51 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITY);
   10907            1 :                             if (res) return res;
   10908              :                           }
   10909              :                         }
   10910              :                       break;
   10911              :                     default:;
   10912              :                     }
   10913              :                   break;
   10914              :                 default:;
   10915              :                 }
   10916              :             }
   10917              :           break;
   10918            8 :         case CFN_BUILT_IN_PARITYLL:
   10919            8 :           if (call_expr_nargs (_p0) == 1)
   10920              :     {
   10921            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10922            8 :               switch (TREE_CODE (_p1))
   10923              :                 {
   10924            8 :                 case CALL_EXPR:
   10925            8 :                   switch (get_call_combined_fn (_p1))
   10926              :                     {
   10927            8 :                     case CFN_BUILT_IN_PARITYLL:
   10928            8 :                       if (call_expr_nargs (_p1) == 1)
   10929              :     {
   10930            8 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10931            8 :                           {
   10932            8 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10933            8 :                             tree res = generic_simplify_51 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYLL);
   10934            8 :                             if (res) return res;
   10935              :                           }
   10936              :                         }
   10937              :                       break;
   10938              :                     default:;
   10939              :                     }
   10940              :                   break;
   10941              :                 default:;
   10942              :                 }
   10943              :             }
   10944              :           break;
   10945              :         default:;
   10946              :         }
   10947              :       break;
   10948              :     default:;
   10949              :     }
   10950              :   return NULL_TREE;
   10951              : }
   10952              : 
   10953              : tree
   10954     34933093 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0, tree _p1, tree _p2)
   10955              : {
   10956     34933093 :   switch (code)
   10957              :     {
   10958     12440909 :     case COND_EXPR:
   10959     12440909 :       return generic_simplify_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   10960       390879 :     case VEC_COND_EXPR:
   10961       390879 :       return generic_simplify_VEC_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   10962       763724 :     case BIT_FIELD_REF:
   10963       763724 :       return generic_simplify_BIT_FIELD_REF (loc, code, type, _p0, _p1, _p2);
   10964        14829 :     case BIT_INSERT_EXPR:
   10965        14829 :       return generic_simplify_BIT_INSERT_EXPR (loc, code, type, _p0, _p1, _p2);
   10966       773029 :     case VEC_PERM_EXPR:
   10967       773029 :       return generic_simplify_VEC_PERM_EXPR (loc, code, type, _p0, _p1, _p2);
   10968              :     default:;
   10969              :     }
   10970              :   return NULL_TREE;
   10971              : }
   10972              : 
   10973              : tree
   10974            0 : generic_simplify (location_t, enum tree_code,
   10975              :                   const tree, tree, tree, tree, tree)
   10976              : {
   10977            0 :   return NULL_TREE;
   10978              : }
   10979              : 
   10980              : tree
   10981            0 : generic_simplify (location_t, enum tree_code,
   10982              :                   const tree, tree, tree, tree, tree, tree)
   10983              : {
   10984            0 :   return NULL_TREE;
   10985              : }
   10986              : 
   10987              : tree
   10988            0 : generic_simplify (location_t, enum tree_code,
   10989              :                   const tree, tree, tree, tree, tree, tree, tree)
   10990              : {
   10991            0 :   return NULL_TREE;
   10992              : }
   10993              : 
   10994              : tree
   10995            0 : generic_simplify (location_t, enum tree_code,
   10996              :                   const tree, tree, tree, tree, tree, tree, tree, tree)
   10997              : {
   10998            0 :   return NULL_TREE;
   10999              : }
   11000              : void
   11001        18347 : generic_dump_logs (const char *file1, int line1_id, const char *file2, int line2, bool simplify)
   11002              : {
   11003        18347 :   static int dbg_line_numbers[1108] = {
   11004              :         /* 0 */ 161, 164, 173, 175, 178, 181, 183, 189, 197, 195, 
   11005              :         /* 10 */ 199, 201, 970, 972, 2154, 2160, 2162, 2165, 2170, 2173, 
   11006              :         /* 20 */ 2416, 2420, 2422, 2424, 2426, 2428, 2430, 2432, 2459, 2475, 
   11007              :         /* 30 */ 2483, 2465, 3078, 3080, 3082, 3089, 3086, 3096, 3098, 3105, 
   11008              :         /* 40 */ 3102, 3313, 3323, 5668, 9080, 9101, 11344, 11347, 11352, 2121, 
   11009              :         /* 50 */ 8900, 1345, 1349, 1509, 1524, 1529, 1576, 1577, 1581, 1582, 
   11010              :         /* 60 */ 1640, 1645, 1738, 1862, 1952, 1872, 2016, 1882, 1887, 2010, 
   11011              :         /* 70 */ 1895, 2062, 2004, 2023, 2029, 2691, 2036, 2050, 2096, 2313, 
   11012              :         /* 80 */ 2397, 2408, 2411, 2443, 2549, 2581, 4350, 4363, 4373, 3155, 
   11013              :         /* 90 */ 3157, 4713, 4387, 4399, 7060, 7062, 7127, 7135, 10414, 10420, 
   11014              :         /* 100 */ 264, 291, 292, 503, 1339, 1845, 1900, 1963, 3845, 3783, 
   11015              :         /* 110 */ 3888, 3889, 3893, 3894, 3904, 3908, 3912, 3927, 3930, 3934, 
   11016              :         /* 120 */ 3860, 3863, 3868, 4014, 4020, 4026, 4206, 4207, 4236, 4257, 
   11017              :         /* 130 */ 4276, 4701, 5567, 6991, 7076, 7078, 8528, 8603, 10255, 10303, 
   11018              :         /* 140 */ 10317, 11371, 11796, 954, 960, 1489, 1498, 1981, 1972, 1919, 
   11019              :         /* 150 */ 2717, 3796, 3836, 3841, 3842, 3850, 3851, 3854, 3871, 3946, 
   11020              :         /* 160 */ 3949, 3953, 4034, 4056, 4094, 4105, 4144, 4159, 4707, 7001, 
   11021              :         /* 170 */ 8608, 10313, 11375, 1475, 1484, 1514, 1519, 1561, 1546, 1553, 
   11022              :         /* 180 */ 1603, 2058, 1608, 1615, 1635, 1762, 1852, 1857, 1867, 1877, 
   11023              :         /* 190 */ 1991, 2078, 2088, 2090, 2349, 2357, 2362, 2367, 2383, 2373, 
   11024              :         /* 200 */ 2374, 2532, 2561, 2563, 2568, 2570, 2710, 3369, 3384, 3402, 
   11025              :         /* 210 */ 3602, 3603, 3604, 3612, 3620, 3629, 3638, 3670, 3671, 3676, 
   11026              :         /* 220 */ 3677, 3682, 3687, 3691, 3746, 3760, 3374, 3393, 3395, 3379, 
   11027              :         /* 230 */ 7664, 9478, 11894, 11909, 471, 477, 509, 1284, 1304, 1309, 
   11028              :         /* 240 */ 2146, 2147, 2184, 2726, 5252, 5553, 5560, 5610, 5613, 5663, 
   11029              :         /* 250 */ 8521, 8935, 8765, 8772, 8929, 8974, 8979, 339, 916, 1357, 
   11030              :         /* 260 */ 2997, 2793, 2799, 2802, 2807, 2448, 2705, 2501, 2643, 2881, 
   11031              :         /* 270 */ 2744, 2754, 2823, 2825, 2826, 2829, 2831, 2832, 2834, 2836, 
   11032              :         /* 280 */ 2838, 2840, 2842, 2844, 2858, 2859, 2915, 3003, 3028, 2944, 
   11033              :         /* 290 */ 2971, 3011, 3016, 3041, 3048, 3114, 3718, 4643, 4651, 4654, 
   11034              :         /* 300 */ 4660, 4663, 4690, 5044, 5045, 5079, 5083, 5212, 5052, 5053, 
   11035              :         /* 310 */ 5097, 5100, 5101, 5106, 5109, 5112, 5113, 5065, 5068, 5285, 
   11036              :         /* 320 */ 5289, 5294, 5578, 5730, 5734, 7087, 7103, 7105, 7117, 7147, 
   11037              :         /* 330 */ 7153, 7154, 7169, 7170, 7174, 7192, 7197, 7229, 7237, 7247, 
   11038              :         /* 340 */ 7256, 7260, 7266, 7273, 7289, 7293, 7297, 7304, 7305, 7310, 
   11039              :         /* 350 */ 7311, 7318, 7319, 7321, 7322, 7338, 7349, 7361, 7365, 7367, 
   11040              :         /* 360 */ 7372, 7375, 7378, 7386, 7448, 7449, 7453, 7454, 7461, 7465, 
   11041              :         /* 370 */ 7469, 7472, 7478, 7479, 7483, 7486, 7493, 7513, 7516, 7519, 
   11042              :         /* 380 */ 7522, 7571, 7574, 7578, 7585, 7591, 7599, 7608, 7609, 7707, 
   11043              :         /* 390 */ 7717, 7756, 7762, 7778, 7791, 7793, 7795, 7821, 7863, 7842, 
   11044              :         /* 400 */ 7843, 7850, 7852, 7868, 7874, 7879, 7888, 7894, 7900, 7905, 
   11045              :         /* 410 */ 7910, 7942, 8005, 7924, 7934, 8034, 8053, 8055, 8057, 8059, 
   11046              :         /* 420 */ 8061, 8063, 8067, 8069, 8092, 8115, 8227, 8234, 8235, 8243, 
   11047              :         /* 430 */ 8244, 8441, 9522, 9524, 9602, 9604, 9605, 9611, 9627, 9629, 
   11048              :         /* 440 */ 9631, 9649, 9650, 10040, 10043, 10057, 10066, 10130, 10131, 10185, 
   11049              :         /* 450 */ 10187, 10263, 10686, 10688, 10690, 11124, 7083, 7094, 7096, 7204, 
   11050              :         /* 460 */ 483, 1257, 1278, 8885, 8890, 8895, 543, 544, 555, 560, 
   11051              :         /* 470 */ 567, 576, 584, 593, 639, 642, 851, 1005, 1033, 1064, 
   11052              :         /* 480 */ 604, 881, 885, 890, 896, 900, 908, 997, 755, 765, 
   11053              :         /* 490 */ 767, 769, 8515, 8940, 8962, 8945, 8950, 8955, 8969, 9003, 
   11054              :         /* 500 */ 9008, 826, 6311, 6379, 6381, 6383, 6483, 6486, 6660, 6662, 
   11055              :         /* 510 */ 6676, 6680, 6703, 6709, 6720, 6778, 6793, 4737, 4757, 4764, 
   11056              :         /* 520 */ 4770, 4776, 4782, 6784, 4750, 4793, 4806, 6292, 6593, 6597, 
   11057              :         /* 530 */ 6605, 6930, 9495, 9496, 6940, 10474, 10482, 11937, 7958, 7959, 
   11058              :         /* 540 */ 7973, 7974, 838, 841, 1713, 2767, 2770, 2889, 2901, 2986, 
   11059              :         /* 550 */ 2930, 2957, 3069, 3072, 4513, 4524, 4673, 4681, 4960, 7025, 
   11060              :         /* 560 */ 8371, 7621, 7624, 7650, 7651, 8140, 8142, 8144, 8146, 8150, 
   11061              :         /* 570 */ 8152, 8154, 8156, 8160, 8165, 8172, 8177, 8197, 8199, 8201, 
   11062              :         /* 580 */ 8203, 8384, 8392, 8402, 8410, 8420, 8542, 8544, 9536, 9545, 
   11063              :         /* 590 */ 9585, 10108, 10110, 10111, 10166, 10169, 10171, 2783, 7015, 7694, 
   11064              :         /* 600 */ 8616, 8621, 10707, 10709, 10711, 10713, 10717, 943, 979, 1329, 
   11065              :         /* 610 */ 4841, 4911, 4914, 4922, 5013, 5015, 5016, 5017, 5224, 4892, 
   11066              :         /* 620 */ 4901, 5784, 5787, 5788, 5796, 2324, 2334, 2341, 3729, 3734, 
   11067              :         /* 630 */ 4585, 9361, 9363, 9394, 9429, 11740, 1221, 8833, 8854, 1230, 
   11068              :         /* 640 */ 8577, 8583, 8880, 9308, 1244, 1248, 8875, 9058, 1457, 1541, 
   11069              :         /* 650 */ 1589, 1534, 1566, 1597, 1630, 1671, 1682, 1693, 1705, 2593, 
   11070              :         /* 660 */ 1934, 1942, 1947, 2070, 2438, 2732, 3309, 3339, 3341, 3351, 
   11071              :         /* 670 */ 3353, 3460, 3461, 3462, 3470, 3478, 3487, 3496, 3530, 3531, 
   11072              :         /* 680 */ 3536, 3537, 3542, 3547, 3551, 3359, 3364, 3409, 4718, 5183, 
   11073              :         /* 690 */ 5201, 5202, 5755, 5761, 5809, 7219, 7667, 9464, 9466, 10298, 
   11074              :         /* 700 */ 1620, 1625, 2670, 1793, 2675, 5263, 2650, 2681, 2685, 5277, 
   11075              :         /* 710 */ 4628, 7052, 7054, 2191, 2205, 2655, 3821, 2230, 2253, 2254, 
   11076              :         /* 720 */ 9925, 4406, 4410, 4420, 4438, 4469, 4478, 4537, 4540, 4549, 
   11077              :         /* 730 */ 4550, 4568, 4570, 4572, 4574, 4623, 9486, 4424, 4431, 4416, 
   11078              :         /* 740 */ 4595, 4604, 4607, 10916, 10922, 10930, 10936, 10945, 10951, 10959, 
   11079              :         /* 750 */ 10965, 11011, 11019, 4828, 4985, 4995, 8470, 8473, 8492, 5706, 
   11080              :         /* 760 */ 5718, 5721, 5725, 8259, 7212, 7208, 8451, 8458, 8593, 8598, 
   11081              :         /* 770 */ 8699, 8796, 8813, 8845, 8865, 8870, 9121, 9098, 9077, 8906, 
   11082              :         /* 780 */ 8910, 9201, 9211, 9218, 9227, 9245, 9252, 9233, 9501, 9507, 
   11083              :         /* 790 */ 9915, 9921, 9918, 9929, 9935, 9943, 9949, 9957, 9963, 9973, 
   11084              :         /* 800 */ 9979, 9987, 9993, 10001, 10007, 10015, 10021, 10075, 10278, 10293, 
   11085              :         /* 810 */ 10329, 10573, 10576, 10381, 10395, 10408, 11093, 11108, 11199, 11200, 
   11086              :         /* 820 */ 11849, 221, 2102, 2112, 5841, 2130, 1171, 2604, 3290, 5305, 
   11087              :         /* 830 */ 5307, 5317, 5434, 5445, 5458, 5481, 5491, 5500, 5512, 5538, 
   11088              :         /* 840 */ 5851, 6298, 1790, 1804, 1811, 1833, 1840, 2453, 2698, 2107, 
   11089              :         /* 850 */ 2125, 2134, 2200, 2236, 2242, 3808, 6978, 3816, 9983, 9939, 
   11090              :         /* 860 */ 9997, 10011, 10025, 9953, 9967, 5322, 5332, 5341, 5368, 5378, 
   11091              :         /* 870 */ 5384, 5862, 5393, 5390, 5676, 5684, 5692, 5696, 5679, 5687, 
   11092              :         /* 880 */ 5700, 5712, 239, 247, 1746, 1751, 2517, 2663, 3706, 4503, 
   11093              :         /* 890 */ 5880, 5889, 5900, 5909, 11755, 737, 5625, 5631, 5633, 3162, 
   11094              :         /* 900 */ 3166, 252, 3183, 3187, 3218, 3226, 3199, 3213, 270, 307, 
   11095              :         /* 910 */ 1493, 1799, 1907, 1914, 1924, 1929, 2211, 3234, 3246, 3240, 
   11096              :         /* 920 */ 3252, 2222, 2910, 2938, 2965, 2949, 2976, 4068, 4040, 4115, 
   11097              :         /* 930 */ 4124, 4167, 4178, 5638, 5649, 11721, 11722, 1718, 1723, 7657, 
   11098              :         /* 940 */ 11070, 11074, 257, 310, 2919, 2922, 3259, 3266, 3273, 3279, 
   11099              :         /* 950 */ 4077, 3284, 4133, 4187, 5641, 383, 314, 351, 360, 368, 
   11100              :         /* 960 */ 442, 457, 465, 656, 696, 1014, 1209, 1214, 1312, 1315, 
   11101              :         /* 970 */ 1449, 2507, 5654, 8550, 8556, 8747, 8997, 2624, 6088, 6098, 
   11102              :         /* 980 */ 7724, 8291, 8351, 8352, 2614, 8285, 619, 622, 746, 775, 
   11103              :         /* 990 */ 781, 787, 795, 800, 805, 869, 873, 8562, 8568, 8209, 
   11104              :         /* 1000 */ 927, 1404, 4857, 1393, 1396, 1428, 1439, 4834, 4906, 5023, 
   11105              :         /* 1010 */ 1463, 1652, 1728, 1756, 2388, 5029, 5030, 7661, 11728, 4445, 
   11106              :         /* 1020 */ 4449, 4495, 4496, 4616, 4456, 4460, 4486, 4487, 4966, 5673, 
   11107              :         /* 1030 */ 8267, 8269, 8276, 8278, 7216, 6800, 4724, 5920, 4821, 5929, 
   11108              :         /* 1040 */ 6612, 6617, 6753, 6759, 6768, 6769, 5827, 5829, 6806, 6809, 
   11109              :         /* 1050 */ 6818, 6822, 6827, 6856, 6861, 6927, 6869, 6874, 6937, 7988, 
   11110              :         /* 1060 */ 7990, 6893, 6894, 6895, 6950, 6917, 6918, 6919, 6965, 6966, 
   11111              :         /* 1070 */ 8019, 8024, 6835, 5833, 5835, 6109, 6111, 9657, 9663, 9668, 
   11112              :         /* 1080 */ 9677, 9679, 9699, 9744, 9747, 9748, 9780, 9786, 9788, 9789, 
   11113              :         /* 1090 */ 9845, 9846, 9867, 9872, 9877, 9907, 11224, 11226, 11261, 11336, 
   11114              :         /* 1100 */ 11339, 11424, 11359, 11365, 11493, 11495, 11557, 11559
   11115              :   };
   11116              : 
   11117        27401 :   fprintf (dump_file, "%s %s:%d, %s:%d\n",
   11118              :           simplify ? "Applying pattern" : "Matching expression", file1, dbg_line_numbers[line1_id], file2, line2);
   11119        18347 : }
   11120              : 
   11121              : #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.