LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-5.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 35.3 % 6748 2380
Test Date: 2026-02-28 14:20:25 Functions: 62.1 % 66 41
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      1913642 : tree_power_of_two_cand (tree t, tree *res_ops)
      11              : {
      12      1913642 :   const tree type = TREE_TYPE (t);
      13      1913642 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14      1913642 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15      1912903 :   switch (TREE_CODE (t))
      16              :     {
      17      1589616 :     case INTEGER_CST:
      18      1589616 :       {
      19      1589616 :         {
      20      1589616 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21      1589616 :           {
      22      1589616 :             res_ops[0] = captures[0];
      23      1589616 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 12, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27           16 :         break;
      28              :       }
      29           16 :     case LSHIFT_EXPR:
      30           16 :       {
      31           16 :         tree _p0 = TREE_OPERAND (t, 0);
      32           16 :         tree _p1 = TREE_OPERAND (t, 1);
      33           16 :         switch (TREE_CODE (_p0))
      34              :           {
      35           16 :           case INTEGER_CST:
      36           16 :             {
      37           16 :               {
      38           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      39           16 :                 {
      40           16 :                   res_ops[0] = captures[0];
      41           16 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 13, __FILE__, __LINE__, false);
      42           16 :                   return true;
      43              :                 }
      44              :               }
      45              :               break;
      46              :             }
      47              :           default:;
      48              :           }
      49              :         break;
      50              :       }
      51              :     default:;
      52              :     }
      53              :   return false;
      54              : }
      55              : 
      56              : bool
      57     91940700 : tree_with_possible_nonzero_bits (tree t)
      58              : {
      59     91940700 :   const tree type = TREE_TYPE (t);
      60     91940700 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      61     91940700 :   if (TREE_SIDE_EFFECTS (t)) return false;
      62     85732088 :   switch (TREE_CODE (t))
      63              :     {
      64      2141199 :     case BIT_AND_EXPR:
      65      2141199 :       {
      66      2141199 :         tree _p0 = TREE_OPERAND (t, 0);
      67      2141199 :         tree _p1 = TREE_OPERAND (t, 1);
      68      2141199 :         if (tree_with_possible_nonzero_bits_1 (_p0))
      69              :           {
      70       898236 :             {
      71       898236 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      72       898236 :               {
      73       898236 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      74       898236 :                 return true;
      75              :               }
      76              :             }
      77              :           }
      78      1242963 :         if (tree_with_possible_nonzero_bits_1 (_p1))
      79              :           {
      80      1068863 :             {
      81      1068863 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      82      1068863 :               {
      83      1068863 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      84      1068863 :                 return true;
      85              :               }
      86              :             }
      87              :           }
      88              :         break;
      89              :       }
      90     83764989 :     default:;
      91              :     }
      92     83764989 : if (tree_with_possible_nonzero_bits_1 (t))
      93              :   {
      94     41291383 :     {
      95     41291383 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      96     41291383 :       {
      97     41291383 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 36, __FILE__, __LINE__, false);
      98     41291383 :         return true;
      99              :       }
     100              :     }
     101              :   }
     102              :   return false;
     103              : }
     104              : 
     105              : bool
     106       731877 : tree_vec_same_elem_p (tree t)
     107              : {
     108       731877 :   const tree type = TREE_TYPE (t);
     109       731877 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     110       731877 :   if (TREE_SIDE_EFFECTS (t)) return false;
     111       731877 :   switch (TREE_CODE (t))
     112              :     {
     113            0 :     case VEC_DUPLICATE_EXPR:
     114            0 :       {
     115            0 :         tree _p0 = TREE_OPERAND (t, 0);
     116            0 :         {
     117            0 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
     118            0 :           {
     119            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 46, __FILE__, __LINE__, false);
     120            0 :             return true;
     121              :           }
     122              :         }
     123              :         break;
     124              :       }
     125              :     case CONSTRUCTOR:
     126              :       {
     127              :         {
     128              :           tree captures[1] ATTRIBUTE_UNUSED = { t };
     129              :           if (TREE_CODE (captures[0]) == SSA_NAME
     130              :  && uniform_vector_p (gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])))
     131              : )
     132              :             {
     133              :               {
     134              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 47, __FILE__, __LINE__, false);
     135              :                 return true;
     136              :               }
     137              :             }
     138              :         }
     139              :         break;
     140              :       }
     141       731877 :     default:;
     142              :     }
     143       731877 :   {
     144       731877 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     145       731877 :     if (uniform_vector_p (captures[0])
     146              : )
     147              :       {
     148        13913 :         {
     149        13913 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 48, __FILE__, __LINE__, false);
     150        13913 :           return true;
     151              :         }
     152              :       }
     153              :   }
     154              :   return false;
     155              : }
     156              : 
     157              : tree
     158        47886 : generic_simplify_13 (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        47886 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     162        47886 :   if (!TYPE_SATURATING (type)
     163              : )
     164              :     {
     165        47886 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     166        95698 :  && !FIXED_POINT_TYPE_P (type)
     167              : )
     168              :         {
     169        47812 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail85;
     170        47812 :           {
     171        47812 :             tree res_op0;
     172        47812 :             res_op0 = captures[0];
     173        47812 :             tree _r;
     174        47812 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     175        47812 :             if (TREE_SIDE_EFFECTS (captures[1]))
     176            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     177        47812 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 62, __FILE__, __LINE__, true);
     178        47812 :             return _r;
     179              :           }
     180            0 : next_after_fail85:;
     181              :         }
     182              :     }
     183              :   return NULL_TREE;
     184              : }
     185              : 
     186              : tree
     187           10 : generic_simplify_20 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     188              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     189              : {
     190           10 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     191           10 :   if (!TYPE_SATURATING (type)
     192              : )
     193              :     {
     194           10 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     195           20 :  && !FIXED_POINT_TYPE_P (type)
     196              : )
     197              :         {
     198           10 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail100;
     199           10 :           {
     200           10 :             tree res_op0;
     201           10 :             res_op0 = captures[2];
     202           10 :             tree res_op1;
     203           10 :             res_op1 = captures[1];
     204           10 :             tree _r;
     205           10 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     206           10 :             if (TREE_SIDE_EFFECTS (captures[0]))
     207            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     208           10 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 77, __FILE__, __LINE__, true);
     209           10 :             return _r;
     210              :           }
     211            0 : next_after_fail100:;
     212              :         }
     213              :     }
     214              :   return NULL_TREE;
     215              : }
     216              : 
     217              : tree
     218       425591 : generic_simplify_27 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     219              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     220              :  const enum tree_code ARG_UNUSED (plusminus))
     221              : {
     222       425591 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     223       425591 :   if (!TYPE_SATURATING (type)
     224       425591 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     225              : )
     226              :     {
     227       425051 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     228              : )
     229              :         {
     230           55 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     231       425010 :  || TYPE_OVERFLOW_WRAPS (type)
     232        87543 :  || (INTEGRAL_TYPE_P (type)
     233        87529 :  && ((tree_expr_nonzero_p (captures[1])
     234        60239 :  && (plusminus == MINUS_EXPR
     235        60098 :  || expr_not_equal_to (captures[1],
     236       485149 :  wi::minus_one (TYPE_PRECISION (type)),
     237              :  gimple_match_ctx (captures[0]))))
     238        27290 :  || expr_not_equal_to (captures[2],
     239              :  (plusminus == PLUS_EXPR
     240       452341 :  ? wi::max_value (TYPE_PRECISION (type), SIGNED)
     241         1556 :  : wi::min_value (TYPE_PRECISION (type), SIGNED)),
     242              :  gimple_match_ctx (captures[0])))))
     243       425051 :  && single_use (captures[0])
     244              : )
     245              :             {
     246       423686 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail108;
     247       423686 :               {
     248       423686 :                 tree res_op0;
     249       423686 :                 {
     250       423686 :                   tree _o1[2], _r1;
     251       423686 :                   _o1[0] = captures[2];
     252       423686 :                   _o1[1] =  build_one_cst (type);
     253       423686 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     254       423686 :                   res_op0 = _r1;
     255              :                 }
     256       423686 :                 tree res_op1;
     257       423686 :                 res_op1 = captures[1];
     258       423686 :                 tree _r;
     259       423686 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     260       423686 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 85, __FILE__, __LINE__, true);
     261       423686 :                 return _r;
     262              :               }
     263            0 : next_after_fail108:;
     264              :             }
     265              :         }
     266              :     }
     267              :   return NULL_TREE;
     268              : }
     269              : 
     270              : tree
     271            1 : generic_simplify_34 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     272              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     273              :  const combined_fn ARG_UNUSED (logs))
     274              : {
     275            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     276            1 :   if (flag_unsafe_math_optimizations
     277              : )
     278              :     {
     279            1 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
     280            1 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
     281            1 :  && ! flag_trapping_math
     282            2 :  && ! flag_errno_math
     283              : )
     284              :         {
     285            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail116;
     286            1 :           {
     287            1 :             tree res_op0;
     288            1 :             {
     289            1 :               tree _o1[2], _r1;
     290            1 :               _o1[0] = captures[1];
     291            1 :               _o1[1] = captures[3];
     292            1 :               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     293            1 :               res_op0 = _r1;
     294              :             }
     295            1 :             tree _r;
     296            1 :             _r = maybe_build_call_expr_loc (loc, logs, type, 1, res_op0);
     297            1 :             if (!_r)
     298            0 :               goto next_after_fail116;
     299            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 93, __FILE__, __LINE__, true);
     300            1 :             return _r;
     301              :           }
     302              : next_after_fail116:;
     303              :         }
     304              :     }
     305              :   return NULL_TREE;
     306              : }
     307              : 
     308              : tree
     309           21 : generic_simplify_42 (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           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     313           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail124;
     314           21 :   {
     315           21 :     tree res_op0;
     316           21 :     {
     317           21 :       tree _o1[2], _r1;
     318           21 :       _o1[0] = captures[1];
     319           21 :       _o1[1] = unshare_expr (captures[2]);
     320           21 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     321           21 :       res_op0 = _r1;
     322              :     }
     323           21 :     tree res_op1;
     324           21 :     res_op1 = captures[2];
     325           21 :     tree _r;
     326           21 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     327           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 101, __FILE__, __LINE__, true);
     328              :     return _r;
     329              :   }
     330            0 : next_after_fail124:;
     331            0 :   return NULL_TREE;
     332              : }
     333              : 
     334              : tree
     335         1512 : generic_simplify_49 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     336              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     337              : {
     338         1512 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     339         1512 :   if (!TYPE_SATURATING (type)
     340              : )
     341              :     {
     342         1512 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     343         1512 :  && !TYPE_OVERFLOW_SANITIZED (type)
     344              : )
     345              :         {
     346            5 :           {
     347            5 :  tree t1 = type;
     348            5 :  if (INTEGRAL_TYPE_P (type)
     349            5 :  && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
     350            0 :  t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
     351            5 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail131;
     352            5 :               {
     353            5 :                 tree res_op0;
     354            5 :                 {
     355            5 :                   tree _o1[2], _r1;
     356            5 :                   {
     357            5 :                     tree _o2[1], _r2;
     358            5 :                     _o2[0] = captures[0];
     359            5 :                     if (TREE_TYPE (_o2[0]) != t1)
     360              :                       {
     361            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     362              :                       }
     363              :                     else
     364              :                       _r2 = _o2[0];
     365            5 :                     _o1[0] = _r2;
     366              :                   }
     367            5 :                   {
     368            5 :                     tree _o2[1], _r2;
     369            5 :                     _o2[0] = captures[1];
     370            5 :                     if (TREE_TYPE (_o2[0]) != t1)
     371              :                       {
     372            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     373              :                       }
     374              :                     else
     375              :                       _r2 = _o2[0];
     376            5 :                     _o1[1] = _r2;
     377              :                   }
     378            5 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     379            5 :                   res_op0 = _r1;
     380              :                 }
     381            5 :                 tree _r;
     382            5 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     383            5 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 107, __FILE__, __LINE__, true);
     384            5 :                 return _r;
     385              :               }
     386            0 : next_after_fail131:;
     387              :           }
     388              :         }
     389              :     }
     390              :   return NULL_TREE;
     391              : }
     392              : 
     393              : tree
     394            0 : generic_simplify_61 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     395              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     396              : {
     397            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     398            0 :   if (VECTOR_TYPE_P (type)
     399            0 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
     400              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
     401            0 :  && (TYPE_MODE (TREE_TYPE (type))
     402            0 :  == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
     403              : )
     404              :     {
     405            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail149;
     406            0 :       {
     407            0 :         tree res_op0;
     408            0 :         res_op0 = captures[0];
     409            0 :         tree res_op1;
     410            0 :         {
     411            0 :           tree _o1[1], _r1;
     412            0 :           {
     413            0 :             tree _o2[3], _r2;
     414            0 :             _o2[0] = captures[2];
     415            0 :             {
     416            0 :               tree _o3[1], _r3;
     417            0 :               _o3[0] = captures[3];
     418            0 :               _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
     419            0 :               _o2[1] = _r3;
     420              :             }
     421            0 :             _o2[2] = captures[4];
     422            0 :             _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
     423            0 :             _o1[0] = _r2;
     424              :           }
     425            0 :           if (TREE_TYPE (_o1[0]) != type)
     426              :             {
     427            0 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     428              :             }
     429              :           else
     430              :             _r1 = _o1[0];
     431            0 :           res_op1 = _r1;
     432              :         }
     433            0 :         tree _r;
     434            0 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     435            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 125, __FILE__, __LINE__, true);
     436            0 :         return _r;
     437              :       }
     438            0 : next_after_fail149:;
     439              :     }
     440              :   return NULL_TREE;
     441              : }
     442              : 
     443              : tree
     444            0 : generic_simplify_68 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     445              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     446              :  const enum tree_code ARG_UNUSED (bitop),
     447              :  const enum tree_code ARG_UNUSED (cmp))
     448              : {
     449            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     450            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     451            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     452            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
     453              : )
     454              :     {
     455            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail156;
     456            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail156;
     457            0 :       {
     458            0 :         tree res_op0;
     459            0 :         {
     460            0 :           tree _o1[2], _r1;
     461            0 :           _o1[0] = captures[0];
     462            0 :           {
     463            0 :             tree _o2[1], _r2;
     464            0 :             _o2[0] = captures[2];
     465            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     466              :               {
     467            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     468              :               }
     469              :             else
     470              :               _r2 = _o2[0];
     471            0 :             _o1[1] = _r2;
     472              :           }
     473            0 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     474            0 :           res_op0 = _r1;
     475              :         }
     476            0 :         tree res_op1;
     477            0 :         res_op1 = captures[1];
     478            0 :         tree _r;
     479            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     480            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 132, __FILE__, __LINE__, true);
     481            0 :         return _r;
     482              :       }
     483              : next_after_fail156:;
     484              :     }
     485              :   return NULL_TREE;
     486              : }
     487              : 
     488              : tree
     489            0 : generic_simplify_80 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     490              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     491              :  const enum tree_code ARG_UNUSED (op))
     492              : {
     493            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     494            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail172;
     495            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail172;
     496            0 :   {
     497            0 :     tree _r;
     498            0 :     _r = captures[0];
     499            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 143, __FILE__, __LINE__, true);
     500              :     return _r;
     501              :   }
     502              : next_after_fail172:;
     503              :   return NULL_TREE;
     504              : }
     505              : 
     506              : tree
     507          253 : generic_simplify_89 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     508              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     509              :  const enum tree_code ARG_UNUSED (bitop))
     510              : {
     511          253 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     512          253 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail181;
     513          253 :   {
     514          253 :     tree res_op0;
     515          253 :     res_op0 = captures[0];
     516          253 :     tree _r;
     517          253 :     _r = non_lvalue_loc (loc, res_op0);
     518          253 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 148, __FILE__, __LINE__, true);
     519              :     return _r;
     520              :   }
     521            0 : next_after_fail181:;
     522            0 :   return NULL_TREE;
     523              : }
     524              : 
     525              : tree
     526        18391 : generic_simplify_98 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     527              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     528              : {
     529        18391 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     530        18391 :   {
     531        18391 :  bool wascmp;
     532        18391 :       if ((bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     533        18391 :  || bitwise_inverted_equal_p (captures[1], captures[2], wascmp))
     534        18391 :  && (!wascmp || element_precision (type) == 1)
     535              : )
     536              :         {
     537            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail190;
     538            0 :           {
     539            0 :             tree _r;
     540            0 :             _r =  build_all_ones_cst (TREE_TYPE (captures[0]));
     541            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     542            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     543            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
     544            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     545            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
     546            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     547            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 155, __FILE__, __LINE__, true);
     548            0 :             return _r;
     549              :           }
     550            0 : next_after_fail190:;
     551              :         }
     552              :   }
     553        18391 :   return NULL_TREE;
     554              : }
     555              : 
     556              : tree
     557            2 : generic_simplify_107 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     558              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     559              :  const enum tree_code ARG_UNUSED (bitop),
     560              :  const enum tree_code ARG_UNUSED (rbitop))
     561              : {
     562            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     563            2 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail203;
     564            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
     565            2 :   {
     566            2 :     tree _r;
     567            2 :     _r = captures[2];
     568            2 :     if (TREE_SIDE_EFFECTS (captures[1]))
     569            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     570            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 161, __FILE__, __LINE__, true);
     571              :     return _r;
     572              :   }
     573              : next_after_fail203:;
     574              :   return NULL_TREE;
     575              : }
     576              : 
     577              : tree
     578            0 : generic_simplify_111 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     579              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     580              :  const enum tree_code ARG_UNUSED (bitop),
     581              :  const enum tree_code ARG_UNUSED (rbitop))
     582              : {
     583            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     584            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail207;
     585            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail207;
     586            0 :   {
     587            0 :     tree _r;
     588            0 :     _r = captures[2];
     589            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     590            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     591            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 161, __FILE__, __LINE__, true);
     592              :     return _r;
     593              :   }
     594              : next_after_fail207:;
     595              :   return NULL_TREE;
     596              : }
     597              : 
     598              : tree
     599          599 : generic_simplify_119 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     600              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     601              :  const enum tree_code ARG_UNUSED (bitop))
     602              : {
     603          599 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     604          599 :   if (!CONSTANT_CLASS_P (captures[0])
     605              : )
     606              :     {
     607          599 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail216;
     608          599 :       {
     609          599 :         tree res_op0;
     610          599 :         res_op0 = captures[0];
     611          599 :         tree res_op1;
     612          599 :         {
     613          599 :           tree _o1[2], _r1;
     614          599 :           _o1[0] = captures[1];
     615          599 :           _o1[1] = captures[2];
     616          599 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     617          599 :           if (EXPR_P (_r1))
     618            0 :             goto next_after_fail216;
     619          599 :           res_op1 = _r1;
     620              :         }
     621          599 :         tree _r;
     622          599 :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     623          599 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 169, __FILE__, __LINE__, true);
     624          599 :         return _r;
     625              :       }
     626              : next_after_fail216:;
     627              :     }
     628              :   else
     629              :     {
     630            0 :       {
     631            0 :  tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
     632            0 :           if (cst1
     633              : )
     634              :             {
     635            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail217;
     636            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail217;
     637            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail217;
     638            0 :               {
     639            0 :                 tree res_op0;
     640            0 :                 res_op0 = captures[1];
     641            0 :                 tree res_op1;
     642            0 :                 res_op1 =  cst1;
     643            0 :                 tree _r;
     644            0 :                 _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     645            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 170, __FILE__, __LINE__, true);
     646            0 :                 return _r;
     647              :               }
     648              : next_after_fail217:;
     649              :             }
     650              :           else
     651              :             {
     652            0 :               {
     653            0 :  tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
     654            0 :                   if (cst2
     655              : )
     656              :                     {
     657            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail218;
     658            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail218;
     659            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail218;
     660            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail218;
     661            0 :                       {
     662            0 :                         tree res_op0;
     663            0 :                         res_op0 = captures[0];
     664            0 :                         tree res_op1;
     665            0 :                         res_op1 =  cst2;
     666            0 :                         tree _r;
     667            0 :                         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     668            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 171, __FILE__, __LINE__, true);
     669            0 :                         return _r;
     670              :                       }
     671              : next_after_fail218:;
     672              :                     }
     673              :               }
     674              :             }
     675              :       }
     676              :     }
     677              :   return NULL_TREE;
     678              : }
     679              : 
     680              : tree
     681            0 : generic_simplify_135 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     682              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     683              : {
     684            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     685            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail256;
     686            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail256;
     687            0 :   {
     688            0 :     tree _r;
     689            0 :     _r = captures[2];
     690            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     691            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     692            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 182, __FILE__, __LINE__, true);
     693              :     return _r;
     694              :   }
     695              : next_after_fail256:;
     696              :   return NULL_TREE;
     697              : }
     698              : 
     699              : tree
     700            8 : generic_simplify_140 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     701              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     702              :  const enum tree_code ARG_UNUSED (eqne))
     703              : {
     704            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     705            8 :   if (eqne == EQ_EXPR
     706              : )
     707              :     {
     708            4 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail274;
     709            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail274;
     710            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail274;
     711            4 :       {
     712            4 :         tree _r;
     713            4 :         _r = captures[0];
     714            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 201, __FILE__, __LINE__, true);
     715            4 :         return _r;
     716              :       }
     717              : next_after_fail274:;
     718              :     }
     719              :   else
     720              :     {
     721            4 :       if (eqne == NE_EXPR
     722              : )
     723              :         {
     724            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail275;
     725            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail275;
     726            4 :           {
     727            4 :             tree _r;
     728            4 :             _r =  constant_boolean_node (true, type);
     729            4 :             if (TREE_SIDE_EFFECTS (captures[2]))
     730            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     731            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 202, __FILE__, __LINE__, true);
     732            4 :             return _r;
     733              :           }
     734              : next_after_fail275:;
     735              :         }
     736              :     }
     737              :   return NULL_TREE;
     738              : }
     739              : 
     740              : tree
     741            7 : generic_simplify_146 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     742              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     743              :  const enum tree_code ARG_UNUSED (op))
     744              : {
     745            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     746           14 :   if (INTEGRAL_TYPE_P (type)
     747            7 :  && tree_int_cst_sgn (captures[2]) > 0
     748            7 :  && tree_int_cst_sgn (captures[4]) > 0
     749           28 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
     750              : )
     751              :     {
     752            4 :       {
     753            4 :  tree t = type;
     754            4 :  if (!TYPE_OVERFLOW_WRAPS (t))
     755            4 :  t = unsigned_type_for (t);
     756            4 :  wide_int wone = wi::one (TYPE_PRECISION (t));
     757            8 :  wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])),
     758            8 :  wi::lshift (wone, wi::to_wide (captures[4])));
     759            4 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail281;
     760            4 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail281;
     761            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail281;
     762            4 :           {
     763            4 :             tree res_op0;
     764            4 :             {
     765            4 :               tree _o1[2], _r1;
     766            4 :               {
     767            4 :                 tree _o2[1], _r2;
     768            4 :                 _o2[0] = captures[1];
     769            4 :                 if (TREE_TYPE (_o2[0]) != t)
     770              :                   {
     771            4 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     772              :                   }
     773              :                 else
     774              :                   _r2 = _o2[0];
     775            4 :                 _o1[0] = _r2;
     776              :               }
     777            4 :               _o1[1] =  wide_int_to_tree (t,c);
     778            4 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     779            4 :               res_op0 = _r1;
     780              :             }
     781            4 :             tree _r;
     782            4 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     783            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 204, __FILE__, __LINE__, true);
     784            4 :             return _r;
     785              :           }
     786            0 : next_after_fail281:;
     787            4 :       }
     788              :     }
     789              :   return NULL_TREE;
     790              : }
     791              : 
     792              : tree
     793            7 : generic_simplify_152 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     794              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     795              : {
     796            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     797            7 :   if (type_has_mode_precision_p (type)
     798            0 :  && tree_fits_uhwi_p (captures[1])
     799            0 :  && tree_fits_uhwi_p (captures[2])
     800            0 :  && tree_fits_uhwi_p (captures[4])
     801            0 :  && (((((HOST_WIDE_INT_1U << tree_to_uhwi (captures[1])) - 1)) & tree_to_uhwi (captures[2])) == 0)
     802            0 :  && (tree_to_uhwi (captures[1]) + tree_to_uhwi (captures[4])) == TYPE_PRECISION (type)
     803            0 :  && TYPE_UNSIGNED (type)
     804            7 :  && captures[0] == captures[3]
     805              : )
     806              :     {
     807            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail287;
     808            0 :       {
     809            0 :         tree res_op0;
     810            0 :         {
     811            0 :           tree _o1[2], _r1;
     812            0 :           _o1[0] = captures[0];
     813            0 :           _o1[1] = captures[4];
     814            0 :           _r1 = fold_build2_loc (loc, RROTATE_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     815            0 :           res_op0 = _r1;
     816              :         }
     817            0 :         tree res_op1;
     818            0 :         res_op1 = captures[2];
     819            0 :         tree _r;
     820            0 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     821            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
     822            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     823            0 :         if (TREE_SIDE_EFFECTS (captures[3]))
     824            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
     825            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 209, __FILE__, __LINE__, true);
     826            0 :         return _r;
     827              :       }
     828            0 : next_after_fail287:;
     829              :     }
     830              :   return NULL_TREE;
     831              : }
     832              : 
     833              : tree
     834            0 : generic_simplify_161 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     835              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     836              : {
     837            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     838            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail296;
     839            0 :   {
     840            0 :     tree res_op0;
     841            0 :     res_op0 = captures[0];
     842            0 :     tree res_op1;
     843            0 :     res_op1 = captures[1];
     844            0 :     tree _r;
     845            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     846            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     847              :     return _r;
     848              :   }
     849            0 : next_after_fail296:;
     850            0 :   return NULL_TREE;
     851              : }
     852              : 
     853              : tree
     854           10 : generic_simplify_165 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     855              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     856              : {
     857           10 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     858           10 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
     859           10 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     860              : )
     861              :     {
     862           10 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail300;
     863           10 :       {
     864           10 :         tree res_op0;
     865           10 :         {
     866           10 :           tree _o1[1], _r1;
     867           10 :           _o1[0] = captures[0];
     868           10 :           if (TREE_TYPE (_o1[0]) != type)
     869              :             {
     870            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     871              :             }
     872              :           else
     873              :             _r1 = _o1[0];
     874           10 :           res_op0 = _r1;
     875              :         }
     876           10 :         tree res_op1;
     877           10 :         {
     878           10 :           tree _o1[1], _r1;
     879           10 :           _o1[0] = captures[1];
     880           10 :           if (TREE_TYPE (_o1[0]) != type)
     881              :             {
     882            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     883              :             }
     884              :           else
     885              :             _r1 = _o1[0];
     886           10 :           res_op1 = _r1;
     887              :         }
     888           10 :         tree _r;
     889           10 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     890           10 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 222, __FILE__, __LINE__, true);
     891           10 :         return _r;
     892              :       }
     893            0 : next_after_fail300:;
     894              :     }
     895              :   return NULL_TREE;
     896              : }
     897              : 
     898              : tree
     899            0 : generic_simplify_176 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     900              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     901              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     902              : {
     903            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     904            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     905              : )
     906              :     {
     907            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail313;
     908            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail313;
     909            0 :       {
     910            0 :         tree res_op0;
     911            0 :         res_op0 = captures[0];
     912            0 :         tree _r;
     913            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     914            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 234, __FILE__, __LINE__, true);
     915            0 :         return _r;
     916              :       }
     917              : next_after_fail313:;
     918              :     }
     919              :   return NULL_TREE;
     920              : }
     921              : 
     922              : tree
     923         3125 : generic_simplify_182 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     924              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     925              : {
     926         3125 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     927         3125 :   if (! FLOAT_TYPE_P (type)
     928         6250 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     929              : )
     930              :     {
     931         3124 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail319;
     932         3124 :       {
     933         3124 :         tree res_op0;
     934         3124 :         res_op0 = captures[0];
     935         3124 :         tree res_op1;
     936         3124 :         res_op1 = captures[2];
     937         3124 :         tree _r;
     938         3124 :         _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
     939         3124 :         if (TREE_SIDE_EFFECTS (captures[1]))
     940            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     941         3124 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 238, __FILE__, __LINE__, true);
     942         3124 :         return _r;
     943              :       }
     944            0 : next_after_fail319:;
     945              :     }
     946              :   return NULL_TREE;
     947              : }
     948              : 
     949              : tree
     950         5762 : generic_simplify_193 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     951              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     952              :  const enum tree_code ARG_UNUSED (op))
     953              : {
     954         5762 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     955         5762 :   {
     956         5762 :  poly_widest_int factor;
     957         5762 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     958         5731 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
     959        11493 :  && multiple_p (wi::to_poly_widest (captures[3]), wi::to_widest (captures[1]), &factor)
     960              : )
     961              :         {
     962         5682 :           {
     963         5682 :  wi::overflow_type overflow;
     964         5682 :  wide_int mul;
     965         5682 :               if (types_match (type, TREE_TYPE (captures[2]))
     966         5636 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
     967            0 :  && TREE_CODE (captures[2]) == INTEGER_CST
     968            0 :  && TREE_CODE (captures[3]) == INTEGER_CST
     969         5682 :  && (mul = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[3]),
     970            0 :  TYPE_SIGN (type), &overflow),
     971            0 :  !overflow)
     972         5682 :  && (TYPE_UNSIGNED (type)
     973         5682 :  || known_eq (factor, 1)
     974            0 :  || (get_range_pos_neg (captures[0])
     975            0 :  | (((op == PLUS_EXPR) ^ (tree_int_cst_sgn (captures[2]) < 0))
     976            0 :  ? 1 : 2)) != 3)
     977              : )
     978              :                 {
     979            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail332;
     980            0 :                   {
     981            0 :                     tree res_op0;
     982            0 :                     {
     983            0 :                       tree _o1[2], _r1;
     984            0 :                       _o1[0] = captures[0];
     985            0 :                       _o1[1] =  wide_int_to_tree (type, factor);
     986            0 :                       _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     987            0 :                       res_op0 = _r1;
     988              :                     }
     989            0 :                     tree res_op1;
     990            0 :                     res_op1 =  wide_int_to_tree (type, mul);
     991            0 :                     tree _r;
     992            0 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     993            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
     994            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     995            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
     996            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     997            0 :                     if (TREE_SIDE_EFFECTS (captures[3]))
     998            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
     999            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 247, __FILE__, __LINE__, true);
    1000            0 :                     return _r;
    1001              :                   }
    1002            0 : next_after_fail332:;
    1003              :                 }
    1004              :               else
    1005              :                 {
    1006         5682 :                   {
    1007         5682 :  tree utype = unsigned_type_for (type);
    1008         5682 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail333;
    1009         5682 :                       {
    1010         5682 :                         tree res_op0;
    1011         5682 :                         {
    1012         5682 :                           tree _o1[2], _r1;
    1013         5682 :                           {
    1014         5682 :                             tree _o2[2], _r2;
    1015         5682 :                             {
    1016         5682 :                               tree _o3[1], _r3;
    1017         5682 :                               _o3[0] = captures[0];
    1018         5682 :                               if (TREE_TYPE (_o3[0]) != utype)
    1019              :                                 {
    1020         5682 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1021              :                                 }
    1022              :                               else
    1023              :                                 _r3 = _o3[0];
    1024         5682 :                               _o2[0] = _r3;
    1025              :                             }
    1026         5682 :                             _o2[1] =  wide_int_to_tree (utype, factor);
    1027         5682 :                             _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1028         5682 :                             _o1[0] = _r2;
    1029              :                           }
    1030         5682 :                           {
    1031         5682 :                             tree _o2[2], _r2;
    1032         5682 :                             {
    1033         5682 :                               tree _o3[1], _r3;
    1034         5682 :                               _o3[0] = captures[3];
    1035         5682 :                               if (TREE_TYPE (_o3[0]) != utype)
    1036              :                                 {
    1037           14 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1038              :                                 }
    1039              :                               else
    1040              :                                 _r3 = _o3[0];
    1041         5682 :                               _o2[0] = _r3;
    1042              :                             }
    1043         5682 :                             {
    1044         5682 :                               tree _o3[1], _r3;
    1045         5682 :                               _o3[0] = captures[2];
    1046         5682 :                               if (TREE_TYPE (_o3[0]) != utype)
    1047              :                                 {
    1048           46 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1049              :                                 }
    1050              :                               else
    1051              :                                 _r3 = _o3[0];
    1052         5682 :                               _o2[1] = _r3;
    1053              :                             }
    1054         5682 :                             _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1055         5682 :                             _o1[1] = _r2;
    1056              :                           }
    1057         5682 :                           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1058         5682 :                           res_op0 = _r1;
    1059              :                         }
    1060         5682 :                         tree _r;
    1061         5682 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1062         5682 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1063            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1064         5682 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 248, __FILE__, __LINE__, true);
    1065         5682 :                         return _r;
    1066              :                       }
    1067            0 : next_after_fail333:;
    1068              :                   }
    1069              :                 }
    1070            0 :           }
    1071              :         }
    1072         5762 :   }
    1073           80 :   return NULL_TREE;
    1074              : }
    1075              : 
    1076              : tree
    1077            3 : generic_simplify_224 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1078              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1079              :  const enum tree_code ARG_UNUSED (cmp))
    1080              : {
    1081            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1082            3 :   if (TREE_INT_CST_LOW (captures[1]) & 1
    1083              : )
    1084              :     {
    1085            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail380;
    1086            2 :       {
    1087            2 :         tree _r;
    1088            2 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1089            2 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1090            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1091            2 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1092            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1093            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 293, __FILE__, __LINE__, true);
    1094            2 :         return _r;
    1095              :       }
    1096            0 : next_after_fail380:;
    1097              :     }
    1098              :   return NULL_TREE;
    1099              : }
    1100              : 
    1101              : tree
    1102           45 : generic_simplify_230 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1103              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1104              :  const enum tree_code ARG_UNUSED (cmp))
    1105              : {
    1106           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1107           45 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1108              : )
    1109              :     {
    1110            0 :       {
    1111            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1112            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail388;
    1113            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail388;
    1114            0 :           {
    1115            0 :             tree res_op0;
    1116            0 :             {
    1117            0 :               tree _o1[2], _r1;
    1118            0 :               {
    1119            0 :                 tree _o2[1], _r2;
    1120            0 :                 _o2[0] = captures[0];
    1121            0 :                 if (TREE_TYPE (_o2[0]) != utype)
    1122              :                   {
    1123            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1124              :                   }
    1125              :                 else
    1126              :                   _r2 = _o2[0];
    1127            0 :                 _o1[0] = _r2;
    1128              :               }
    1129            0 :               {
    1130            0 :                 tree _o2[1], _r2;
    1131            0 :                 _o2[0] = captures[1];
    1132            0 :                 if (TREE_TYPE (_o2[0]) != utype)
    1133              :                   {
    1134            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1135              :                   }
    1136              :                 else
    1137              :                   _r2 = _o2[0];
    1138            0 :                 _o1[1] = _r2;
    1139              :               }
    1140            0 :               _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1141            0 :               res_op0 = _r1;
    1142              :             }
    1143            0 :             tree res_op1;
    1144            0 :             res_op1 =  build_zero_cst (utype);
    1145            0 :             tree _r;
    1146            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1147            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 301, __FILE__, __LINE__, true);
    1148            0 :             return _r;
    1149              :           }
    1150              : next_after_fail388:;
    1151              :       }
    1152              :     }
    1153              :   return NULL_TREE;
    1154              : }
    1155              : 
    1156              : tree
    1157          391 : generic_simplify_239 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1158              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1159              :  const enum tree_code ARG_UNUSED (rotate),
    1160              :  const enum tree_code ARG_UNUSED (invrot),
    1161              :  const enum tree_code ARG_UNUSED (cmp))
    1162              : {
    1163          391 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1164          391 :   if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
    1165              : )
    1166              :     {
    1167            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail407;
    1168            0 :       {
    1169            0 :         tree res_op0;
    1170            0 :         res_op0 = captures[0];
    1171            0 :         tree res_op1;
    1172            0 :         res_op1 = captures[2];
    1173            0 :         tree _r;
    1174            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1175            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1176            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1177            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 320, __FILE__, __LINE__, true);
    1178            0 :         return _r;
    1179              :       }
    1180            0 : next_after_fail407:;
    1181              :     }
    1182              :   return NULL_TREE;
    1183              : }
    1184              : 
    1185              : tree
    1186        91427 : generic_simplify_245 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1187              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1188              :  const enum tree_code ARG_UNUSED (cmp))
    1189              : {
    1190        91427 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1191        91427 :   if (single_use (captures[0])
    1192              : )
    1193              :     {
    1194        91427 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail414;
    1195        91427 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail414;
    1196        91427 :       {
    1197        91427 :         tree res_op0;
    1198        91427 :         res_op0 = captures[1];
    1199        91427 :         tree res_op1;
    1200        91427 :         res_op1 = captures[2];
    1201        91427 :         tree _r;
    1202        91427 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1203        91427 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 327, __FILE__, __LINE__, true);
    1204        91427 :         return _r;
    1205              :       }
    1206              : next_after_fail414:;
    1207              :     }
    1208              :   return NULL_TREE;
    1209              : }
    1210              : 
    1211              : tree
    1212            0 : generic_simplify_251 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1213              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1214              :  const enum tree_code ARG_UNUSED (cmp))
    1215              : {
    1216            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1217            0 :   if (single_use (captures[1]) && single_use (captures[3])
    1218              : )
    1219              :     {
    1220            0 :       {
    1221            0 :  tree otype = TREE_TYPE (captures[0]);
    1222            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail425;
    1223            0 :           {
    1224            0 :             tree res_op0;
    1225            0 :             {
    1226            0 :               tree _o1[1], _r1;
    1227            0 :               _o1[0] = captures[4];
    1228            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1229              :                 {
    1230            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1231              :                 }
    1232              :               else
    1233              :                 _r1 = _o1[0];
    1234            0 :               res_op0 = _r1;
    1235              :             }
    1236            0 :             tree res_op1;
    1237            0 :             {
    1238            0 :               tree _o1[1], _r1;
    1239            0 :               _o1[0] = captures[2];
    1240            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1241              :                 {
    1242            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1243              :                 }
    1244              :               else
    1245              :                 _r1 = _o1[0];
    1246            0 :               res_op1 = _r1;
    1247              :             }
    1248            0 :             tree _r;
    1249            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1250            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 337, __FILE__, __LINE__, true);
    1251            0 :             return _r;
    1252              :           }
    1253            0 : next_after_fail425:;
    1254              :       }
    1255              :     }
    1256            0 :   return NULL_TREE;
    1257              : }
    1258              : 
    1259              : tree
    1260           22 : generic_simplify_257 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1261              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1262              :  const combined_fn ARG_UNUSED (sq),
    1263              :  const enum tree_code ARG_UNUSED (cmp))
    1264              : {
    1265           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1266           22 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1267              : )
    1268              :     {
    1269           20 :       if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    1270              : )
    1271              :         {
    1272            2 :           if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
    1273              : )
    1274              :             {
    1275            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail445;
    1276            1 :               {
    1277            1 :                 tree _r;
    1278            1 :                 _r =  constant_boolean_node (false, type);
    1279            1 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1280            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1281            1 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1282            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1283            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 356, __FILE__, __LINE__, true);
    1284            1 :                 return _r;
    1285              :               }
    1286            0 : next_after_fail445:;
    1287            0 :             }
    1288              :           else
    1289              :             {
    1290            1 :               if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
    1291              : )
    1292              :                 {
    1293            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail446;
    1294            1 :                   {
    1295            1 :                     tree _r;
    1296            1 :                     _r =  constant_boolean_node (true, type);
    1297            1 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1298            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1299            1 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1300            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1301            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 357, __FILE__, __LINE__, true);
    1302            1 :                     return _r;
    1303              :                   }
    1304            0 : next_after_fail446:;
    1305              :                 }
    1306              :               else
    1307              :                 {
    1308            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail447;
    1309            0 :                   {
    1310            0 :                     tree res_op0;
    1311            0 :                     res_op0 = captures[0];
    1312            0 :                     tree res_op1;
    1313            0 :                     res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1314            0 :                     tree _r;
    1315            0 :                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1316            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1317            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1318            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 358, __FILE__, __LINE__, true);
    1319            0 :                     return _r;
    1320              :                   }
    1321            0 : next_after_fail447:;
    1322              :                 }
    1323              :             }
    1324              :         }
    1325              :       else
    1326              :         {
    1327           18 :           if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
    1328              : )
    1329              :             {
    1330            0 :               if (cmp == LT_EXPR
    1331              : )
    1332              :                 {
    1333            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail448;
    1334            0 :                   {
    1335            0 :                     tree _r;
    1336            0 :                     _r =  constant_boolean_node (false, type);
    1337            0 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1338            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1339            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1340            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1341            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 359, __FILE__, __LINE__, true);
    1342            0 :                     return _r;
    1343              :                   }
    1344            0 : next_after_fail448:;
    1345              :                 }
    1346              :               else
    1347              :                 {
    1348            0 :                   if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
    1349              : )
    1350              :                     {
    1351            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail449;
    1352            0 :                       {
    1353            0 :                         tree _r;
    1354            0 :                         _r =  constant_boolean_node (true, type);
    1355            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1356            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1357            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1358            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1359            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 360, __FILE__, __LINE__, true);
    1360            0 :                         return _r;
    1361              :                       }
    1362            0 : next_after_fail449:;
    1363              :                     }
    1364              :                   else
    1365              :                     {
    1366            0 :                       if (cmp == LE_EXPR
    1367              : )
    1368              :                         {
    1369            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail450;
    1370            0 :                           {
    1371            0 :                             tree res_op0;
    1372            0 :                             res_op0 = captures[0];
    1373            0 :                             tree res_op1;
    1374            0 :                             res_op1 = captures[1];
    1375            0 :                             tree _r;
    1376            0 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1377            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 361, __FILE__, __LINE__, true);
    1378            0 :                             return _r;
    1379              :                           }
    1380            0 : next_after_fail450:;
    1381              :                         }
    1382              :                       else
    1383              :                         {
    1384            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail451;
    1385            0 :                           {
    1386            0 :                             tree res_op0;
    1387            0 :                             res_op0 = captures[0];
    1388            0 :                             tree res_op1;
    1389            0 :                             res_op1 = captures[1];
    1390            0 :                             tree _r;
    1391            0 :                             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1392            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 362, __FILE__, __LINE__, true);
    1393            0 :                             return _r;
    1394              :                           }
    1395            0 : next_after_fail451:;
    1396              :                         }
    1397              :                     }
    1398              :                 }
    1399              :             }
    1400              :           else
    1401              :             {
    1402           18 :               if ((cmp == LT_EXPR
    1403              :  || cmp == LE_EXPR
    1404              :  || cmp == GT_EXPR
    1405           18 :  || cmp == GE_EXPR)
    1406           16 :  && !REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
    1407           34 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (TREE_TYPE (captures[0]))
    1408              : )
    1409              :                 {
    1410           16 :                   {
    1411           16 :  REAL_VALUE_TYPE c2;
    1412           16 :  enum tree_code ncmp = cmp;
    1413           16 :  const real_format *fmt
    1414           16 :  = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0])));
    1415           32 :  real_arithmetic (&c2, MULT_EXPR,
    1416           16 :  &TREE_REAL_CST (captures[1]), &TREE_REAL_CST (captures[1]));
    1417           16 :  real_convert (&c2, fmt, &c2);
    1418           16 :  if (!REAL_VALUE_ISINF (c2))
    1419              :  {
    1420           13 :  tree c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1421           13 :  build_real (TREE_TYPE (captures[0]), c2));
    1422           13 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1423              :  ncmp = ERROR_MARK;
    1424           13 :  else if ((cmp == LT_EXPR || cmp == GE_EXPR)
    1425           13 :  && real_less (&TREE_REAL_CST (c3), &TREE_REAL_CST (captures[1])))
    1426            4 :  ncmp = cmp == LT_EXPR ? LE_EXPR : GT_EXPR;
    1427            9 :  else if ((cmp == LE_EXPR || cmp == GT_EXPR)
    1428           13 :  && real_less (&TREE_REAL_CST (captures[1]), &TREE_REAL_CST (c3)))
    1429            1 :  ncmp = cmp == LE_EXPR ? LT_EXPR : GE_EXPR;
    1430              :  else
    1431              :  {
    1432            8 :  REAL_VALUE_TYPE c2alt, tow;
    1433            8 :  if (cmp == LT_EXPR || cmp == GE_EXPR)
    1434            5 :  tow = dconst0;
    1435              :  else
    1436            3 :  tow = dconstinf;
    1437            8 :  real_nextafter (&c2alt, fmt, &c2, &tow);
    1438            8 :  real_convert (&c2alt, fmt, &c2alt);
    1439            8 :  if (REAL_VALUE_ISINF (c2alt))
    1440              :  ncmp = ERROR_MARK;
    1441              :  else
    1442              :  {
    1443            8 :  c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1444            8 :  build_real (TREE_TYPE (captures[0]), c2alt));
    1445            8 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1446              :  ncmp = ERROR_MARK;
    1447            8 :  else if (real_equal (&TREE_REAL_CST (c3),
    1448            8 :  &TREE_REAL_CST (captures[1])))
    1449            8 :  c2 = c2alt;
    1450              :  }
    1451              :  }
    1452              :  }
    1453           12 :                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1454              : )
    1455              :                         {
    1456            5 :                           if (REAL_VALUE_ISINF (c2)
    1457              : )
    1458              :                             {
    1459            1 :                               if (HONOR_INFINITIES (captures[0])
    1460              : )
    1461              :                                 {
    1462            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail452;
    1463            0 :                                   {
    1464            0 :                                     tree res_op0;
    1465            0 :                                     res_op0 = captures[0];
    1466            0 :                                     tree res_op1;
    1467            0 :                                     res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1468            0 :                                     tree _r;
    1469            0 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1470            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1471            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1472            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 363, __FILE__, __LINE__, true);
    1473           14 :                                     return _r;
    1474              :                                   }
    1475            0 : next_after_fail452:;
    1476              :                                 }
    1477              :                               else
    1478              :                                 {
    1479            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail453;
    1480            1 :                                   {
    1481            1 :                                     tree _r;
    1482            1 :                                     _r =  constant_boolean_node (false, type);
    1483            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1484            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1485            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1486            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1487            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 364, __FILE__, __LINE__, true);
    1488            1 :                                     return _r;
    1489              :                                   }
    1490            0 : next_after_fail453:;
    1491              :                                 }
    1492              :                             }
    1493              :                           else
    1494              :                             {
    1495            4 :                               if (ncmp != ERROR_MARK
    1496              : )
    1497              :                                 {
    1498            4 :                                   if (ncmp == GE_EXPR
    1499              : )
    1500              :                                     {
    1501            1 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail454;
    1502            1 :                                       {
    1503            1 :                                         tree res_op0;
    1504            1 :                                         res_op0 = captures[0];
    1505            1 :                                         tree res_op1;
    1506            1 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1507            1 :                                         tree _r;
    1508            1 :                                         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1509            1 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1510            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1511            1 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 365, __FILE__, __LINE__, true);
    1512            1 :                                         return _r;
    1513              :                                       }
    1514            0 : next_after_fail454:;
    1515              :                                     }
    1516              :                                   else
    1517              :                                     {
    1518            3 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail455;
    1519            3 :                                       {
    1520            3 :                                         tree res_op0;
    1521            3 :                                         res_op0 = captures[0];
    1522            3 :                                         tree res_op1;
    1523            3 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1524            3 :                                         tree _r;
    1525            3 :                                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1526            3 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1527            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1528            3 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 366, __FILE__, __LINE__, true);
    1529            3 :                                         return _r;
    1530              :                                       }
    1531            0 : next_after_fail455:;
    1532              :                                     }
    1533              :                                 }
    1534              :                             }
    1535              :                         }
    1536              :                       else
    1537              :                         {
    1538           11 :                           if (REAL_VALUE_ISINF (c2)
    1539              : )
    1540              :                             {
    1541            2 :                               if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
    1542              : )
    1543              :                                 {
    1544            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail456;
    1545            1 :                                   {
    1546            1 :                                     tree _r;
    1547            1 :                                     _r =  constant_boolean_node (true, type);
    1548            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1549            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1550            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1551            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1552            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 367, __FILE__, __LINE__, true);
    1553            1 :                                     return _r;
    1554              :                                   }
    1555            0 : next_after_fail456:;
    1556              :                                 }
    1557              :                               else
    1558              :                                 {
    1559            1 :                                   if (! HONOR_NANS (captures[0])
    1560              : )
    1561              :                                     {
    1562            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail457;
    1563            0 :                                       {
    1564            0 :                                         tree res_op0;
    1565            0 :                                         res_op0 = captures[0];
    1566            0 :                                         tree res_op1;
    1567            0 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1568            0 :                                         tree _r;
    1569            0 :                                         _r = fold_build2_loc (loc, NE_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", 368, __FILE__, __LINE__, true);
    1573            0 :                                         return _r;
    1574              :                                       }
    1575            0 : next_after_fail457:;
    1576              :                                     }
    1577              :                                   else
    1578              :                                     {
    1579            1 :                                       if (! HONOR_INFINITIES (captures[0])
    1580              : )
    1581              :                                         {
    1582            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail458;
    1583            0 :                                           {
    1584            0 :                                             tree res_op0;
    1585            0 :                                             res_op0 = captures[0];
    1586            0 :                                             tree res_op1;
    1587            0 :                                             res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1588            0 :                                             tree _r;
    1589            0 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1590            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1591            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1592            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 369, __FILE__, __LINE__, true);
    1593            0 :                                             return _r;
    1594              :                                           }
    1595            0 : next_after_fail458:;
    1596              :                                         }
    1597              :                                       else
    1598              :                                         {
    1599            1 :                                           if (1
    1600              : )
    1601              :                                             {
    1602            1 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail459;
    1603            1 :                                               {
    1604            1 :                                                 if (! tree_invariant_p (captures[0])) goto next_after_fail459;
    1605            0 :                                                 tree res_op0;
    1606            0 :                                                 {
    1607            0 :                                                   tree _o1[2], _r1;
    1608            0 :                                                   _o1[0] = unshare_expr (captures[0]);
    1609            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1610            0 :                                                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1611            0 :                                                   res_op0 = _r1;
    1612              :                                                 }
    1613            0 :                                                 tree res_op1;
    1614            0 :                                                 {
    1615            0 :                                                   tree _o1[2], _r1;
    1616            0 :                                                   _o1[0] = captures[0];
    1617            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1618            0 :                                                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    1619            0 :                                                   res_op1 = _r1;
    1620              :                                                 }
    1621            0 :                                                 tree _r;
    1622            0 :                                                 _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1623            0 :                                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1624            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1625            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 370, __FILE__, __LINE__, true);
    1626            0 :                                                 return _r;
    1627              :                                               }
    1628            2 : next_after_fail459:;
    1629              :                                             }
    1630              :                                         }
    1631              :                                     }
    1632              :                                 }
    1633              :                             }
    1634              :                           else
    1635              :                             {
    1636            9 :                               if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
    1637              : )
    1638              :                                 {
    1639            8 :                                   if (ncmp == LT_EXPR
    1640              : )
    1641              :                                     {
    1642            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail460;
    1643            4 :                                       {
    1644            4 :                                         tree res_op0;
    1645            4 :                                         res_op0 = captures[0];
    1646            4 :                                         tree res_op1;
    1647            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1648            4 :                                         tree _r;
    1649            4 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    1650            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1651            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1652            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 371, __FILE__, __LINE__, true);
    1653            4 :                                         return _r;
    1654              :                                       }
    1655            0 : next_after_fail460:;
    1656              :                                     }
    1657              :                                   else
    1658              :                                     {
    1659            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail461;
    1660            4 :                                       {
    1661            4 :                                         tree res_op0;
    1662            4 :                                         res_op0 = captures[0];
    1663            4 :                                         tree res_op1;
    1664            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1665            4 :                                         tree _r;
    1666            4 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1667            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1668            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1669            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 372, __FILE__, __LINE__, true);
    1670            4 :                                         return _r;
    1671              :                                       }
    1672            0 : next_after_fail461:;
    1673              :                                     }
    1674              :                                 }
    1675              :                               else
    1676              :                                 {
    1677            1 :                                   if (ncmp != ERROR_MARK &&
    1678              : 1
    1679              : )
    1680              :                                     {
    1681            1 :                                       if (ncmp == LT_EXPR
    1682              : )
    1683              :                                         {
    1684            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail462;
    1685            1 :                                           {
    1686            1 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail462;
    1687            0 :                                             tree res_op0;
    1688            0 :                                             {
    1689            0 :                                               tree _o1[2], _r1;
    1690            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1691            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1692            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1693            0 :                                               res_op0 = _r1;
    1694              :                                             }
    1695            0 :                                             tree res_op1;
    1696            0 :                                             {
    1697            0 :                                               tree _o1[2], _r1;
    1698            0 :                                               _o1[0] = captures[0];
    1699            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1700            0 :                                               _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    1701            0 :                                               res_op1 = _r1;
    1702              :                                             }
    1703            0 :                                             tree _r;
    1704            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1705            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1706            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1707            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 373, __FILE__, __LINE__, true);
    1708            0 :                                             return _r;
    1709              :                                           }
    1710            2 : next_after_fail462:;
    1711              :                                         }
    1712              :                                       else
    1713              :                                         {
    1714            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail463;
    1715            0 :                                           {
    1716            0 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail463;
    1717            0 :                                             tree res_op0;
    1718            0 :                                             {
    1719            0 :                                               tree _o1[2], _r1;
    1720            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1721            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1722            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1723            0 :                                               res_op0 = _r1;
    1724              :                                             }
    1725            0 :                                             tree res_op1;
    1726            0 :                                             {
    1727            0 :                                               tree _o1[2], _r1;
    1728            0 :                                               _o1[0] = captures[0];
    1729            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1730            0 :                                               _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    1731            0 :                                               res_op1 = _r1;
    1732              :                                             }
    1733            0 :                                             tree _r;
    1734            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1735            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1736            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1737            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 374, __FILE__, __LINE__, true);
    1738            0 :                                             return _r;
    1739              :                                           }
    1740            2 : next_after_fail463:;
    1741              :                                         }
    1742              :                                     }
    1743              :                                 }
    1744              :                             }
    1745              :                         }
    1746              :                   }
    1747              :                 }
    1748              :             }
    1749              :         }
    1750              :     }
    1751              :   return NULL_TREE;
    1752              : }
    1753              : 
    1754              : tree
    1755            6 : generic_simplify_332 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1756              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1757              :  const combined_fn ARG_UNUSED (SIN),
    1758              :  const combined_fn ARG_UNUSED (TAN),
    1759              :  const combined_fn ARG_UNUSED (COS))
    1760              : {
    1761            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1762            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1763              : )
    1764              :     {
    1765            6 :       if (! HONOR_NANS (captures[1])
    1766            6 :  && ! HONOR_INFINITIES (captures[1])
    1767              : )
    1768              :         {
    1769            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail601;
    1770            6 :           {
    1771            6 :             tree res_op0;
    1772            6 :             res_op0 = captures[1];
    1773            6 :             tree _r;
    1774            6 :             _r = maybe_build_call_expr_loc (loc, COS, type, 1, res_op0);
    1775            6 :             if (!_r)
    1776            0 :               goto next_after_fail601;
    1777            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 493, __FILE__, __LINE__, true);
    1778            6 :             return _r;
    1779              :           }
    1780              : next_after_fail601:;
    1781              :         }
    1782              :     }
    1783              :   return NULL_TREE;
    1784              : }
    1785              : 
    1786              : tree
    1787         7400 : generic_simplify_341 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1788              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1789              :  const enum tree_code ARG_UNUSED (cmp),
    1790              :  const enum tree_code ARG_UNUSED (op))
    1791              : {
    1792         7400 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1793         7400 :   {
    1794         7400 :  tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
    1795         7400 :       if (types_match (from_type, to_type)
    1796         7400 :  || (TYPE_UNSIGNED (from_type)
    1797           37 :  && !TYPE_UNSIGNED (to_type)
    1798           37 :  && TYPE_PRECISION (from_type) == TYPE_PRECISION (to_type)
    1799           37 :  && integer_zerop (captures[1])
    1800           31 :  && (cmp == LT_EXPR || cmp == GE_EXPR))
    1801              : )
    1802              :         {
    1803         7370 :           {
    1804         7370 :  wi::overflow_type overflow = wi::OVF_NONE;
    1805         7370 :  enum tree_code code, cmp_code = cmp;
    1806         7370 :  wide_int real_c1;
    1807         7370 :  wide_int c1 = wi::to_wide (captures[1]);
    1808         7370 :  wide_int c2 = wi::to_wide (captures[2]);
    1809         7370 :  wide_int c3 = wi::to_wide (captures[3]);
    1810         7370 :  signop sgn = TYPE_SIGN (from_type);
    1811         7370 :  if (!types_match (from_type, to_type))
    1812              :  {
    1813            7 :  if (cmp_code == LT_EXPR)
    1814              :  cmp_code = GT_EXPR;
    1815            0 :  if (cmp_code == GE_EXPR)
    1816            0 :  cmp_code = LE_EXPR;
    1817            7 :  c1 = wi::max_value (to_type);
    1818              :  }
    1819         7370 :  if (op == PLUS_EXPR)
    1820         7370 :  real_c1 = wi::sub (c3, c2, sgn, &overflow);
    1821              :  else
    1822            0 :  real_c1 = wi::add (c3, c2, sgn, &overflow);
    1823         7370 :  code = cmp_code;
    1824         7370 :  if (!overflow || !TYPE_OVERFLOW_UNDEFINED (from_type))
    1825              :  {
    1826        14740 :  if (!wi::cmp (wi::sub (real_c1, 1, sgn, &overflow), c1, sgn)
    1827         7370 :  && !overflow)
    1828              :  {
    1829          631 :  if (cmp_code == LE_EXPR)
    1830              :  code = LT_EXPR;
    1831          631 :  if (cmp_code == GT_EXPR)
    1832         7370 :  code = GE_EXPR;
    1833              :  }
    1834        14740 :  if (!wi::cmp (wi::add (real_c1, 1, sgn, &overflow), c1, sgn)
    1835         7370 :  && !overflow)
    1836              :  {
    1837         6309 :  if (cmp_code == LT_EXPR)
    1838              :  code = LE_EXPR;
    1839         6309 :  if (cmp_code == GE_EXPR)
    1840              :  code = GT_EXPR;
    1841              :  }
    1842         1078 :  if (code != cmp_code || !wi::cmp (real_c1, c1, sgn))
    1843              :  {
    1844         7147 :  if (cmp_code == LT_EXPR || cmp_code == LE_EXPR)
    1845              :  code = MIN_EXPR;
    1846         7147 :  if (cmp_code == GT_EXPR || cmp_code == GE_EXPR)
    1847              :  code = MAX_EXPR;
    1848              :  }
    1849              :  }
    1850          223 :               if (code == MAX_EXPR
    1851              : )
    1852              :                 {
    1853         7147 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail612;
    1854         7147 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail612;
    1855         7147 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail612;
    1856         7147 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail612;
    1857         7147 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail612;
    1858         7147 :                   {
    1859         7147 :                     tree res_op0;
    1860         7147 :                     {
    1861         7147 :                       tree _o1[2], _r1;
    1862         7147 :                       _o1[0] = captures[0];
    1863         7147 :                       _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1864         7147 :                       _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1865         7147 :                       res_op0 = _r1;
    1866              :                     }
    1867         7147 :                     tree res_op1;
    1868         7147 :                     res_op1 =  wide_int_to_tree (from_type, c2);
    1869         7147 :                     tree _r;
    1870         7147 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1871         7147 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 504, __FILE__, __LINE__, true);
    1872         7147 :                     return _r;
    1873              :                   }
    1874          223 : next_after_fail612:;
    1875              :                 }
    1876              :               else
    1877              :                 {
    1878          223 :                   if (code == MIN_EXPR
    1879              : )
    1880              :                     {
    1881            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail613;
    1882            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail613;
    1883            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail613;
    1884            0 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail613;
    1885            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail613;
    1886            0 :                       {
    1887            0 :                         tree res_op0;
    1888            0 :                         {
    1889            0 :                           tree _o1[2], _r1;
    1890            0 :                           _o1[0] = captures[0];
    1891            0 :                           _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1892            0 :                           _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1893            0 :                           res_op0 = _r1;
    1894              :                         }
    1895            0 :                         tree res_op1;
    1896            0 :                         res_op1 =  wide_int_to_tree (from_type, c2);
    1897            0 :                         tree _r;
    1898            0 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1899            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 505, __FILE__, __LINE__, true);
    1900            0 :                         return _r;
    1901              :                       }
    1902          223 : next_after_fail613:;
    1903              :                     }
    1904              :                 }
    1905         7370 :           }
    1906              :         }
    1907              :   }
    1908              :   return NULL_TREE;
    1909              : }
    1910              : 
    1911              : tree
    1912          104 : generic_simplify_371 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1913              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1914              :  const enum tree_code ARG_UNUSED (cmp))
    1915              : {
    1916          104 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1917          104 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1918              : )
    1919              :     {
    1920            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail650;
    1921            0 :       {
    1922            0 :         tree _r;
    1923            0 :         _r =  constant_boolean_node (cmp == LT_EXPR, type);
    1924            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1925            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1926            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1927            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1928            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 540, __FILE__, __LINE__, true);
    1929            0 :         return _r;
    1930              :       }
    1931            0 : next_after_fail650:;
    1932              :     }
    1933              :   return NULL_TREE;
    1934              : }
    1935              : 
    1936              : tree
    1937          435 : generic_simplify_377 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1938              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1939              :  const enum tree_code ARG_UNUSED (op))
    1940              : {
    1941          435 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1942          870 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1943          870 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1944              : )
    1945              :     {
    1946            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail657;
    1947            0 :       {
    1948            0 :         tree res_op0;
    1949            0 :         res_op0 = captures[2];
    1950            0 :         tree res_op1;
    1951            0 :         res_op1 = captures[1];
    1952            0 :         tree _r;
    1953            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1954            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1955            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1956            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 547, __FILE__, __LINE__, true);
    1957            0 :         return _r;
    1958              :       }
    1959            0 : next_after_fail657:;
    1960              :     }
    1961              :   return NULL_TREE;
    1962              : }
    1963              : 
    1964              : tree
    1965            0 : generic_simplify_384 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1966              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1967              :  const enum tree_code ARG_UNUSED (cmp),
    1968              :  const enum tree_code ARG_UNUSED (cmp2))
    1969              : {
    1970            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1971            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1972            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1973            0 :  && wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    1974              : )
    1975              :     {
    1976            0 :       {
    1977            0 :  tree utype = TREE_TYPE (captures[2]);
    1978            0 :  wide_int denom = wi::to_wide (captures[1]);
    1979            0 :  wide_int right = wi::to_wide (captures[2]);
    1980            0 :  wide_int smax = wi::sdiv_trunc (wi::max_value (TREE_TYPE (captures[0])), denom);
    1981            0 :  wide_int smin = wi::sdiv_trunc (wi::min_value (TREE_TYPE (captures[0])), denom);
    1982            0 :  bool small = wi::leu_p (right, smax);
    1983            0 :  bool large = wi::geu_p (right, smin);
    1984            0 :           if (small || large
    1985              : )
    1986              :             {
    1987            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail666;
    1988            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail666;
    1989            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail666;
    1990            0 :               {
    1991            0 :                 tree res_op0;
    1992            0 :                 {
    1993            0 :                   tree _o1[1], _r1;
    1994            0 :                   _o1[0] = captures[0];
    1995            0 :                   if (TREE_TYPE (_o1[0]) != utype)
    1996              :                     {
    1997            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1998              :                     }
    1999              :                   else
    2000              :                     _r1 = _o1[0];
    2001            0 :                   res_op0 = _r1;
    2002              :                 }
    2003            0 :                 tree res_op1;
    2004            0 :                 {
    2005            0 :                   tree _o1[2], _r1;
    2006            0 :                   _o1[0] = captures[2];
    2007            0 :                   {
    2008            0 :                     tree _o2[1], _r2;
    2009            0 :                     _o2[0] = captures[1];
    2010            0 :                     if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    2011              :                       {
    2012            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    2013              :                       }
    2014              :                     else
    2015              :                       _r2 = _o2[0];
    2016            0 :                     _o1[1] = _r2;
    2017              :                   }
    2018            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2019            0 :                   res_op1 = _r1;
    2020              :                 }
    2021            0 :                 tree _r;
    2022            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2023            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 556, __FILE__, __LINE__, true);
    2024            0 :                 return _r;
    2025              :               }
    2026            0 : next_after_fail666:;
    2027              :             }
    2028              :           else
    2029              :             {
    2030            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail667;
    2031            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail667;
    2032            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail667;
    2033            0 :               {
    2034            0 :                 tree res_op0;
    2035            0 :                 res_op0 = captures[0];
    2036            0 :                 tree res_op1;
    2037            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    2038            0 :                 tree _r;
    2039            0 :                 _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2040            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 557, __FILE__, __LINE__, true);
    2041            0 :                 return _r;
    2042              :               }
    2043            0 : next_after_fail667:;
    2044              :             }
    2045            0 :       }
    2046              :     }
    2047              :   return NULL_TREE;
    2048              : }
    2049              : 
    2050              : tree
    2051            0 : generic_simplify_400 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2052              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2053              :  const enum tree_code ARG_UNUSED (cmp))
    2054              : {
    2055            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2056            0 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2057            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2058              : )
    2059              :     {
    2060            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail720;
    2061            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail720;
    2062            0 :       {
    2063            0 :         tree res_op0;
    2064            0 :         res_op0 = captures[1];
    2065            0 :         tree res_op1;
    2066            0 :         res_op1 = captures[0];
    2067            0 :         tree _r;
    2068            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2069            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 575, __FILE__, __LINE__, true);
    2070            0 :         return _r;
    2071              :       }
    2072              : next_after_fail720:;
    2073              :     }
    2074              :   return NULL_TREE;
    2075              : }
    2076              : 
    2077              : tree
    2078            0 : generic_simplify_404 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2079              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2080              :  const combined_fn ARG_UNUSED (logs),
    2081              :  const combined_fn ARG_UNUSED (exps),
    2082              :  const enum tree_code ARG_UNUSED (cmp))
    2083              : {
    2084            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2085            0 :   if (flag_unsafe_math_optimizations
    2086              : )
    2087              :     {
    2088            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2089            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2090            0 :  && ! flag_trapping_math
    2091            0 :  && ! flag_errno_math
    2092              : )
    2093              :         {
    2094            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail724;
    2095            0 :           {
    2096            0 :             tree res_op0;
    2097            0 :             res_op0 = captures[1];
    2098            0 :             tree res_op1;
    2099            0 :             {
    2100            0 :               tree _o1[1], _r1;
    2101            0 :               _o1[0] = captures[2];
    2102            0 :               _r1 = maybe_build_call_expr_loc (loc, exps, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2103            0 :               if (!_r1)
    2104            0 :                 goto next_after_fail724;
    2105            0 :               if (EXPR_P (_r1))
    2106            0 :                 goto next_after_fail724;
    2107            0 :               res_op1 = _r1;
    2108              :             }
    2109            0 :             tree _r;
    2110            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2111            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 593, __FILE__, __LINE__, true);
    2112            0 :             return _r;
    2113              :           }
    2114              : next_after_fail724:;
    2115              :         }
    2116              :     }
    2117              :   return NULL_TREE;
    2118              : }
    2119              : 
    2120              : tree
    2121      2029793 : generic_simplify_409 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2122              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2123              :  const enum tree_code ARG_UNUSED (shift))
    2124              : {
    2125      2029793 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2126      2029793 :   if ((
    2127              : 
    2128      2029793 :  || !sanitize_flags_p (SANITIZE_SHIFT_EXPONENT))
    2129      2027852 :  && (TYPE_UNSIGNED (type)
    2130       382563 :  || shift == LSHIFT_EXPR
    2131       189576 :  || tree_expr_nonnegative_p (captures[0]))
    2132      3870063 :  && wi::ges_p (wi::to_wide (uniform_integer_cst_p (captures[1])),
    2133      3868841 :  element_precision (type))
    2134              : )
    2135              :     {
    2136         1222 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail733;
    2137         1222 :       {
    2138         1222 :         tree _r;
    2139         1222 :         _r =  build_zero_cst (type);
    2140         1222 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2141            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2142         1222 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2143            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2144         1222 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 602, __FILE__, __LINE__, true);
    2145         1222 :         return _r;
    2146              :       }
    2147            0 : next_after_fail733:;
    2148              :     }
    2149              :   return NULL_TREE;
    2150              : }
    2151              : 
    2152              : tree
    2153           67 : generic_simplify_418 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2154              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2155              : {
    2156           67 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2157           67 :   if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
    2158              : )
    2159              :     {
    2160           67 :       if (TYPE_UNSIGNED (type)
    2161              : )
    2162              :         {
    2163            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail745;
    2164            2 :           {
    2165            2 :             tree res_op0;
    2166            2 :             {
    2167            2 :               tree _o1[1], _r1;
    2168            2 :               _o1[0] = captures[0];
    2169            2 :               if (TREE_TYPE (_o1[0]) != type)
    2170              :                 {
    2171            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2172              :                 }
    2173              :               else
    2174              :                 _r1 = _o1[0];
    2175            2 :               res_op0 = _r1;
    2176              :             }
    2177            2 :             tree res_op1;
    2178            2 :             {
    2179            2 :               tree _o1[2], _r1;
    2180            2 :               _o1[0] =  build_minus_one_cst (type);
    2181            2 :               _o1[1] = captures[1];
    2182            2 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2183            2 :               res_op1 = _r1;
    2184              :             }
    2185            2 :             tree _r;
    2186            2 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2187            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 612, __FILE__, __LINE__, true);
    2188            2 :             return _r;
    2189              :           }
    2190            0 : next_after_fail745:;
    2191              :         }
    2192              :       else
    2193              :         {
    2194           65 :           if (INTEGRAL_TYPE_P (type)
    2195              : )
    2196              :             {
    2197           65 :               {
    2198           65 :  int width = element_precision (type) - tree_to_uhwi (captures[1]);
    2199           65 :  tree stype = NULL_TREE;
    2200          130 :  if (width <= MAX_FIXED_MODE_SIZE)
    2201           65 :  stype = build_nonstandard_integer_type (width, 0);
    2202           65 :                   if (stype && (width == 1 || type_has_mode_precision_p (stype))
    2203              : )
    2204              :                     {
    2205           25 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail746;
    2206           25 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail746;
    2207           25 :                       {
    2208           25 :                         tree res_op0;
    2209           25 :                         {
    2210           25 :                           tree _o1[1], _r1;
    2211           25 :                           _o1[0] = captures[0];
    2212           25 :                           if (TREE_TYPE (_o1[0]) != stype)
    2213              :                             {
    2214           25 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    2215              :                             }
    2216              :                           else
    2217              :                             _r1 = _o1[0];
    2218           25 :                           res_op0 = _r1;
    2219              :                         }
    2220           25 :                         tree _r;
    2221           25 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2222           25 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 613, __FILE__, __LINE__, true);
    2223           25 :                         return _r;
    2224              :                       }
    2225              : next_after_fail746:;
    2226              :                     }
    2227              :               }
    2228              :             }
    2229              :         }
    2230              :     }
    2231              :   return NULL_TREE;
    2232              : }
    2233              : 
    2234              : tree
    2235      9343684 : generic_simplify_425 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2236              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2237              :  const enum tree_code ARG_UNUSED (op))
    2238              : {
    2239      9343684 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2240      9343684 :   if (INTEGRAL_TYPE_P (type)
    2241      8484843 :  && op != MULT_EXPR
    2242      8484843 :  && op != RDIV_EXPR
    2243      4062651 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2244      3659410 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2245      3659410 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2246      3552591 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2247      3552583 :  && type_has_mode_precision_p (type)
    2248      3544130 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2249      1129660 :  && types_match (captures[2], type)
    2250      9358576 :  && (types_match (captures[2], captures[4])
    2251        14892 :  || poly_int_tree_p (captures[3]))
    2252              : )
    2253              :     {
    2254        10988 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2255              : )
    2256              :         {
    2257         6020 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail761;
    2258         6020 :           {
    2259         6020 :             tree res_op0;
    2260         6020 :             res_op0 = captures[2];
    2261         6020 :             tree res_op1;
    2262         6020 :             {
    2263         6020 :               tree _o1[1], _r1;
    2264         6020 :               _o1[0] = captures[4];
    2265         6020 :               if (TREE_TYPE (_o1[0]) != type)
    2266              :                 {
    2267         6020 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2268              :                 }
    2269              :               else
    2270              :                 _r1 = _o1[0];
    2271         6020 :               res_op1 = _r1;
    2272              :             }
    2273         6020 :             tree _r;
    2274         6020 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2275         6020 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 624, __FILE__, __LINE__, true);
    2276         6020 :             return _r;
    2277              :           }
    2278            0 : next_after_fail761:;
    2279              :         }
    2280              :       else
    2281              :         {
    2282         4968 :           {
    2283         4968 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2284         4968 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail762;
    2285         4968 :               {
    2286         4968 :                 tree res_op0;
    2287         4968 :                 {
    2288         4968 :                   tree _o1[2], _r1;
    2289         4968 :                   {
    2290         4968 :                     tree _o2[1], _r2;
    2291         4968 :                     _o2[0] = captures[2];
    2292         4968 :                     if (TREE_TYPE (_o2[0]) != utype)
    2293              :                       {
    2294         4968 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2295              :                       }
    2296              :                     else
    2297              :                       _r2 = _o2[0];
    2298         4968 :                     _o1[0] = _r2;
    2299              :                   }
    2300         4968 :                   {
    2301         4968 :                     tree _o2[1], _r2;
    2302         4968 :                     _o2[0] = captures[4];
    2303         4968 :                     if (TREE_TYPE (_o2[0]) != utype)
    2304              :                       {
    2305         4968 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2306              :                       }
    2307              :                     else
    2308              :                       _r2 = _o2[0];
    2309         4968 :                     _o1[1] = _r2;
    2310              :                   }
    2311         4968 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2312         4968 :                   res_op0 = _r1;
    2313              :                 }
    2314         4968 :                 tree _r;
    2315         4968 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2316         4968 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 625, __FILE__, __LINE__, true);
    2317         4968 :                 return _r;
    2318              :               }
    2319            0 : next_after_fail762:;
    2320              :           }
    2321              :         }
    2322              :     }
    2323              :   else
    2324              :     {
    2325      9300993 :       if (FLOAT_TYPE_P (type)
    2326      9364399 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2327        31703 :  == DECIMAL_FLOAT_TYPE_P (type)
    2328              : )
    2329              :         {
    2330        31677 :           {
    2331        31677 :  tree arg0 = strip_float_extensions (captures[2]);
    2332        31677 :  tree arg1 = strip_float_extensions (captures[4]);
    2333        31677 :  tree itype = TREE_TYPE (captures[0]);
    2334        31677 :  tree ty1 = TREE_TYPE (arg0);
    2335        31677 :  tree ty2 = TREE_TYPE (arg1);
    2336        31677 :  enum tree_code code = TREE_CODE (itype);
    2337            0 :               if (FLOAT_TYPE_P (ty1)
    2338        31677 :  && FLOAT_TYPE_P (ty2)
    2339              : )
    2340              :                 {
    2341        31677 :                   {
    2342        31677 :  tree newtype = type;
    2343        31677 :  if (TYPE_MODE (ty1) == SDmode
    2344        31415 :  || TYPE_MODE (ty2) == SDmode
    2345        63092 :  || TYPE_MODE (type) == SDmode)
    2346          262 :  newtype = dfloat32_type_node;
    2347        31677 :  if (TYPE_MODE (ty1) == DDmode
    2348        31545 :  || TYPE_MODE (ty2) == DDmode
    2349        63095 :  || TYPE_MODE (type) == DDmode)
    2350          259 :  newtype = dfloat64_type_node;
    2351        31677 :  if (TYPE_MODE (ty1) == TDmode
    2352        31677 :  || TYPE_MODE (ty2) == TDmode
    2353        63102 :  || TYPE_MODE (type) == TDmode)
    2354          267 :  newtype = dfloat128_type_node;
    2355        31677 :                       if ((newtype == dfloat32_type_node
    2356        31677 :  || newtype == dfloat64_type_node
    2357        31550 :  || newtype == dfloat128_type_node)
    2358          394 :  && newtype == type
    2359        31683 :  && types_match (newtype, type)
    2360              : )
    2361              :                         {
    2362            6 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail763;
    2363            0 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail763;
    2364            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail763;
    2365            0 :                           {
    2366            0 :                             tree res_op0;
    2367            0 :                             {
    2368            0 :                               tree _o1[1], _r1;
    2369            0 :                               _o1[0] = captures[2];
    2370            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2371              :                                 {
    2372            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2373              :                                 }
    2374              :                               else
    2375              :                                 _r1 = _o1[0];
    2376            0 :                               res_op0 = _r1;
    2377              :                             }
    2378            0 :                             tree res_op1;
    2379            0 :                             {
    2380            0 :                               tree _o1[1], _r1;
    2381            0 :                               _o1[0] = captures[4];
    2382            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2383              :                                 {
    2384            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2385              :                                 }
    2386              :                               else
    2387              :                                 _r1 = _o1[0];
    2388            0 :                               res_op1 = _r1;
    2389              :                             }
    2390            0 :                             tree _r;
    2391            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2392            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 626, __FILE__, __LINE__, true);
    2393            0 :                             return _r;
    2394              :                           }
    2395              : next_after_fail763:;
    2396              :                         }
    2397              :                       else
    2398              :                         {
    2399        31671 :                           {
    2400        31671 :  if (element_precision (ty1) > element_precision (newtype))
    2401           14 :  newtype = ty1;
    2402        31671 :  if (element_precision (ty2) > element_precision (newtype))
    2403         3960 :  newtype = ty2;
    2404        31671 :                               if (element_precision (newtype) < element_precision (itype)
    2405        14961 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2406            0 :  || target_supports_op_p (newtype, op, optab_default))
    2407        14961 :  && (flag_unsafe_math_optimizations
    2408        14936 :  || (element_precision (newtype) == element_precision (type)
    2409        14912 :  && real_can_shorten_arithmetic (element_mode (itype),
    2410              :  element_mode (type))
    2411         6459 :  && !excess_precision_type (newtype)))
    2412        34936 :  && !types_match (itype, newtype)
    2413              : )
    2414              :                                 {
    2415         3265 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail764;
    2416         3264 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail764;
    2417         3256 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail764;
    2418         3256 :                                   {
    2419         3256 :                                     tree res_op0;
    2420         3256 :                                     {
    2421         3256 :                                       tree _o1[2], _r1;
    2422         3256 :                                       {
    2423         3256 :                                         tree _o2[1], _r2;
    2424         3256 :                                         _o2[0] = captures[2];
    2425         3256 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2426              :                                           {
    2427            3 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2428              :                                           }
    2429              :                                         else
    2430              :                                           _r2 = _o2[0];
    2431         3256 :                                         _o1[0] = _r2;
    2432              :                                       }
    2433         3256 :                                       {
    2434         3256 :                                         tree _o2[1], _r2;
    2435         3256 :                                         _o2[0] = captures[4];
    2436         3256 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2437              :                                           {
    2438         3256 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2439              :                                           }
    2440              :                                         else
    2441              :                                           _r2 = _o2[0];
    2442         3256 :                                         _o1[1] = _r2;
    2443              :                                       }
    2444         3256 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2445         3256 :                                       res_op0 = _r1;
    2446              :                                     }
    2447         3256 :                                     tree _r;
    2448         3256 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2449         3256 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 627, __FILE__, __LINE__, true);
    2450         3256 :                                     return _r;
    2451              :                                   }
    2452              : next_after_fail764:;
    2453              :                                 }
    2454              :                           }
    2455              :                         }
    2456              :                   }
    2457              :                 }
    2458              :           }
    2459              :         }
    2460              :     }
    2461              :   return NULL_TREE;
    2462              : }
    2463              : 
    2464              : tree
    2465            2 : generic_simplify_456 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2466              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2467              : {
    2468            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2469            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail801;
    2470            2 :   {
    2471            2 :     tree res_op0;
    2472            2 :     {
    2473            2 :       tree _o1[2], _r1;
    2474            2 :       _o1[0] = captures[1];
    2475            2 :       _o1[1] = captures[2];
    2476            2 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2477            2 :       res_op0 = _r1;
    2478              :     }
    2479            2 :     tree _r;
    2480            2 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2481            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 655, __FILE__, __LINE__, true);
    2482              :     return _r;
    2483              :   }
    2484            0 : next_after_fail801:;
    2485            0 :   return NULL_TREE;
    2486              : }
    2487              : 
    2488              : tree
    2489            8 : generic_simplify_462 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2490              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2491              :  const enum tree_code ARG_UNUSED (eqne))
    2492              : {
    2493            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2494            8 :   if (eqne == EQ_EXPR
    2495              : )
    2496              :     {
    2497            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail807;
    2498            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail807;
    2499            4 :       {
    2500            4 :         tree _r;
    2501            4 :         _r =  constant_boolean_node (false, type);
    2502            4 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2503            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2504            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 660, __FILE__, __LINE__, true);
    2505            4 :         return _r;
    2506              :       }
    2507              : next_after_fail807:;
    2508              :     }
    2509              :   else
    2510              :     {
    2511            4 :       if (eqne == NE_EXPR
    2512              : )
    2513              :         {
    2514            4 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail808;
    2515            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail808;
    2516            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail808;
    2517            4 :           {
    2518            4 :             tree _r;
    2519            4 :             _r = captures[0];
    2520            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 661, __FILE__, __LINE__, true);
    2521            4 :             return _r;
    2522              :           }
    2523              : next_after_fail808:;
    2524              :         }
    2525              :     }
    2526              :   return NULL_TREE;
    2527              : }
    2528              : 
    2529              : tree
    2530          213 : generic_simplify_472 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2531              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2532              :  const enum tree_code ARG_UNUSED (code2),
    2533              :  const enum tree_code ARG_UNUSED (code1))
    2534              : {
    2535          213 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2536          213 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2537            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2538          213 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2539            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2540            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2541            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2542          207 :  && bitwise_equal_p (captures[2], captures[5]))
    2543              : )
    2544              :     {
    2545            6 :       {
    2546            6 :  bool one_before = false;
    2547            6 :  bool one_after = false;
    2548            6 :  int cmp = 0;
    2549            6 :  bool allbits = true;
    2550            6 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2551            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2552              :  {
    2553            6 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2554            6 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2555            6 :  auto t2 = wi::to_wide (captures[5]);
    2556            6 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2557            6 :  if (cmp < 0
    2558            6 :  && t1 == t2 - 1)
    2559              :  one_before = true;
    2560            6 :  if (cmp > 0
    2561            6 :  && t1 == t2 + 1)
    2562              :  one_after = true;
    2563              :  }
    2564            6 :  bool val;
    2565            6 :  switch (code2)
    2566              :  {
    2567            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2568            2 :  case NE_EXPR: val = (cmp != 0); break;
    2569            0 :  case LT_EXPR: val = (cmp < 0); break;
    2570            4 :  case GT_EXPR: val = (cmp > 0); break;
    2571            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2572            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2573            0 :  default: gcc_unreachable ();
    2574              :  }
    2575            6 :           if (code1 == EQ_EXPR && val
    2576              : )
    2577              :             {
    2578            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail845;
    2579            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail845;
    2580            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail845;
    2581            0 :               {
    2582            0 :                 tree _r;
    2583            0 :                 _r = captures[0];
    2584            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
    2585            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2586            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 664, __FILE__, __LINE__, true);
    2587            0 :                 return _r;
    2588              :               }
    2589              : next_after_fail845:;
    2590              :             }
    2591              :           else
    2592              :             {
    2593            6 :               if (code1 == EQ_EXPR && !val
    2594              : )
    2595              :                 {
    2596            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail846;
    2597            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail846;
    2598            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail846;
    2599            0 :                   {
    2600            0 :                     tree _r;
    2601            0 :                     _r =  constant_boolean_node (false, type);
    2602            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    2603            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2604            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
    2605            0 :                     return _r;
    2606              :                   }
    2607              : next_after_fail846:;
    2608              :                 }
    2609              :               else
    2610              :                 {
    2611            6 :                   if (code1 == NE_EXPR && !val && allbits
    2612              : )
    2613              :                     {
    2614            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail847;
    2615            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail847;
    2616            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail847;
    2617            0 :                       {
    2618            0 :                         tree _r;
    2619            0 :                         _r = captures[3];
    2620            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 666, __FILE__, __LINE__, true);
    2621            0 :                         return _r;
    2622              :                       }
    2623              : next_after_fail847:;
    2624              :                     }
    2625              :                   else
    2626              :                     {
    2627            6 :                       if ((code1 == NE_EXPR
    2628            6 :  && code2 == GE_EXPR
    2629            0 :  && cmp == 0
    2630            0 :  && allbits)
    2631            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2632            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2633            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2634              : )
    2635              :                         {
    2636            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail848;
    2637            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail848;
    2638            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail848;
    2639            0 :                           {
    2640            0 :                             tree res_op0;
    2641            0 :                             res_op0 = captures[4];
    2642            0 :                             tree res_op1;
    2643            0 :                             {
    2644            0 :                               tree _o1[1], _r1;
    2645            0 :                               _o1[0] = captures[2];
    2646            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2647              :                                 {
    2648            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2649              :                                 }
    2650              :                               else
    2651              :                                 _r1 = _o1[0];
    2652            0 :                               res_op1 = _r1;
    2653              :                             }
    2654            0 :                             tree _r;
    2655            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2656            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 667, __FILE__, __LINE__, true);
    2657            0 :                             return _r;
    2658              :                           }
    2659              : next_after_fail848:;
    2660              :                         }
    2661              :                       else
    2662              :                         {
    2663            6 :                           if ((code1 == NE_EXPR
    2664            6 :  && code2 == LE_EXPR
    2665            0 :  && cmp == 0
    2666            0 :  && allbits)
    2667            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2668            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2669            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2670              : )
    2671              :                             {
    2672            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail849;
    2673            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail849;
    2674            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail849;
    2675            0 :                               {
    2676            0 :                                 tree res_op0;
    2677            0 :                                 res_op0 = captures[4];
    2678            0 :                                 tree res_op1;
    2679            0 :                                 {
    2680            0 :                                   tree _o1[1], _r1;
    2681            0 :                                   _o1[0] = captures[2];
    2682            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2683              :                                     {
    2684            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2685              :                                     }
    2686              :                                   else
    2687              :                                     _r1 = _o1[0];
    2688            0 :                                   res_op1 = _r1;
    2689              :                                 }
    2690            0 :                                 tree _r;
    2691            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2692            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
    2693            0 :                                 return _r;
    2694              :                               }
    2695              : next_after_fail849:;
    2696              :                             }
    2697              :                           else
    2698              :                             {
    2699            6 :                               if ((code1 == NE_EXPR
    2700            6 :  && code2 == GT_EXPR
    2701              :  && one_after
    2702            4 :  && allbits)
    2703            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2704            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2705            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2706              : )
    2707              :                                 {
    2708            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail850;
    2709            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail850;
    2710            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail850;
    2711            0 :                                   {
    2712            0 :                                     tree res_op0;
    2713            0 :                                     res_op0 = captures[4];
    2714            0 :                                     tree res_op1;
    2715            0 :                                     {
    2716            0 :                                       tree _o1[1], _r1;
    2717            0 :                                       _o1[0] = captures[2];
    2718            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2719              :                                         {
    2720            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2721              :                                         }
    2722              :                                       else
    2723              :                                         _r1 = _o1[0];
    2724            0 :                                       res_op1 = _r1;
    2725              :                                     }
    2726            0 :                                     tree _r;
    2727            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2728            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
    2729            0 :                                     return _r;
    2730              :                                   }
    2731              : next_after_fail850:;
    2732              :                                 }
    2733              :                               else
    2734              :                                 {
    2735            6 :                                   if ((code1 == NE_EXPR
    2736            6 :  && code2 == LT_EXPR
    2737              :  && one_before
    2738            0 :  && allbits)
    2739            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2740            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2741            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2742              : )
    2743              :                                     {
    2744            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail851;
    2745            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail851;
    2746            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail851;
    2747            0 :                                       {
    2748            0 :                                         tree res_op0;
    2749            0 :                                         res_op0 = captures[4];
    2750            0 :                                         tree res_op1;
    2751            0 :                                         {
    2752            0 :                                           tree _o1[1], _r1;
    2753            0 :                                           _o1[0] = captures[2];
    2754            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2755              :                                             {
    2756            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2757              :                                             }
    2758              :                                           else
    2759              :                                             _r1 = _o1[0];
    2760            0 :                                           res_op1 = _r1;
    2761              :                                         }
    2762            0 :                                         tree _r;
    2763            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2764            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 670, __FILE__, __LINE__, true);
    2765            0 :                                         return _r;
    2766              :                                       }
    2767              : next_after_fail851:;
    2768              :                                     }
    2769              :                                 }
    2770              :                             }
    2771              :                         }
    2772              :                     }
    2773              :                 }
    2774              :             }
    2775              :       }
    2776              :     }
    2777              :   return NULL_TREE;
    2778              : }
    2779              : 
    2780              : tree
    2781          147 : generic_simplify_505 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2782              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2783              : {
    2784          147 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2785          147 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail895;
    2786          147 :   {
    2787          147 :     tree res_op0;
    2788          147 :     {
    2789          147 :       tree _o1[1], _r1;
    2790          147 :       _o1[0] = captures[0];
    2791          147 :       if (TREE_TYPE (_o1[0]) != type)
    2792              :         {
    2793            0 :           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2794              :         }
    2795              :       else
    2796              :         _r1 = _o1[0];
    2797          147 :       res_op0 = _r1;
    2798              :     }
    2799          147 :     tree res_op1;
    2800          147 :     res_op1 =  build_each_one_cst (type);
    2801          147 :     tree _r;
    2802          147 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2803          147 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 708, __FILE__, __LINE__, true);
    2804              :     return _r;
    2805              :   }
    2806            0 : next_after_fail895:;
    2807            0 :   return NULL_TREE;
    2808              : }
    2809              : 
    2810              : tree
    2811            0 : generic_simplify_512 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2812              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2813              :  const enum tree_code ARG_UNUSED (minmax))
    2814              : {
    2815            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2816            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail903;
    2817            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail903;
    2818            0 :   {
    2819            0 :     tree _r;
    2820            0 :     _r = captures[0];
    2821            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
    2822              :     return _r;
    2823              :   }
    2824              : next_after_fail903:;
    2825              :   return NULL_TREE;
    2826              : }
    2827              : 
    2828              : tree
    2829            2 : generic_simplify_520 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2830              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2831              :  const enum tree_code ARG_UNUSED (op),
    2832              :  const enum tree_code ARG_UNUSED (logic))
    2833              : {
    2834            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2835            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail923;
    2836            2 :   {
    2837            2 :     tree res_op0;
    2838            2 :     res_op0 = captures[0];
    2839            2 :     tree res_op1;
    2840            2 :     res_op1 = captures[1];
    2841            2 :     tree _r;
    2842            2 :     _r = fold_build2_loc (loc, logic, type, res_op0, res_op1);
    2843            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 723, __FILE__, __LINE__, true);
    2844              :     return _r;
    2845              :   }
    2846            0 : next_after_fail923:;
    2847            0 :   return NULL_TREE;
    2848              : }
    2849              : 
    2850              : tree
    2851            0 : generic_simplify_524 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2852              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2853              :  const combined_fn ARG_UNUSED (minmax))
    2854              : {
    2855            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2856            0 :   if (real_isnan (TREE_REAL_CST_PTR (captures[1]))
    2857            0 :  && (!HONOR_SNANS (captures[1]) || !TREE_REAL_CST (captures[1]).signalling)
    2858            0 :  && !tree_expr_maybe_signaling_nan_p (captures[0])
    2859              : )
    2860              :     {
    2861            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail927;
    2862            0 :       {
    2863            0 :         tree _r;
    2864            0 :         _r = captures[0];
    2865            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2866            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2867            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 727, __FILE__, __LINE__, true);
    2868            0 :         return _r;
    2869              :       }
    2870            0 : next_after_fail927:;
    2871              :     }
    2872              :   return NULL_TREE;
    2873              : }
    2874              : 
    2875              : tree
    2876            0 : generic_simplify_532 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2877              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2878              :  const combined_fn ARG_UNUSED (bswap))
    2879              : {
    2880            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2881            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail938;
    2882            0 :   {
    2883            0 :     tree res_op0;
    2884            0 :     res_op0 = captures[0];
    2885            0 :     tree _r;
    2886            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2887            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 738, __FILE__, __LINE__, true);
    2888              :     return _r;
    2889              :   }
    2890            0 : next_after_fail938:;
    2891            0 :   return NULL_TREE;
    2892              : }
    2893              : 
    2894              : tree
    2895           12 : generic_simplify_536 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2896              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2897              :  const enum tree_code ARG_UNUSED (op))
    2898              : {
    2899           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2900           12 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail942;
    2901           12 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail942;
    2902           12 :   {
    2903           12 :     tree _r;
    2904           12 :     _r = captures[2];
    2905           12 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 520, __FILE__, __LINE__, true);
    2906              :     return _r;
    2907              :   }
    2908              : next_after_fail942:;
    2909              :   return NULL_TREE;
    2910              : }
    2911              : 
    2912              : tree
    2913            0 : generic_simplify_544 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2914              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2915              :  const combined_fn ARG_UNUSED (cond_len_op))
    2916              : {
    2917            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2918            0 :   {
    2919            0 :  tree op_type = TREE_TYPE (captures[5]);
    2920            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2921            0 :  && element_precision (type) == element_precision (op_type)
    2922              : )
    2923              :         {
    2924            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail950;
    2925            0 :           {
    2926            0 :             tree res_op0;
    2927            0 :             {
    2928            0 :               tree _o1[6], _r1;
    2929            0 :               _o1[0] = captures[2];
    2930            0 :               _o1[1] = captures[3];
    2931            0 :               _o1[2] = captures[4];
    2932            0 :               {
    2933            0 :                 tree _o2[1], _r2;
    2934            0 :                 _o2[0] = captures[1];
    2935            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2936              :                   {
    2937            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2938              :                   }
    2939              :                 else
    2940              :                   _r2 = _o2[0];
    2941            0 :                 _o1[3] = _r2;
    2942              :               }
    2943            0 :               _o1[4] = captures[6];
    2944            0 :               _o1[5] = captures[7];
    2945            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 6, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5]);
    2946            0 :               if (!_r1)
    2947            0 :                 goto next_after_fail950;
    2948            0 :               res_op0 = _r1;
    2949              :             }
    2950            0 :             tree _r;
    2951            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2952            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2953            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2954            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    2955            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    2956            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 745, __FILE__, __LINE__, true);
    2957            0 :             return _r;
    2958              :           }
    2959              : next_after_fail950:;
    2960              :         }
    2961              :   }
    2962              :   return NULL_TREE;
    2963              : }
    2964              : 
    2965              : tree
    2966            0 : generic_simplify_555 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2967              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2968              :  const combined_fn ARG_UNUSED (logs))
    2969              : {
    2970            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2971            0 :   if (flag_unsafe_math_optimizations
    2972              : )
    2973              :     {
    2974            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2975            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2976            0 :  && ! flag_trapping_math
    2977            0 :  && ! flag_errno_math
    2978              : )
    2979              :         {
    2980            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail961;
    2981            0 :           {
    2982            0 :             tree res_op0;
    2983            0 :             {
    2984            0 :               tree _o1[1], _r1;
    2985            0 :               _o1[0] = captures[1];
    2986            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2987            0 :               if (!_r1)
    2988            0 :                 goto next_after_fail961;
    2989            0 :               if (EXPR_P (_r1))
    2990            0 :                 goto next_after_fail961;
    2991            0 :               res_op0 = _r1;
    2992              :             }
    2993            0 :             tree res_op1;
    2994            0 :             {
    2995            0 :               tree _o1[1], _r1;
    2996            0 :               _o1[0] = captures[2];
    2997            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2998            0 :               if (!_r1)
    2999            0 :                 goto next_after_fail961;
    3000            0 :               res_op1 = _r1;
    3001              :             }
    3002            0 :             tree _r;
    3003            0 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3004            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 756, __FILE__, __LINE__, true);
    3005            0 :             return _r;
    3006              :           }
    3007              : next_after_fail961:;
    3008              :         }
    3009              :     }
    3010              :   return NULL_TREE;
    3011              : }
    3012              : 
    3013              : tree
    3014            0 : generic_simplify_569 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3015              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3016              :  const combined_fn ARG_UNUSED (floors))
    3017              : {
    3018            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3019            0 :   if (canonicalize_math_p ()
    3020              : )
    3021              :     {
    3022            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail975;
    3023            0 :       {
    3024            0 :         tree res_op0;
    3025            0 :         res_op0 = captures[0];
    3026            0 :         tree _r;
    3027            0 :         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3028            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 770, __FILE__, __LINE__, true);
    3029            0 :         return _r;
    3030              :       }
    3031            0 : next_after_fail975:;
    3032              :     }
    3033              :   return NULL_TREE;
    3034              : }
    3035              : 
    3036              : tree
    3037            0 : generic_simplify_578 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3038              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3039              :  const combined_fn ARG_UNUSED (fmas))
    3040              : {
    3041            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3042            0 :   if (canonicalize_math_after_vectorization_p ()
    3043              : )
    3044              :     {
    3045              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail984;
    3046              :       {
    3047              :         tree res_op0;
    3048              :         res_op0 = captures[0];
    3049              :         tree res_op1;
    3050              :         res_op1 = captures[1];
    3051              :         tree res_op2;
    3052              :         res_op2 = captures[2];
    3053              :         tree _r;
    3054              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3055              :         if (!_r)
    3056              :           goto next_after_fail984;
    3057              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 779, __FILE__, __LINE__, true);
    3058              :         return _r;
    3059              :       }
    3060            0 : next_after_fail984:;
    3061              :     }
    3062            0 :   return NULL_TREE;
    3063              : }
    3064              : 
    3065              : tree
    3066            0 : generic_simplify_588 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3067              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3068              : {
    3069            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3070            0 :   if (canonicalize_math_after_vectorization_p ()
    3071              : )
    3072              :     {
    3073              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail994;
    3074              :       {
    3075              :         tree res_op0;
    3076              :         res_op0 = captures[0];
    3077              :         tree res_op1;
    3078              :         res_op1 = captures[1];
    3079              :         tree res_op2;
    3080              :         res_op2 = captures[2];
    3081              :         tree res_op3;
    3082              :         res_op3 = captures[3];
    3083              :         tree res_op4;
    3084              :         res_op4 = captures[4];
    3085              :         tree _r;
    3086              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3087              :         if (!_r)
    3088              :           goto next_after_fail994;
    3089              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 789, __FILE__, __LINE__, true);
    3090              :         return _r;
    3091              :       }
    3092            0 : next_after_fail994:;
    3093              :     }
    3094            0 :   return NULL_TREE;
    3095              : }
    3096              : 
    3097              : tree
    3098            0 : generic_simplify_598 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3099              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3100              :  const enum tree_code ARG_UNUSED (rot),
    3101              :  const combined_fn ARG_UNUSED (popcount))
    3102              : {
    3103            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3104            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3105            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3106            0 :  && (
    3107              : 
    3108            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3109              : )
    3110              :     {
    3111            0 :       {
    3112            0 :  tree type0 = TREE_TYPE (captures[0]);
    3113            0 :  tree type1 = TREE_TYPE (captures[1]);
    3114            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3115            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3116            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3117              : )
    3118              :             {
    3119            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1004;
    3120            0 :               {
    3121            0 :                 tree res_op0;
    3122            0 :                 {
    3123            0 :                   tree _o1[1], _r1;
    3124            0 :                   _o1[0] = captures[2];
    3125            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3126              :                     {
    3127            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3128              :                     }
    3129              :                   else
    3130              :                     _r1 = _o1[0];
    3131            0 :                   res_op0 = _r1;
    3132              :                 }
    3133            0 :                 tree _r;
    3134            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3135            0 :                 if (!_r)
    3136            0 :                   goto next_after_fail1004;
    3137            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    3138            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3139            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 796, __FILE__, __LINE__, true);
    3140            0 :                 return _r;
    3141              :               }
    3142              : next_after_fail1004:;
    3143              :             }
    3144              :       }
    3145              :     }
    3146              :   return NULL_TREE;
    3147              : }
    3148              : 
    3149              : tree
    3150            0 : generic_simplify_608 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3151              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3152              :  const combined_fn ARG_UNUSED (reduc))
    3153              : {
    3154            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3155            0 :   {
    3156            0 :  int i = single_nonzero_element (captures[1]);
    3157            0 :       if (i >= 0
    3158              : )
    3159              :         {
    3160            0 :           {
    3161            0 :  tree elt = vector_cst_elt (captures[1], i);
    3162            0 :  tree elt_type = TREE_TYPE (elt);
    3163            0 :  unsigned int elt_bits = tree_to_uhwi (TYPE_SIZE (elt_type));
    3164            0 :  tree size = bitsize_int (elt_bits);
    3165            0 :  tree pos = bitsize_int (elt_bits * i);
    3166            0 :               if (compare_tree_int (TYPE_SIZE (type), elt_bits) == 0
    3167              : )
    3168              :                 {
    3169            0 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1015;
    3170            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1015;
    3171            0 :                   {
    3172            0 :                     tree res_op0;
    3173            0 :                     {
    3174            0 :                       tree _o1[2], _r1;
    3175            0 :                       {
    3176            0 :                         tree _o2[3], _r2;
    3177            0 :                         _o2[0] = captures[0];
    3178            0 :                         _o2[1] =  size;
    3179            0 :                         _o2[2] =  pos;
    3180            0 :                         _r2 = fold_build3_loc (loc, BIT_FIELD_REF, elt_type, _o2[0], _o2[1], _o2[2]);
    3181            0 :                         _o1[0] = _r2;
    3182              :                       }
    3183            0 :                       _o1[1] =  elt;
    3184            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, elt_type, _o1[0], _o1[1]);
    3185            0 :                       res_op0 = _r1;
    3186              :                     }
    3187            0 :                     tree _r;
    3188            0 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3189            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 803, __FILE__, __LINE__, true);
    3190            0 :                     return _r;
    3191              :                   }
    3192              : next_after_fail1015:;
    3193              :                 }
    3194              :           }
    3195              :         }
    3196              :   }
    3197              :   return NULL_TREE;
    3198              : }
    3199              : 
    3200              : tree
    3201       492783 : generic_simplify_FIX_TRUNC_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3202              : {
    3203       492783 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3204       492783 :   {
    3205       492783 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3206       985566 :     if ((
    3207              : 
    3208              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3209              :  || (
    3210              : 1
    3211       492783 :  && type == TREE_TYPE (captures[0]))
    3212              : )
    3213              :       {
    3214            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1098;
    3215            0 :         {
    3216            0 :           tree _r;
    3217            0 :           _r = captures[0];
    3218            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 818, __FILE__, __LINE__, true);
    3219            0 :           return _r;
    3220              :         }
    3221            0 : next_after_fail1098:;
    3222              :       }
    3223              :   }
    3224       492783 :   switch (TREE_CODE (_p0))
    3225              :     {
    3226        14978 :     CASE_CONVERT:
    3227        14978 :       {
    3228        14978 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3229        14978 :         {
    3230        14978 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3231        14978 :           {
    3232        14978 :  tree inside_type = TREE_TYPE (captures[1]);
    3233        14978 :  tree inter_type = TREE_TYPE (captures[0]);
    3234        14978 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    3235        14978 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3236        14978 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3237        14978 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    3238        14978 :  unsigned int inside_prec = element_precision (inside_type);
    3239        14978 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3240        14978 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    3241        14978 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3242        14978 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3243        14978 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    3244        14978 :  unsigned int inter_prec = element_precision (inter_type);
    3245        14978 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3246        14978 :  int final_int = INTEGRAL_TYPE_P (type);
    3247        14978 :  int final_ptr = POINTER_TYPE_P (type);
    3248        14978 :  int final_float = FLOAT_TYPE_P (type);
    3249        14978 :  int final_vec = VECTOR_TYPE_P (type);
    3250        14978 :  unsigned int final_prec = element_precision (type);
    3251        14978 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3252        14978 :               if (((
    3253              : 
    3254              :  && useless_type_conversion_p (type, inside_type))
    3255              :  || (
    3256              : 1
    3257        14978 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3258            0 :  && (((inter_int || inter_ptr) && final_int)
    3259            0 :  || (inter_float && final_float))
    3260        14978 :  && inter_prec >= final_prec
    3261              : )
    3262              :                 {
    3263            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1099;
    3264            0 :                   {
    3265            0 :                     tree res_op0;
    3266            0 :                     res_op0 = captures[1];
    3267            0 :                     tree _r;
    3268            0 :                     _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3269            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 819, __FILE__, __LINE__, true);
    3270            0 :                     return _r;
    3271              :                   }
    3272            0 : next_after_fail1099:;
    3273              :                 }
    3274              :               else
    3275              :                 {
    3276        14978 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3277        14978 :  && (final_int || final_float)
    3278        14978 :  && inter_prec >= inside_prec
    3279        14760 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3280              : )
    3281              :                     {
    3282        14760 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1100;
    3283        14760 :                       {
    3284        14760 :                         tree res_op0;
    3285        14760 :                         res_op0 = captures[1];
    3286        14760 :                         tree _r;
    3287        14760 :                         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3288        14760 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 820, __FILE__, __LINE__, true);
    3289        14760 :                         return _r;
    3290              :                       }
    3291            0 : next_after_fail1100:;
    3292            0 :                     }
    3293              :                   else
    3294              :                     {
    3295          218 :                       if (inside_int && inter_int && final_int
    3296            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3297            0 :  && inside_unsignedp && !inter_unsignedp)
    3298            0 :  || final_prec == inter_prec
    3299            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3300            0 :  && !inside_unsignedp && inter_unsignedp))
    3301              : )
    3302              :                         {
    3303            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1101;
    3304            0 :                           {
    3305            0 :                             tree res_op0;
    3306            0 :                             res_op0 = captures[1];
    3307            0 :                             tree _r;
    3308            0 :                             _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3309            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
    3310            0 :                             return _r;
    3311              :                           }
    3312            0 : next_after_fail1101:;
    3313            0 :                         }
    3314              :                       else
    3315              :                         {
    3316          218 :                           if (! inside_float && ! inter_float && ! final_float
    3317              :  && ! inside_vec && ! inter_vec && ! final_vec
    3318            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3319            0 :  && ! (inside_int && inter_int
    3320            0 :  && inter_unsignedp != inside_unsignedp
    3321            0 :  && inter_prec < final_prec)
    3322            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3323            0 :  == (final_unsignedp && final_prec > inter_prec))
    3324            0 :  && ! (inside_ptr && inter_prec != final_prec)
    3325            0 :  && ! (final_ptr && inside_prec != inter_prec)
    3326              : )
    3327              :                             {
    3328            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1102;
    3329            0 :                               {
    3330            0 :                                 tree res_op0;
    3331            0 :                                 res_op0 = captures[1];
    3332            0 :                                 tree _r;
    3333            0 :                                 _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3334            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
    3335            0 :                                 return _r;
    3336              :                               }
    3337            0 : next_after_fail1102:;
    3338            0 :                             }
    3339              :                           else
    3340              :                             {
    3341          218 :                               if (inside_int && inter_int && final_int
    3342            0 :  && final_prec <= inside_prec
    3343            0 :  && inter_prec >= inside_prec
    3344              : )
    3345              :                                 {
    3346            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1103;
    3347            0 :                                   {
    3348            0 :                                     tree res_op0;
    3349            0 :                                     res_op0 = captures[1];
    3350            0 :                                     tree _r;
    3351            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3352            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
    3353            0 :                                     return _r;
    3354              :                                   }
    3355            0 : next_after_fail1103:;
    3356            0 :                                 }
    3357              :                               else
    3358              :                                 {
    3359              :                                   if (0
    3360              :  && final_int && inter_int && inside_int
    3361              :  && final_prec >= inside_prec
    3362              :  && inside_prec > inter_prec
    3363              :  && inter_unsignedp
    3364              : )
    3365              :                                     {
    3366              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1104;
    3367              :                                       {
    3368              :                                         tree res_op0;
    3369              :                                         {
    3370              :                                           tree _o1[2], _r1;
    3371              :                                           _o1[0] = captures[1];
    3372              :                                           _o1[1] =  wide_int_to_tree
    3373              :  (inside_type,
    3374              :  wi::mask (inter_prec, false,
    3375              :  TYPE_PRECISION (inside_type)));
    3376              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3377              :                                           res_op0 = _r1;
    3378              :                                         }
    3379              :                                         tree _r;
    3380              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3381              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
    3382              :                                         return _r;
    3383              :                                       }
    3384              : next_after_fail1104:;
    3385              :                                     }
    3386              :                                   else
    3387              :                                     {
    3388              :                                       if (0
    3389              :  && inside_int && inter_float && final_int &&
    3390              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    3391              :  >= inside_prec - !inside_unsignedp
    3392              : )
    3393              :                                         {
    3394              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1105;
    3395              :                                           {
    3396              :                                             tree res_op0;
    3397              :                                             res_op0 = captures[1];
    3398              :                                             tree _r;
    3399              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3400              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 825, __FILE__, __LINE__, true);
    3401              :                                             return _r;
    3402              :                                           }
    3403              : next_after_fail1105:;
    3404              :                                         }
    3405              :                                     }
    3406              :                                 }
    3407              :                             }
    3408              :                         }
    3409              :                     }
    3410              :                 }
    3411              :           }
    3412              :         }
    3413          218 :         break;
    3414              :       }
    3415          589 :     case FLOAT_EXPR:
    3416          589 :       {
    3417          589 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3418          589 :         {
    3419          589 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3420          589 :           {
    3421          589 :  tree inside_type = TREE_TYPE (captures[1]);
    3422          589 :  tree inter_type = TREE_TYPE (captures[0]);
    3423          589 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    3424          589 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3425          589 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3426          589 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    3427          589 :  unsigned int inside_prec = element_precision (inside_type);
    3428          589 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3429          589 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    3430          589 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3431          589 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3432          589 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    3433          589 :  unsigned int inter_prec = element_precision (inter_type);
    3434          589 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3435          589 :  int final_int = INTEGRAL_TYPE_P (type);
    3436          589 :  int final_ptr = POINTER_TYPE_P (type);
    3437          589 :  int final_float = FLOAT_TYPE_P (type);
    3438          589 :  int final_vec = VECTOR_TYPE_P (type);
    3439          589 :  unsigned int final_prec = element_precision (type);
    3440          589 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3441          589 :               if (((
    3442              : 
    3443              :  && useless_type_conversion_p (type, inside_type))
    3444              :  || (
    3445              : 1
    3446          589 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3447           44 :  && (((inter_int || inter_ptr) && final_int)
    3448           44 :  || (inter_float && final_float))
    3449          589 :  && inter_prec >= final_prec
    3450              : )
    3451              :                 {
    3452            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1106;
    3453            0 :                   {
    3454            0 :                     tree res_op0;
    3455            0 :                     res_op0 = captures[1];
    3456            0 :                     tree _r;
    3457            0 :                     _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3458            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 819, __FILE__, __LINE__, true);
    3459            0 :                     return _r;
    3460              :                   }
    3461            0 : next_after_fail1106:;
    3462              :                 }
    3463              :               else
    3464              :                 {
    3465          589 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3466            0 :  && (final_int || final_float)
    3467            0 :  && inter_prec >= inside_prec
    3468            0 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3469              : )
    3470              :                     {
    3471            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1107;
    3472            0 :                       {
    3473            0 :                         tree res_op0;
    3474            0 :                         res_op0 = captures[1];
    3475            0 :                         tree _r;
    3476            0 :                         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3477            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 820, __FILE__, __LINE__, true);
    3478            0 :                         return _r;
    3479              :                       }
    3480            0 : next_after_fail1107:;
    3481            0 :                     }
    3482              :                   else
    3483              :                     {
    3484          589 :                       if (inside_int && inter_int && final_int
    3485            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3486            0 :  && inside_unsignedp && !inter_unsignedp)
    3487            0 :  || final_prec == inter_prec
    3488            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3489            0 :  && !inside_unsignedp && inter_unsignedp))
    3490              : )
    3491              :                         {
    3492            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1108;
    3493            0 :                           {
    3494            0 :                             tree res_op0;
    3495            0 :                             res_op0 = captures[1];
    3496            0 :                             tree _r;
    3497            0 :                             _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3498            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
    3499            0 :                             return _r;
    3500              :                           }
    3501            0 : next_after_fail1108:;
    3502            0 :                         }
    3503              :                       else
    3504              :                         {
    3505          589 :                           if (! inside_float && ! inter_float && ! final_float
    3506              :  && ! inside_vec && ! inter_vec && ! final_vec
    3507            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3508            0 :  && ! (inside_int && inter_int
    3509            0 :  && inter_unsignedp != inside_unsignedp
    3510            0 :  && inter_prec < final_prec)
    3511            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3512            0 :  == (final_unsignedp && final_prec > inter_prec))
    3513            0 :  && ! (inside_ptr && inter_prec != final_prec)
    3514            0 :  && ! (final_ptr && inside_prec != inter_prec)
    3515              : )
    3516              :                             {
    3517            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1109;
    3518            0 :                               {
    3519            0 :                                 tree res_op0;
    3520            0 :                                 res_op0 = captures[1];
    3521            0 :                                 tree _r;
    3522            0 :                                 _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3523            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
    3524            0 :                                 return _r;
    3525              :                               }
    3526            0 : next_after_fail1109:;
    3527            0 :                             }
    3528              :                           else
    3529              :                             {
    3530          589 :                               if (inside_int && inter_int && final_int
    3531            0 :  && final_prec <= inside_prec
    3532            0 :  && inter_prec >= inside_prec
    3533              : )
    3534              :                                 {
    3535            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1110;
    3536            0 :                                   {
    3537            0 :                                     tree res_op0;
    3538            0 :                                     res_op0 = captures[1];
    3539            0 :                                     tree _r;
    3540            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3541            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
    3542            0 :                                     return _r;
    3543              :                                   }
    3544            0 : next_after_fail1110:;
    3545            0 :                                 }
    3546              :                               else
    3547              :                                 {
    3548              :                                   if (0
    3549              :  && final_int && inter_int && inside_int
    3550              :  && final_prec >= inside_prec
    3551              :  && inside_prec > inter_prec
    3552              :  && inter_unsignedp
    3553              : )
    3554              :                                     {
    3555              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1111;
    3556              :                                       {
    3557              :                                         tree res_op0;
    3558              :                                         {
    3559              :                                           tree _o1[2], _r1;
    3560              :                                           _o1[0] = captures[1];
    3561              :                                           _o1[1] =  wide_int_to_tree
    3562              :  (inside_type,
    3563              :  wi::mask (inter_prec, false,
    3564              :  TYPE_PRECISION (inside_type)));
    3565              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3566              :                                           res_op0 = _r1;
    3567              :                                         }
    3568              :                                         tree _r;
    3569              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3570              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
    3571              :                                         return _r;
    3572              :                                       }
    3573              : next_after_fail1111:;
    3574              :                                     }
    3575              :                                   else
    3576              :                                     {
    3577              :                                       if (0
    3578              :  && inside_int && inter_float && final_int &&
    3579              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    3580              :  >= inside_prec - !inside_unsignedp
    3581              : )
    3582              :                                         {
    3583              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1112;
    3584              :                                           {
    3585              :                                             tree res_op0;
    3586              :                                             res_op0 = captures[1];
    3587              :                                             tree _r;
    3588              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3589              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 825, __FILE__, __LINE__, true);
    3590              :                                             return _r;
    3591              :                                           }
    3592              : next_after_fail1112:;
    3593              :                                         }
    3594              :                                     }
    3595              :                                 }
    3596              :                             }
    3597              :                         }
    3598              :                     }
    3599              :                 }
    3600              :           }
    3601              :         }
    3602          589 :         break;
    3603              :       }
    3604              :     default:;
    3605              :     }
    3606              :   return NULL_TREE;
    3607              : }
    3608              : 
    3609              : tree
    3610       980029 : 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)
    3611              : {
    3612       980029 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3613       980029 :   if (integer_zerop (_p1))
    3614              :     {
    3615          543 :       {
    3616          543 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3617          543 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1275;
    3618          543 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1275;
    3619          543 :         {
    3620          543 :           tree res_op0;
    3621          543 :           res_op0 = captures[0];
    3622          543 :           tree _r;
    3623          543 :           _r = non_lvalue_loc (loc, res_op0);
    3624          543 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 869, __FILE__, __LINE__, true);
    3625          543 :           return _r;
    3626              :         }
    3627              : next_after_fail1275:;
    3628              :       }
    3629              :     }
    3630       979486 :   switch (TREE_CODE (_p0))
    3631              :     {
    3632         2964 :     case LSHIFT_EXPR:
    3633         2964 :       {
    3634         2964 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3635         2964 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3636         2964 :         switch (TREE_CODE (_p1))
    3637              :           {
    3638           10 :           case LSHIFT_EXPR:
    3639           10 :             {
    3640           10 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3641           10 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3642           10 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3643              :                 {
    3644            1 :                   {
    3645            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    3646            1 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3647            1 :                     if (res) return res;
    3648              :                   }
    3649              :                 }
    3650              :               break;
    3651              :             }
    3652              :           default:;
    3653              :           }
    3654              :         break;
    3655              :       }
    3656        22242 :     case RSHIFT_EXPR:
    3657        22242 :       {
    3658        22242 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3659        22242 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3660        22242 :         switch (TREE_CODE (_p1))
    3661              :           {
    3662           20 :           case RSHIFT_EXPR:
    3663           20 :             {
    3664           20 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3665           20 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3666           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3667              :                 {
    3668           10 :                   {
    3669           10 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    3670           10 :                     tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3671           10 :                     if (res) return res;
    3672              :                   }
    3673              :                 }
    3674              :               break;
    3675              :             }
    3676              :           default:;
    3677              :           }
    3678              :         break;
    3679              :       }
    3680         2857 :     case BIT_AND_EXPR:
    3681         2857 :       {
    3682         2857 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3683         2857 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3684         2857 :         switch (TREE_CODE (_p1))
    3685              :           {
    3686          354 :           case BIT_AND_EXPR:
    3687          354 :             {
    3688          354 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3689          354 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3690          354 :               {
    3691          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    3692          354 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3693          354 :                 if (res) return res;
    3694              :               }
    3695          354 :               {
    3696          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
    3697          354 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3698          354 :                 if (res) return res;
    3699              :               }
    3700          354 :               {
    3701          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
    3702          354 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3703          354 :                 if (res) return res;
    3704              :               }
    3705          354 :               {
    3706          354 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
    3707          354 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3708          354 :                 if (res) return res;
    3709              :               }
    3710          354 :               break;
    3711              :             }
    3712         2857 :           default:;
    3713              :           }
    3714         2857 :         switch (TREE_CODE (_q21))
    3715              :           {
    3716           41 :           case BIT_NOT_EXPR:
    3717           41 :             {
    3718           41 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3719           41 :               switch (TREE_CODE (_p1))
    3720              :                 {
    3721            0 :                 case BIT_NOT_EXPR:
    3722            0 :                   {
    3723            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    3724            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    3725              :                       {
    3726            0 :                         {
    3727            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    3728            0 :                           tree res = generic_simplify_153 (loc, type, _p0, _p1, captures);
    3729            0 :                           if (res) return res;
    3730              :                         }
    3731              :                       }
    3732              :                     break;
    3733              :                   }
    3734              :                 default:;
    3735              :                 }
    3736              :               break;
    3737              :             }
    3738         2857 :           default:;
    3739              :           }
    3740         2857 :         switch (TREE_CODE (_q20))
    3741              :           {
    3742           90 :           case BIT_NOT_EXPR:
    3743           90 :             {
    3744           90 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3745           90 :               switch (TREE_CODE (_p1))
    3746              :                 {
    3747            0 :                 case BIT_NOT_EXPR:
    3748            0 :                   {
    3749            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    3750            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    3751              :                       {
    3752            0 :                         {
    3753            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q30 };
    3754            0 :                           tree res = generic_simplify_153 (loc, type, _p0, _p1, captures);
    3755            0 :                           if (res) return res;
    3756              :                         }
    3757              :                       }
    3758              :                     break;
    3759              :                   }
    3760           90 :                 default:;
    3761              :                 }
    3762           90 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    3763              :                 {
    3764            0 :                   {
    3765            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3766            0 :                     tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
    3767            0 :                     if (res) return res;
    3768              :                   }
    3769              :                 }
    3770              :               break;
    3771              :             }
    3772         2857 :           default:;
    3773              :           }
    3774         2857 :         switch (TREE_CODE (_q21))
    3775              :           {
    3776           41 :           case BIT_NOT_EXPR:
    3777           41 :             {
    3778           41 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3779           41 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    3780              :                 {
    3781            0 :                   {
    3782            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3783            0 :                     tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
    3784            0 :                     if (res) return res;
    3785              :                   }
    3786              :                 }
    3787              :               break;
    3788              :             }
    3789              :           default:;
    3790              :           }
    3791              :         break;
    3792              :       }
    3793          505 :     case BIT_NOT_EXPR:
    3794          505 :       {
    3795          505 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3796          505 :         switch (TREE_CODE (_p1))
    3797              :           {
    3798           51 :           case BIT_AND_EXPR:
    3799           51 :             {
    3800           51 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3801           51 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3802           51 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    3803              :                 {
    3804            0 :                   switch (TREE_CODE (_q41))
    3805              :                     {
    3806            0 :                     case BIT_NOT_EXPR:
    3807            0 :                       {
    3808            0 :                         tree _q60 = TREE_OPERAND (_q41, 0);
    3809            0 :                         {
    3810            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q60 };
    3811            0 :                           tree res = generic_simplify_153 (loc, type, _p0, _p1, captures);
    3812            0 :                           if (res) return res;
    3813              :                         }
    3814            0 :                         break;
    3815              :                       }
    3816              :                     default:;
    3817              :                     }
    3818              :                 }
    3819           51 :               switch (TREE_CODE (_q40))
    3820              :                 {
    3821            7 :                 case BIT_NOT_EXPR:
    3822            7 :                   {
    3823            7 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3824            7 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    3825              :                       {
    3826            0 :                         {
    3827            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
    3828            0 :                           tree res = generic_simplify_153 (loc, type, _p0, _p1, captures);
    3829            0 :                           if (res) return res;
    3830              :                         }
    3831              :                       }
    3832              :                     break;
    3833              :                   }
    3834              :                 default:;
    3835              :                 }
    3836              :               break;
    3837              :             }
    3838              :           default:;
    3839              :           }
    3840              :         break;
    3841              :       }
    3842       979475 :     default:;
    3843              :     }
    3844       979475 :   switch (TREE_CODE (_p1))
    3845              :     {
    3846          707 :     case BIT_AND_EXPR:
    3847          707 :       {
    3848          707 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3849          707 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3850          707 :         switch (TREE_CODE (_q30))
    3851              :           {
    3852           57 :           case BIT_NOT_EXPR:
    3853           57 :             {
    3854           57 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3855           57 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    3856              :                 {
    3857            0 :                   {
    3858            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    3859            0 :                     tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
    3860            0 :                     if (res) return res;
    3861              :                   }
    3862              :                 }
    3863              :               break;
    3864              :             }
    3865          707 :           default:;
    3866              :           }
    3867          707 :         switch (TREE_CODE (_q31))
    3868              :           {
    3869            8 :           case BIT_NOT_EXPR:
    3870            8 :             {
    3871            8 :               tree _q50 = TREE_OPERAND (_q31, 0);
    3872            8 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    3873              :                 {
    3874            0 :                   {
    3875            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
    3876            0 :                     tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
    3877            0 :                     if (res) return res;
    3878              :                   }
    3879              :                 }
    3880              :               break;
    3881              :             }
    3882              :           default:;
    3883              :           }
    3884              :         break;
    3885              :       }
    3886       979475 :     default:;
    3887              :     }
    3888       979475 :   switch (TREE_CODE (_p0))
    3889              :     {
    3890        21368 :     case PLUS_EXPR:
    3891        21368 :       {
    3892        21368 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3893        21368 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3894        21368 :         if (integer_minus_onep (_q21))
    3895              :           {
    3896        10422 :             switch (TREE_CODE (_p1))
    3897              :               {
    3898           11 :               case NEGATE_EXPR:
    3899           11 :                 {
    3900           11 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3901           11 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3902              :                     {
    3903           11 :                       {
    3904           11 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3905           11 :                         tree res = generic_simplify_75 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3906           11 :                         if (res) return res;
    3907              :                       }
    3908              :                     }
    3909              :                   break;
    3910              :                 }
    3911              :               default:;
    3912              :               }
    3913              :           }
    3914              :         break;
    3915              :       }
    3916          142 :     case NEGATE_EXPR:
    3917          142 :       {
    3918          142 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3919          142 :         switch (TREE_CODE (_p1))
    3920              :           {
    3921            0 :           case PLUS_EXPR:
    3922            0 :             {
    3923            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3924            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3925            0 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    3926              :                 {
    3927            0 :                   if (integer_minus_onep (_q41))
    3928              :                     {
    3929            0 :                       {
    3930            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3931            0 :                         tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3932            0 :                         if (res) return res;
    3933              :                       }
    3934              :                     }
    3935              :                 }
    3936              :               break;
    3937              :             }
    3938            0 :           case MINUS_EXPR:
    3939            0 :             {
    3940            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3941            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3942            0 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    3943              :                 {
    3944            0 :                   if (integer_onep (_q41))
    3945              :                     {
    3946            0 :                       {
    3947            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3948            0 :                         tree res = generic_simplify_77 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3949            0 :                         if (res) return res;
    3950              :                       }
    3951              :                     }
    3952              :                 }
    3953              :               break;
    3954              :             }
    3955              :           default:;
    3956              :           }
    3957              :         break;
    3958              :       }
    3959          102 :     case MINUS_EXPR:
    3960          102 :       {
    3961          102 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3962          102 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3963          102 :         if (integer_onep (_q21))
    3964              :           {
    3965            0 :             switch (TREE_CODE (_p1))
    3966              :               {
    3967            0 :               case NEGATE_EXPR:
    3968            0 :                 {
    3969            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3970            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3971              :                     {
    3972            0 :                       {
    3973            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3974            0 :                         tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    3975            0 :                         if (res) return res;
    3976              :                       }
    3977              :                     }
    3978              :                   break;
    3979              :                 }
    3980              :               default:;
    3981              :               }
    3982              :           }
    3983              :         break;
    3984              :       }
    3985         1310 :     case BIT_IOR_EXPR:
    3986         1310 :       {
    3987         1310 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3988         1310 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3989         1310 :         switch (TREE_CODE (_q20))
    3990              :           {
    3991          481 :           case BIT_NOT_EXPR:
    3992          481 :             {
    3993          481 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3994          481 :               {
    3995          481 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
    3996          481 :                 tree res = generic_simplify_155 (loc, type, _p0, _p1, captures);
    3997          481 :                 if (res) return res;
    3998              :               }
    3999          480 :               break;
    4000              :             }
    4001         1309 :           default:;
    4002              :           }
    4003         1309 :         switch (TREE_CODE (_q21))
    4004              :           {
    4005           62 :           case BIT_NOT_EXPR:
    4006           62 :             {
    4007           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4008           62 :               {
    4009           62 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
    4010           62 :                 tree res = generic_simplify_155 (loc, type, _p0, _p1, captures);
    4011           62 :                 if (res) return res;
    4012              :               }
    4013           62 :               break;
    4014              :             }
    4015              :           default:;
    4016              :           }
    4017              :         break;
    4018              :       }
    4019       979463 :     default:;
    4020              :     }
    4021       979463 :   switch (TREE_CODE (_p1))
    4022              :     {
    4023          521 :     case BIT_IOR_EXPR:
    4024          521 :       {
    4025          521 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4026          521 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4027          521 :         switch (TREE_CODE (_q30))
    4028              :           {
    4029           21 :           case BIT_NOT_EXPR:
    4030           21 :             {
    4031           21 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4032           21 :               {
    4033           21 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
    4034           21 :                 tree res = generic_simplify_155 (loc, type, _p0, _p1, captures);
    4035           21 :                 if (res) return res;
    4036              :               }
    4037           21 :               break;
    4038              :             }
    4039          521 :           default:;
    4040              :           }
    4041          521 :         switch (TREE_CODE (_q31))
    4042              :           {
    4043           25 :           case BIT_NOT_EXPR:
    4044           25 :             {
    4045           25 :               tree _q50 = TREE_OPERAND (_q31, 0);
    4046           25 :               {
    4047           25 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
    4048           25 :                 tree res = generic_simplify_155 (loc, type, _p0, _p1, captures);
    4049           25 :                 if (res) return res;
    4050              :               }
    4051           25 :               break;
    4052              :             }
    4053              :           default:;
    4054              :           }
    4055              :         break;
    4056              :       }
    4057       979463 :     default:;
    4058              :     }
    4059       979463 :   switch (TREE_CODE (_p0))
    4060              :     {
    4061         2857 :     case BIT_AND_EXPR:
    4062         2857 :       {
    4063         2857 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4064         2857 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4065         2857 :         switch (TREE_CODE (_q20))
    4066              :           {
    4067           90 :           case BIT_NOT_EXPR:
    4068           90 :             {
    4069           90 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4070           90 :               {
    4071           90 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
    4072           90 :                 tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
    4073           90 :                 if (res) return res;
    4074              :               }
    4075           89 :               break;
    4076              :             }
    4077         2856 :           default:;
    4078              :           }
    4079         2856 :         switch (TREE_CODE (_q21))
    4080              :           {
    4081           41 :           case BIT_NOT_EXPR:
    4082           41 :             {
    4083           41 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4084           41 :               {
    4085           41 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
    4086           41 :                 tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
    4087           41 :                 if (res) return res;
    4088              :               }
    4089           41 :               break;
    4090              :             }
    4091              :           default:;
    4092              :           }
    4093              :         break;
    4094              :       }
    4095       979462 :     default:;
    4096              :     }
    4097       979462 :   switch (TREE_CODE (_p1))
    4098              :     {
    4099          707 :     case BIT_AND_EXPR:
    4100          707 :       {
    4101          707 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4102          707 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4103          707 :         switch (TREE_CODE (_q30))
    4104              :           {
    4105           57 :           case BIT_NOT_EXPR:
    4106           57 :             {
    4107           57 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4108           57 :               {
    4109           57 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
    4110           57 :                 tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
    4111           57 :                 if (res) return res;
    4112              :               }
    4113           57 :               break;
    4114              :             }
    4115          707 :           default:;
    4116              :           }
    4117          707 :         switch (TREE_CODE (_q31))
    4118              :           {
    4119            8 :           case BIT_NOT_EXPR:
    4120            8 :             {
    4121            8 :               tree _q50 = TREE_OPERAND (_q31, 0);
    4122            8 :               {
    4123            8 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
    4124            8 :                 tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
    4125            8 :                 if (res) return res;
    4126              :               }
    4127            8 :               break;
    4128              :             }
    4129              :           default:;
    4130              :           }
    4131              :         break;
    4132              :       }
    4133       979462 :     default:;
    4134              :     }
    4135       979462 :   switch (TREE_CODE (_p0))
    4136              :     {
    4137       625379 :     CASE_CONVERT:
    4138       625379 :       {
    4139       625379 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4140       625379 :         switch (TREE_CODE (_p1))
    4141              :           {
    4142       621211 :           CASE_CONVERT:
    4143       621211 :             {
    4144       621211 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4145       621211 :               {
    4146       621211 :                 tree _q40_pops[1];
    4147       621211 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    4148              :                   {
    4149            0 :                     tree _q50 = _q40_pops[0];
    4150            0 :                     {
    4151            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    4152            0 :                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4153            0 :                       if (res) return res;
    4154              :                     }
    4155              :                   }
    4156              :               }
    4157       621211 :               break;
    4158              :             }
    4159       625379 :           default:;
    4160              :           }
    4161       625379 :         {
    4162       625379 :           tree _q20_pops[1];
    4163       625379 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    4164              :             {
    4165        59140 :               tree _q30 = _q20_pops[0];
    4166        59140 :               switch (TREE_CODE (_p1))
    4167              :                 {
    4168        59090 :                 CASE_CONVERT:
    4169        59090 :                   {
    4170        59090 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4171        59090 :                     {
    4172        59090 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    4173        59090 :                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4174        59090 :                       if (res) return res;
    4175              :                     }
    4176        59090 :                     break;
    4177              :                   }
    4178              :                 default:;
    4179              :                 }
    4180              :             }
    4181              :         }
    4182       625379 :         break;
    4183              :       }
    4184       979462 :     default:;
    4185              :     }
    4186       979462 :   {
    4187       979462 :     tree _p1_pops[1];
    4188       979462 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    4189              :       {
    4190         8727 :         tree _q30 = _p1_pops[0];
    4191         8727 :         {
    4192         8727 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    4193         8727 :           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4194         8727 :           if (res) return res;
    4195              :         }
    4196              :       }
    4197              :   }
    4198       979462 :   {
    4199       979462 :     tree _p0_pops[1];
    4200       979462 :     if (tree_maybe_bit_not (_p0, _p0_pops))
    4201              :       {
    4202         1051 :         tree _q20 = _p0_pops[0];
    4203         1051 :         {
    4204         1051 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    4205         1051 :           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4206         1051 :           if (res) return res;
    4207              :         }
    4208              :       }
    4209              :   }
    4210       979441 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4211              :     {
    4212          149 :       {
    4213          149 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4214          149 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1276;
    4215          149 :         {
    4216          149 :           tree _r;
    4217          149 :           _r =  build_zero_cst (type);
    4218          149 :           if (TREE_SIDE_EFFECTS (captures[0]))
    4219            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4220          149 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 924, __FILE__, __LINE__, true);
    4221          149 :           return _r;
    4222              :         }
    4223            0 : next_after_fail1276:;
    4224              :       }
    4225              :     }
    4226       979292 :   if (integer_all_onesp (_p1))
    4227              :     {
    4228         1067 :       {
    4229         1067 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4230         1067 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1277;
    4231         1067 :         {
    4232         1067 :           tree res_op0;
    4233         1067 :           res_op0 = captures[0];
    4234         1067 :           tree _r;
    4235         1067 :           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4236         1067 :           if (TREE_SIDE_EFFECTS (captures[1]))
    4237            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4238         1067 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    4239         1067 :           return _r;
    4240              :         }
    4241            0 : next_after_fail1277:;
    4242              :       }
    4243              :     }
    4244       978225 :   switch (TREE_CODE (_p0))
    4245              :     {
    4246         1302 :     case BIT_IOR_EXPR:
    4247         1302 :       {
    4248         1302 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4249         1302 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4250         1302 :         switch (TREE_CODE (_p1))
    4251              :           {
    4252          179 :           case BIT_IOR_EXPR:
    4253          179 :             {
    4254          179 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4255          179 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4256          179 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4257              :                 {
    4258            0 :                   switch (TREE_CODE (_q51))
    4259              :                     {
    4260            0 :                     case BIT_NOT_EXPR:
    4261            0 :                       {
    4262            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4263            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
    4264              :                           {
    4265            0 :                             {
    4266            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4267            0 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4268            0 :                               if (res) return res;
    4269              :                             }
    4270              :                           }
    4271              :                         break;
    4272              :                       }
    4273              :                     default:;
    4274              :                     }
    4275              :                 }
    4276          179 :               switch (TREE_CODE (_q50))
    4277              :                 {
    4278           20 :                 case BIT_NOT_EXPR:
    4279           20 :                   {
    4280           20 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    4281           20 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    4282              :                       {
    4283            2 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4284              :                           {
    4285            1 :                             {
    4286            1 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4287            1 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4288            1 :                               if (res) return res;
    4289              :                             }
    4290              :                           }
    4291              :                       }
    4292           19 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4293              :                       {
    4294            0 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4295              :                           {
    4296            0 :                             {
    4297            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4298            0 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4299            0 :                               if (res) return res;
    4300              :                             }
    4301              :                           }
    4302              :                       }
    4303              :                     break;
    4304              :                   }
    4305          178 :                 default:;
    4306              :                 }
    4307          178 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4308              :                 {
    4309            0 :                   switch (TREE_CODE (_q51))
    4310              :                     {
    4311            0 :                     case BIT_NOT_EXPR:
    4312            0 :                       {
    4313            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4314            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4315              :                           {
    4316            0 :                             {
    4317            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4318            0 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4319            0 :                               if (res) return res;
    4320              :                             }
    4321              :                           }
    4322              :                         break;
    4323              :                       }
    4324              :                     default:;
    4325              :                     }
    4326              :                 }
    4327              :               break;
    4328              :             }
    4329         1301 :           default:;
    4330              :           }
    4331         1301 :         switch (TREE_CODE (_q21))
    4332              :           {
    4333           62 :           case BIT_NOT_EXPR:
    4334           62 :             {
    4335           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4336           62 :               switch (TREE_CODE (_p1))
    4337              :                 {
    4338            9 :                 case BIT_IOR_EXPR:
    4339            9 :                   {
    4340            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4341            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4342            9 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4343              :                       {
    4344            0 :                         if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
    4345              :                           {
    4346            0 :                             {
    4347            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4348            0 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4349            0 :                               if (res) return res;
    4350              :                             }
    4351              :                           }
    4352              :                       }
    4353              :                     break;
    4354              :                   }
    4355              :                 default:;
    4356              :                 }
    4357              :               break;
    4358              :             }
    4359         1301 :           default:;
    4360              :           }
    4361         1301 :         switch (TREE_CODE (_q20))
    4362              :           {
    4363          480 :           case BIT_NOT_EXPR:
    4364          480 :             {
    4365          480 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4366          480 :               switch (TREE_CODE (_p1))
    4367              :                 {
    4368           28 :                 case BIT_IOR_EXPR:
    4369           28 :                   {
    4370           28 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4371           28 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4372           28 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    4373              :                       {
    4374            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    4375              :                           {
    4376            0 :                             {
    4377            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
    4378            0 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4379            0 :                               if (res) return res;
    4380              :                             }
    4381              :                           }
    4382              :                       }
    4383           28 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4384              :                       {
    4385            9 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    4386              :                           {
    4387            0 :                             {
    4388            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
    4389            0 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4390            0 :                               if (res) return res;
    4391              :                             }
    4392              :                           }
    4393            9 :                         switch (TREE_CODE (_q61))
    4394              :                           {
    4395            0 :                           case BIT_NOT_EXPR:
    4396            0 :                             {
    4397            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
    4398            0 :                               if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
    4399              :                                 {
    4400            0 :                                   {
    4401            0 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4402            0 :                                     tree res = generic_simplify_158 (loc, type, _p0, _p1, captures);
    4403            0 :                                     if (res) return res;
    4404              :                                   }
    4405              :                                 }
    4406              :                               break;
    4407              :                             }
    4408              :                           default:;
    4409              :                           }
    4410              :                       }
    4411           28 :                     switch (TREE_CODE (_q60))
    4412              :                       {
    4413            1 :                       case BIT_NOT_EXPR:
    4414            1 :                         {
    4415            1 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    4416            1 :                           if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
    4417              :                             {
    4418            1 :                               if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    4419              :                                 {
    4420            1 :                                   {
    4421            1 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4422            1 :                                     tree res = generic_simplify_158 (loc, type, _p0, _p1, captures);
    4423            1 :                                     if (res) return res;
    4424              :                                   }
    4425              :                                 }
    4426              :                             }
    4427              :                           break;
    4428              :                         }
    4429              :                       default:;
    4430              :                       }
    4431              :                     break;
    4432              :                   }
    4433            9 :                 case BIT_XOR_EXPR:
    4434            9 :                   {
    4435            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4436            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4437            9 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4438              :                       {
    4439            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    4440              :                           {
    4441            0 :                             {
    4442            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
    4443            0 :                               tree res = generic_simplify_159 (loc, type, _p0, _p1, captures);
    4444            0 :                               if (res) return res;
    4445              :                             }
    4446              :                           }
    4447              :                       }
    4448              :                     break;
    4449              :                   }
    4450          479 :                 default:;
    4451              :                 }
    4452          479 :               {
    4453          479 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p1 };
    4454          479 :                 tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    4455          479 :                 if (res) return res;
    4456              :               }
    4457          431 :               break;
    4458              :             }
    4459         1252 :           default:;
    4460              :           }
    4461         1252 :         switch (TREE_CODE (_q21))
    4462              :           {
    4463           62 :           case BIT_NOT_EXPR:
    4464           62 :             {
    4465           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4466           62 :               switch (TREE_CODE (_p1))
    4467              :                 {
    4468            9 :                 case BIT_IOR_EXPR:
    4469            9 :                   {
    4470            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4471            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4472            9 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4473              :                       {
    4474            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    4475              :                           {
    4476            0 :                             {
    4477            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4478            0 :                               tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
    4479            0 :                               if (res) return res;
    4480              :                             }
    4481              :                           }
    4482              :                       }
    4483              :                     break;
    4484              :                   }
    4485            9 :                 case BIT_XOR_EXPR:
    4486            9 :                   {
    4487            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4488            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4489            9 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4490              :                       {
    4491            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    4492              :                           {
    4493            0 :                             {
    4494            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
    4495            0 :                               tree res = generic_simplify_159 (loc, type, _p0, _p1, captures);
    4496            0 :                               if (res) return res;
    4497              :                             }
    4498              :                           }
    4499              :                       }
    4500              :                     break;
    4501              :                   }
    4502              :                 default:;
    4503              :                 }
    4504              :               break;
    4505              :             }
    4506         1252 :           default:;
    4507              :           }
    4508         1252 :         switch (TREE_CODE (_p1))
    4509              :           {
    4510           65 :           case BIT_AND_EXPR:
    4511           65 :             {
    4512           65 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4513           65 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4514           65 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4515              :                 {
    4516            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4517              :                     {
    4518            0 :                       {
    4519            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4520            0 :                         tree res = generic_simplify_161 (loc, type, _p0, _p1, captures);
    4521            0 :                         if (res) return res;
    4522              :                       }
    4523              :                     }
    4524              :                 }
    4525              :               break;
    4526              :             }
    4527           36 :           case BIT_XOR_EXPR:
    4528           36 :             {
    4529           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4530           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4531           36 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4532              :                 {
    4533            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4534              :                     {
    4535            0 :                       {
    4536            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4537            0 :                         tree res = generic_simplify_162 (loc, type, _p0, _p1, captures);
    4538            0 :                         if (res) return res;
    4539              :                       }
    4540              :                     }
    4541              :                 }
    4542              :               break;
    4543              :             }
    4544         1252 :           default:;
    4545              :           }
    4546         1252 :         switch (TREE_CODE (_q21))
    4547              :           {
    4548           62 :           case BIT_NOT_EXPR:
    4549           62 :             {
    4550           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4551           62 :               switch (TREE_CODE (_p1))
    4552              :                 {
    4553            9 :                 case BIT_IOR_EXPR:
    4554            9 :                   {
    4555            9 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4556            9 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4557            9 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4558              :                       {
    4559            0 :                         switch (TREE_CODE (_q61))
    4560              :                           {
    4561            0 :                           case BIT_NOT_EXPR:
    4562            0 :                             {
    4563            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
    4564            0 :                               if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    4565              :                                 {
    4566            0 :                                   {
    4567            0 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4568            0 :                                     tree res = generic_simplify_158 (loc, type, _p0, _p1, captures);
    4569            0 :                                     if (res) return res;
    4570              :                                   }
    4571              :                                 }
    4572              :                               break;
    4573              :                             }
    4574              :                           default:;
    4575              :                           }
    4576              :                       }
    4577            9 :                     switch (TREE_CODE (_q60))
    4578              :                       {
    4579            0 :                       case BIT_NOT_EXPR:
    4580            0 :                         {
    4581            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    4582            0 :                           if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4583              :                             {
    4584            0 :                               if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
    4585              :                                 {
    4586            0 :                                   {
    4587            0 :                                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4588            0 :                                     tree res = generic_simplify_158 (loc, type, _p0, _p1, captures);
    4589            0 :                                     if (res) return res;
    4590              :                                   }
    4591              :                                 }
    4592              :                             }
    4593              :                           break;
    4594              :                         }
    4595              :                       default:;
    4596              :                       }
    4597              :                     break;
    4598              :                   }
    4599              :                 default:;
    4600              :                 }
    4601              :               break;
    4602              :             }
    4603         1252 :           default:;
    4604              :           }
    4605         1252 :         switch (TREE_CODE (_p1))
    4606              :           {
    4607           24 :           CASE_CONVERT:
    4608           24 :             {
    4609           24 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4610           24 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    4611              :                 {
    4612            0 :                   {
    4613            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
    4614            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    4615            0 :                     if (res) return res;
    4616              :                   }
    4617              :                 }
    4618           24 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    4619              :                 {
    4620            0 :                   {
    4621            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
    4622            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    4623            0 :                     if (res) return res;
    4624              :                   }
    4625              :                 }
    4626              :               break;
    4627              :             }
    4628         1252 :           default:;
    4629              :           }
    4630         1252 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
    4631              :           {
    4632            3 :             {
    4633            3 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
    4634            3 :               tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    4635            3 :               if (res) return res;
    4636              :             }
    4637              :           }
    4638         1249 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    4639              :           {
    4640            3 :             {
    4641            3 :               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
    4642            3 :               tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    4643            3 :               if (res) return res;
    4644              :             }
    4645              :           }
    4646         1246 :         {
    4647         1246 :           tree _q20_pops[1];
    4648         1246 :           if (tree_nop_convert (_q20, _q20_pops))
    4649              :             {
    4650            8 :               tree _q30 = _q20_pops[0];
    4651            8 :               switch (TREE_CODE (_q30))
    4652              :                 {
    4653            8 :                 case BIT_NOT_EXPR:
    4654            8 :                   {
    4655            8 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4656            8 :                     {
    4657            8 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q21, _p1 };
    4658            8 :                       tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    4659            8 :                       if (res) return res;
    4660              :                     }
    4661            0 :                     break;
    4662              :                   }
    4663              :                 default:;
    4664              :                 }
    4665              :             }
    4666              :         }
    4667         1238 :         switch (TREE_CODE (_q21))
    4668              :           {
    4669           62 :           case BIT_NOT_EXPR:
    4670           62 :             {
    4671           62 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4672           62 :               {
    4673           62 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q20, _p1 };
    4674           62 :                 tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    4675           62 :                 if (res) return res;
    4676              :               }
    4677           54 :               break;
    4678              :             }
    4679         1230 :           default:;
    4680              :           }
    4681         1230 :       {
    4682         1230 :         tree _q21_pops[1];
    4683         1230 :         if (tree_nop_convert (_q21, _q21_pops))
    4684              :           {
    4685            0 :             tree _q40 = _q21_pops[0];
    4686            0 :             switch (TREE_CODE (_q40))
    4687              :               {
    4688            0 :               case BIT_NOT_EXPR:
    4689            0 :                 {
    4690            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4691            0 :                   {
    4692            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _p1 };
    4693            0 :                     tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    4694            0 :                     if (res) return res;
    4695              :                   }
    4696            0 :                   break;
    4697              :                 }
    4698              :               default:;
    4699              :               }
    4700              :           }
    4701              :       }
    4702         1230 :         break;
    4703              :       }
    4704         3908 :     case BIT_XOR_EXPR:
    4705         3908 :       {
    4706         3908 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4707         3908 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4708         3908 :         switch (TREE_CODE (_p1))
    4709              :           {
    4710          203 :           case BIT_IOR_EXPR:
    4711          203 :             {
    4712          203 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4713          203 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4714          203 :               switch (TREE_CODE (_q50))
    4715              :                 {
    4716            1 :                 case BIT_NOT_EXPR:
    4717            1 :                   {
    4718            1 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    4719            1 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4720              :                       {
    4721            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4722              :                           {
    4723            1 :                             {
    4724            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
    4725            1 :                               tree res = generic_simplify_159 (loc, type, _p0, _p1, captures);
    4726            1 :                               if (res) return res;
    4727              :                             }
    4728              :                           }
    4729              :                       }
    4730              :                     break;
    4731              :                   }
    4732          202 :                 default:;
    4733              :                 }
    4734          202 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4735              :                 {
    4736            0 :                   switch (TREE_CODE (_q51))
    4737              :                     {
    4738            0 :                     case BIT_NOT_EXPR:
    4739            0 :                       {
    4740            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4741            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4742              :                           {
    4743            0 :                             {
    4744            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
    4745            0 :                               tree res = generic_simplify_159 (loc, type, _p0, _p1, captures);
    4746            0 :                               if (res) return res;
    4747              :                             }
    4748              :                           }
    4749              :                         break;
    4750              :                       }
    4751              :                     default:;
    4752              :                     }
    4753              :                 }
    4754          202 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4755              :                 {
    4756            1 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4757              :                     {
    4758            0 :                       {
    4759            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4760            0 :                         tree res = generic_simplify_162 (loc, type, _p0, _p1, captures);
    4761            0 :                         if (res) return res;
    4762              :                       }
    4763              :                     }
    4764              :                 }
    4765              :               break;
    4766              :             }
    4767           41 :           case BIT_AND_EXPR:
    4768           41 :             {
    4769           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4770           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4771           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4772              :                 {
    4773            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4774              :                     {
    4775            0 :                       {
    4776            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4777            0 :                         tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4778            0 :                         if (res) return res;
    4779              :                       }
    4780              :                     }
    4781              :                 }
    4782              :               break;
    4783              :             }
    4784          198 :           CASE_CONVERT:
    4785          198 :             {
    4786          198 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4787          198 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    4788              :                 {
    4789            0 :                   {
    4790            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    4791            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    4792            0 :                     if (res) return res;
    4793              :                   }
    4794              :                 }
    4795          198 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    4796              :                 {
    4797            0 :                   {
    4798            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
    4799            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    4800            0 :                     if (res) return res;
    4801              :                   }
    4802              :                 }
    4803              :               break;
    4804              :             }
    4805         3907 :           default:;
    4806              :           }
    4807         3907 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    4808              :           {
    4809            0 :             {
    4810            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    4811            0 :               tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    4812            0 :               if (res) return res;
    4813              :             }
    4814              :           }
    4815         3907 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
    4816              :           {
    4817           11 :             {
    4818           11 :               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
    4819           11 :               tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    4820           11 :               if (res) return res;
    4821              :             }
    4822              :           }
    4823              :         break;
    4824              :       }
    4825         2856 :     case BIT_AND_EXPR:
    4826         2856 :       {
    4827         2856 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4828         2856 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4829         2856 :         switch (TREE_CODE (_p1))
    4830              :           {
    4831           74 :           case BIT_IOR_EXPR:
    4832           74 :             {
    4833           74 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4834           74 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4835           74 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4836              :                 {
    4837           18 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4838              :                     {
    4839            0 :                       {
    4840            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4841            0 :                         tree res = generic_simplify_161 (loc, type, _p0, _p1, captures);
    4842            0 :                         if (res) return res;
    4843              :                       }
    4844              :                     }
    4845              :                 }
    4846              :               break;
    4847              :             }
    4848           30 :           case BIT_XOR_EXPR:
    4849           30 :             {
    4850           30 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4851           30 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4852           30 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4853              :                 {
    4854            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4855              :                     {
    4856            0 :                       {
    4857            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4858            0 :                         tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4859            0 :                         if (res) return res;
    4860              :                       }
    4861              :                     }
    4862              :                 }
    4863              :               break;
    4864              :             }
    4865         2856 :           default:;
    4866              :           }
    4867         2856 :         switch (TREE_CODE (_q21))
    4868              :           {
    4869         1031 :           case INTEGER_CST:
    4870         1031 :             {
    4871         1031 :               switch (TREE_CODE (_p1))
    4872              :                 {
    4873           15 :                 CASE_CONVERT:
    4874           15 :                   {
    4875           15 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4876           15 :                     switch (TREE_CODE (_q50))
    4877              :                       {
    4878            0 :                       case BIT_AND_EXPR:
    4879            0 :                         {
    4880            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    4881            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    4882            0 :                           switch (TREE_CODE (_q61))
    4883              :                             {
    4884            0 :                             case INTEGER_CST:
    4885            0 :                               {
    4886            0 :                                 {
    4887            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
    4888            0 :                                   tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4889            0 :                                   if (res) return res;
    4890              :                                 }
    4891            0 :                                 break;
    4892              :                               }
    4893              :                             default:;
    4894              :                             }
    4895              :                           break;
    4896              :                         }
    4897              :                       default:;
    4898              :                       }
    4899              :                     break;
    4900              :                   }
    4901          210 :                 case BIT_AND_EXPR:
    4902          210 :                   {
    4903          210 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4904          210 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4905          210 :                     switch (TREE_CODE (_q51))
    4906              :                       {
    4907          210 :                       case INTEGER_CST:
    4908          210 :                         {
    4909          210 :                           {
    4910          210 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
    4911          210 :                             tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4912          210 :                             if (res) return res;
    4913              :                           }
    4914          209 :                           break;
    4915              :                         }
    4916              :                       default:;
    4917              :                       }
    4918              :                     break;
    4919              :                   }
    4920              :                 default:;
    4921              :                 }
    4922              :               break;
    4923              :             }
    4924              :           default:;
    4925              :           }
    4926              :         break;
    4927              :       }
    4928       625222 :     CASE_CONVERT:
    4929       625222 :       {
    4930       625222 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4931       625222 :         switch (TREE_CODE (_q20))
    4932              :           {
    4933           24 :           case BIT_AND_EXPR:
    4934           24 :             {
    4935           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4936           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4937           24 :               switch (TREE_CODE (_q31))
    4938              :                 {
    4939            0 :                 case INTEGER_CST:
    4940            0 :                   {
    4941            0 :                     switch (TREE_CODE (_p1))
    4942              :                       {
    4943            0 :                       CASE_CONVERT:
    4944            0 :                         {
    4945            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4946            0 :                           switch (TREE_CODE (_q60))
    4947              :                             {
    4948            0 :                             case BIT_AND_EXPR:
    4949            0 :                               {
    4950            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4951            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4952            0 :                                 switch (TREE_CODE (_q71))
    4953              :                                   {
    4954            0 :                                   case INTEGER_CST:
    4955            0 :                                     {
    4956            0 :                                       {
    4957            0 :                                         tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
    4958            0 :                                         tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4959            0 :                                         if (res) return res;
    4960              :                                       }
    4961            0 :                                       break;
    4962              :                                     }
    4963              :                                   default:;
    4964              :                                   }
    4965              :                                 break;
    4966              :                               }
    4967              :                             default:;
    4968              :                             }
    4969              :                           break;
    4970              :                         }
    4971            0 :                       case BIT_AND_EXPR:
    4972            0 :                         {
    4973            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4974            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
    4975            0 :                           switch (TREE_CODE (_q61))
    4976              :                             {
    4977            0 :                             case INTEGER_CST:
    4978            0 :                               {
    4979            0 :                                 {
    4980            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
    4981            0 :                                   tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    4982            0 :                                   if (res) return res;
    4983              :                                 }
    4984            0 :                                 break;
    4985              :                               }
    4986              :                             default:;
    4987              :                             }
    4988              :                           break;
    4989              :                         }
    4990              :                       default:;
    4991              :                       }
    4992              :                     break;
    4993              :                   }
    4994              :                 default:;
    4995              :                 }
    4996              :               break;
    4997              :             }
    4998           24 :           case BIT_IOR_EXPR:
    4999           24 :             {
    5000           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5001           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5002           24 :               switch (TREE_CODE (_p1))
    5003              :                 {
    5004           16 :                 CASE_CONVERT:
    5005           16 :                   {
    5006           16 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5007           16 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
    5008              :                       {
    5009            0 :                         {
    5010            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
    5011            0 :                           tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5012            0 :                           if (res) return res;
    5013              :                         }
    5014              :                       }
    5015           16 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    5016              :                       {
    5017            0 :                         {
    5018            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
    5019            0 :                           tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5020            0 :                           if (res) return res;
    5021              :                         }
    5022              :                       }
    5023              :                     break;
    5024              :                   }
    5025           24 :                 default:;
    5026              :                 }
    5027           24 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
    5028              :                 {
    5029            0 :                   {
    5030            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
    5031            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5032            0 :                     if (res) return res;
    5033              :                   }
    5034              :                 }
    5035           24 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    5036              :                 {
    5037            0 :                   {
    5038            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
    5039            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5040            0 :                     if (res) return res;
    5041              :                   }
    5042              :                 }
    5043              :               break;
    5044              :             }
    5045       625222 :           default:;
    5046              :           }
    5047       625222 :         switch (TREE_CODE (_p1))
    5048              :           {
    5049       621204 :           CASE_CONVERT:
    5050       621204 :             {
    5051       621204 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5052       621204 :               switch (TREE_CODE (_q40))
    5053              :                 {
    5054            0 :                 case BIT_IOR_EXPR:
    5055            0 :                   {
    5056            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5057            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5058            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    5059              :                       {
    5060            0 :                         {
    5061            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    5062            0 :                           tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5063            0 :                           if (res) return res;
    5064              :                         }
    5065              :                       }
    5066            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    5067              :                       {
    5068            0 :                         {
    5069            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
    5070            0 :                           tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5071            0 :                           if (res) return res;
    5072              :                         }
    5073              :                       }
    5074              :                     break;
    5075              :                   }
    5076              :                 default:;
    5077              :                 }
    5078              :               break;
    5079              :             }
    5080           26 :           case BIT_IOR_EXPR:
    5081           26 :             {
    5082           26 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5083           26 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5084           26 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
    5085              :                 {
    5086            0 :                   {
    5087            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
    5088            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5089            0 :                     if (res) return res;
    5090              :                   }
    5091              :                 }
    5092           26 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
    5093              :                 {
    5094            0 :                   {
    5095            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    5096            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5097            0 :                     if (res) return res;
    5098              :                   }
    5099              :                 }
    5100              :               break;
    5101              :             }
    5102              :           default:;
    5103              :           }
    5104              :         break;
    5105              :       }
    5106       978140 :     default:;
    5107              :     }
    5108       978140 :   switch (TREE_CODE (_p1))
    5109              :     {
    5110       747900 :     CASE_CONVERT:
    5111       747900 :       {
    5112       747900 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5113       747900 :         switch (TREE_CODE (_q30))
    5114              :           {
    5115            6 :           case BIT_IOR_EXPR:
    5116            6 :             {
    5117            6 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5118            6 :               tree _q41 = TREE_OPERAND (_q30, 1);
    5119            6 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
    5120              :                 {
    5121            0 :                   {
    5122            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
    5123            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5124            0 :                     if (res) return res;
    5125              :                   }
    5126              :                 }
    5127            6 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    5128              :                 {
    5129            0 :                   {
    5130            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
    5131            0 :                     tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5132            0 :                     if (res) return res;
    5133              :                   }
    5134              :                 }
    5135              :               break;
    5136              :             }
    5137              :           default:;
    5138              :           }
    5139              :         break;
    5140              :       }
    5141          518 :     case BIT_IOR_EXPR:
    5142          518 :       {
    5143          518 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5144          518 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5145          518 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    5146              :           {
    5147            1 :             {
    5148            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5149            1 :               tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5150            1 :               if (res) return res;
    5151              :             }
    5152              :           }
    5153          517 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    5154              :           {
    5155            1 :             {
    5156            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
    5157            1 :               tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
    5158            1 :               if (res) return res;
    5159              :             }
    5160              :           }
    5161              :         break;
    5162              :       }
    5163       978138 :     default:;
    5164              :     }
    5165       978138 :   {
    5166       978138 :     tree _p0_pops[1];
    5167       978138 :     if (tree_nop_convert (_p0, _p0_pops))
    5168              :       {
    5169       500983 :         tree _q20 = _p0_pops[0];
    5170       500983 :         switch (TREE_CODE (_q20))
    5171              :           {
    5172           16 :           case BIT_IOR_EXPR:
    5173           16 :             {
    5174           16 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5175           16 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5176           16 :               {
    5177           16 :                 tree _q30_pops[1];
    5178           16 :                 if (tree_nop_convert (_q30, _q30_pops))
    5179              :                   {
    5180            0 :                     tree _q40 = _q30_pops[0];
    5181            0 :                     switch (TREE_CODE (_q40))
    5182              :                       {
    5183            0 :                       case BIT_NOT_EXPR:
    5184            0 :                         {
    5185            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    5186            0 :                           {
    5187            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q31, _p1 };
    5188            0 :                             tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5189            0 :                             if (res) return res;
    5190              :                           }
    5191            0 :                           break;
    5192              :                         }
    5193              :                       default:;
    5194              :                       }
    5195              :                   }
    5196              :               }
    5197           16 :               {
    5198           16 :                 tree _q31_pops[1];
    5199           16 :                 if (tree_nop_convert (_q31, _q31_pops))
    5200              :                   {
    5201            0 :                     tree _q50 = _q31_pops[0];
    5202            0 :                     switch (TREE_CODE (_q50))
    5203              :                       {
    5204            0 :                       case BIT_NOT_EXPR:
    5205            0 :                         {
    5206            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    5207            0 :                           {
    5208            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _p1 };
    5209            0 :                             tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5210            0 :                             if (res) return res;
    5211              :                           }
    5212            0 :                           break;
    5213              :                         }
    5214              :                       default:;
    5215              :                       }
    5216              :                   }
    5217              :               }
    5218           16 :               switch (TREE_CODE (_q30))
    5219              :                 {
    5220           16 :                 case BIT_NOT_EXPR:
    5221           16 :                   {
    5222           16 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5223           16 :                     {
    5224           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q31, _p1 };
    5225           16 :                       tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5226           16 :                       if (res) return res;
    5227              :                     }
    5228            0 :                     break;
    5229              :                   }
    5230            0 :                 default:;
    5231              :                 }
    5232            0 :               switch (TREE_CODE (_q31))
    5233              :                 {
    5234            0 :                 case BIT_NOT_EXPR:
    5235            0 :                   {
    5236            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    5237            0 :                     {
    5238            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q30, _p1 };
    5239            0 :                       tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5240            0 :                       if (res) return res;
    5241              :                     }
    5242            0 :                     break;
    5243              :                   }
    5244              :                 default:;
    5245              :                 }
    5246              :               break;
    5247              :             }
    5248              :           default:;
    5249              :           }
    5250              :       }
    5251              :   }
    5252       978122 :   switch (TREE_CODE (_p1))
    5253              :     {
    5254          516 :     case BIT_IOR_EXPR:
    5255          516 :       {
    5256          516 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5257          516 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5258          516 :         {
    5259          516 :           tree _q30_pops[1];
    5260          516 :           if (tree_nop_convert (_q30, _q30_pops))
    5261              :             {
    5262            2 :               tree _q40 = _q30_pops[0];
    5263            2 :               switch (TREE_CODE (_q40))
    5264              :                 {
    5265            0 :                 case BIT_NOT_EXPR:
    5266            0 :                   {
    5267            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5268            0 :                     {
    5269            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q31, _p0 };
    5270            0 :                       tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5271            0 :                       if (res) return res;
    5272              :                     }
    5273            0 :                     break;
    5274              :                   }
    5275              :                 default:;
    5276              :                 }
    5277              :             }
    5278              :         }
    5279          516 :         {
    5280          516 :           tree _q31_pops[1];
    5281          516 :           if (tree_nop_convert (_q31, _q31_pops))
    5282              :             {
    5283            2 :               tree _q50 = _q31_pops[0];
    5284            2 :               switch (TREE_CODE (_q50))
    5285              :                 {
    5286            0 :                 case BIT_NOT_EXPR:
    5287            0 :                   {
    5288            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    5289            0 :                     {
    5290            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _p0 };
    5291            0 :                       tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5292            0 :                       if (res) return res;
    5293              :                     }
    5294            0 :                     break;
    5295              :                   }
    5296              :                 default:;
    5297              :                 }
    5298              :             }
    5299              :         }
    5300          516 :         switch (TREE_CODE (_q30))
    5301              :           {
    5302           18 :           case BIT_NOT_EXPR:
    5303           18 :             {
    5304           18 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5305           18 :               {
    5306           18 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q31, _p0 };
    5307           18 :                 tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5308           18 :                 if (res) return res;
    5309              :               }
    5310           18 :               break;
    5311              :             }
    5312          516 :           default:;
    5313              :           }
    5314          516 :         switch (TREE_CODE (_q31))
    5315              :           {
    5316           25 :           case BIT_NOT_EXPR:
    5317           25 :             {
    5318           25 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5319           25 :               {
    5320           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q30, _p0 };
    5321           25 :                 tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5322           25 :                 if (res) return res;
    5323              :               }
    5324           17 :               break;
    5325              :             }
    5326              :           default:;
    5327              :           }
    5328              :         break;
    5329              :       }
    5330       978114 :     default:;
    5331              :     }
    5332       978114 : {
    5333       978114 :   tree _p1_pops[1];
    5334       978114 :   if (tree_nop_convert (_p1, _p1_pops))
    5335              :     {
    5336       626211 :       tree _q30 = _p1_pops[0];
    5337       626211 :       switch (TREE_CODE (_q30))
    5338              :         {
    5339            0 :         case BIT_IOR_EXPR:
    5340            0 :           {
    5341            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5342            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5343            0 :             {
    5344            0 :               tree _q40_pops[1];
    5345            0 :               if (tree_nop_convert (_q40, _q40_pops))
    5346              :                 {
    5347            0 :                   tree _q50 = _q40_pops[0];
    5348            0 :                   switch (TREE_CODE (_q50))
    5349              :                     {
    5350            0 :                     case BIT_NOT_EXPR:
    5351            0 :                       {
    5352            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5353            0 :                         {
    5354            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q41, _p0 };
    5355            0 :                           tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5356            0 :                           if (res) return res;
    5357              :                         }
    5358            0 :                         break;
    5359              :                       }
    5360              :                     default:;
    5361              :                     }
    5362              :                 }
    5363              :             }
    5364            0 :             {
    5365            0 :               tree _q41_pops[1];
    5366            0 :               if (tree_nop_convert (_q41, _q41_pops))
    5367              :                 {
    5368            0 :                   tree _q60 = _q41_pops[0];
    5369            0 :                   switch (TREE_CODE (_q60))
    5370              :                     {
    5371            0 :                     case BIT_NOT_EXPR:
    5372            0 :                       {
    5373            0 :                         tree _q70 = TREE_OPERAND (_q60, 0);
    5374            0 :                         {
    5375            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q70, _q40, _p0 };
    5376            0 :                           tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5377            0 :                           if (res) return res;
    5378              :                         }
    5379            0 :                         break;
    5380              :                       }
    5381              :                     default:;
    5382              :                     }
    5383              :                 }
    5384              :             }
    5385            0 :             switch (TREE_CODE (_q40))
    5386              :               {
    5387            0 :               case BIT_NOT_EXPR:
    5388            0 :                 {
    5389            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5390            0 :                   {
    5391            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q41, _p0 };
    5392            0 :                     tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5393            0 :                     if (res) return res;
    5394              :                   }
    5395            0 :                   break;
    5396              :                 }
    5397            0 :               default:;
    5398              :               }
    5399            0 :             switch (TREE_CODE (_q41))
    5400              :               {
    5401            0 :               case BIT_NOT_EXPR:
    5402            0 :                 {
    5403            0 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5404            0 :                   {
    5405            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q40, _p0 };
    5406            0 :                     tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
    5407            0 :                     if (res) return res;
    5408              :                   }
    5409            0 :                   break;
    5410              :                 }
    5411              :               default:;
    5412              :               }
    5413              :             break;
    5414              :           }
    5415              :         default:;
    5416              :         }
    5417              :     }
    5418              : }
    5419       978114 :   switch (TREE_CODE (_p0))
    5420              :     {
    5421       625198 :     CASE_CONVERT:
    5422       625198 :       {
    5423       625198 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5424       625198 :         switch (TREE_CODE (_q20))
    5425              :           {
    5426           50 :           case BIT_NOT_EXPR:
    5427           50 :             {
    5428           50 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5429           50 :               switch (TREE_CODE (_p1))
    5430              :                 {
    5431            0 :                 CASE_CONVERT:
    5432            0 :                   {
    5433            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5434            0 :                     switch (TREE_CODE (_q50))
    5435              :                       {
    5436            0 :                       case BIT_NOT_EXPR:
    5437            0 :                         {
    5438            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    5439            0 :                           {
    5440            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
    5441            0 :                             tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
    5442            0 :                             if (res) return res;
    5443              :                           }
    5444            0 :                           break;
    5445              :                         }
    5446              :                       default:;
    5447              :                       }
    5448              :                     break;
    5449              :                   }
    5450            0 :                 case BIT_NOT_EXPR:
    5451            0 :                   {
    5452            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5453            0 :                     {
    5454            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    5455            0 :                       tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
    5456            0 :                       if (res) return res;
    5457              :                     }
    5458            0 :                     break;
    5459              :                   }
    5460           26 :                 case INTEGER_CST:
    5461           26 :                   {
    5462           26 :                     {
    5463           26 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
    5464           26 :                       tree res = generic_simplify_166 (loc, type, _p0, _p1, captures);
    5465           26 :                       if (res) return res;
    5466              :                     }
    5467           24 :                     break;
    5468              :                   }
    5469              :                 default:;
    5470              :                 }
    5471              :               break;
    5472              :             }
    5473              :           default:;
    5474              :           }
    5475              :         break;
    5476              :       }
    5477          484 :     case BIT_NOT_EXPR:
    5478          484 :       {
    5479          484 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5480          484 :         switch (TREE_CODE (_p1))
    5481              :           {
    5482           18 :           CASE_CONVERT:
    5483           18 :             {
    5484           18 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5485           18 :               switch (TREE_CODE (_q40))
    5486              :                 {
    5487            0 :                 case BIT_NOT_EXPR:
    5488            0 :                   {
    5489            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5490            0 :                     {
    5491            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5492            0 :                       tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
    5493            0 :                       if (res) return res;
    5494              :                     }
    5495            0 :                     break;
    5496              :                   }
    5497              :                 default:;
    5498              :                 }
    5499              :               break;
    5500              :             }
    5501           10 :           case BIT_NOT_EXPR:
    5502           10 :             {
    5503           10 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5504           10 :               {
    5505           10 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5506           10 :                 tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
    5507           10 :                 if (res) return res;
    5508              :               }
    5509            0 :               break;
    5510              :             }
    5511           31 :           case INTEGER_CST:
    5512           31 :             {
    5513           31 :               {
    5514           31 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    5515           31 :                 tree res = generic_simplify_166 (loc, type, _p0, _p1, captures);
    5516           31 :                 if (res) return res;
    5517              :               }
    5518            0 :               break;
    5519              :             }
    5520          443 :           default:;
    5521              :           }
    5522          443 :         {
    5523          443 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1 };
    5524          443 :           tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
    5525          443 :           if (res) return res;
    5526              :         }
    5527            0 :         break;
    5528              :       }
    5529         2853 :     case BIT_AND_EXPR:
    5530         2853 :       {
    5531         2853 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5532         2853 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5533         2853 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5534              :           {
    5535           75 :             {
    5536           75 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5537           75 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5538           75 :               if (res) return res;
    5539              :             }
    5540              :           }
    5541         2778 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5542              :           {
    5543            3 :             {
    5544            3 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5545            3 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5546            3 :               if (res) return res;
    5547              :             }
    5548              :           }
    5549         2775 :         switch (TREE_CODE (_p1))
    5550              :           {
    5551          353 :           case BIT_AND_EXPR:
    5552          353 :             {
    5553          353 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5554          353 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5555          353 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    5556              :                 {
    5557           21 :                   {
    5558           21 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
    5559           21 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5560           21 :                     if (res) return res;
    5561              :                   }
    5562              :                 }
    5563          332 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    5564              :                 {
    5565            0 :                   {
    5566            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
    5567            0 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5568            0 :                     if (res) return res;
    5569              :                   }
    5570              :                 }
    5571          332 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    5572              :                 {
    5573            0 :                   {
    5574            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
    5575            0 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5576            0 :                     if (res) return res;
    5577              :                   }
    5578              :                 }
    5579          332 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
    5580              :                 {
    5581          201 :                   {
    5582          201 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
    5583          201 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5584          201 :                     if (res) return res;
    5585              :                   }
    5586              :                 }
    5587              :               break;
    5588              :             }
    5589              :           default:;
    5590              :           }
    5591              :         break;
    5592              :       }
    5593       977328 :     default:;
    5594              :     }
    5595       977328 :   switch (TREE_CODE (_p1))
    5596              :     {
    5597          431 :     case BIT_AND_EXPR:
    5598          431 :       {
    5599          431 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5600          431 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5601          431 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5602              :           {
    5603            0 :             {
    5604            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5605            0 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5606            0 :               if (res) return res;
    5607              :             }
    5608              :           }
    5609          431 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5610              :           {
    5611            0 :             {
    5612            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    5613            0 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5614            0 :               if (res) return res;
    5615              :             }
    5616              :           }
    5617              :         break;
    5618              :       }
    5619       977328 :     default:;
    5620              :     }
    5621       977328 :   switch (TREE_CODE (_p0))
    5622              :     {
    5623       625196 :     CASE_CONVERT:
    5624       625196 :       {
    5625       625196 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5626       625196 :         switch (TREE_CODE (_q20))
    5627              :           {
    5628           24 :           case BIT_AND_EXPR:
    5629           24 :             {
    5630           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5631           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5632           24 :               switch (TREE_CODE (_p1))
    5633              :                 {
    5634            8 :                 CASE_CONVERT:
    5635            8 :                   {
    5636            8 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5637            8 :                     switch (TREE_CODE (_q60))
    5638              :                       {
    5639            0 :                       case BIT_AND_EXPR:
    5640            0 :                         {
    5641            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    5642            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
    5643            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
    5644              :                             {
    5645            0 :                               {
    5646            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
    5647            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5648            0 :                                 if (res) return res;
    5649              :                               }
    5650              :                             }
    5651            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
    5652              :                             {
    5653            0 :                               {
    5654            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
    5655            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5656            0 :                                 if (res) return res;
    5657              :                               }
    5658              :                             }
    5659            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
    5660              :                             {
    5661            0 :                               {
    5662            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
    5663            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5664            0 :                                 if (res) return res;
    5665              :                               }
    5666              :                             }
    5667            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
    5668              :                             {
    5669            0 :                               {
    5670            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
    5671            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
    5672            0 :                                 if (res) return res;
    5673              :                               }
    5674              :                             }
    5675              :                           break;
    5676              :                         }
    5677              :                       default:;
    5678              :                       }
    5679              :                     break;
    5680              :                   }
    5681              :                 default:;
    5682              :                 }
    5683              :               break;
    5684              :             }
    5685        59203 :           case BIT_XOR_EXPR:
    5686        59203 :             {
    5687        59203 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5688        59203 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5689        59203 :               switch (TREE_CODE (_p1))
    5690              :                 {
    5691        59138 :                 CASE_CONVERT:
    5692        59138 :                   {
    5693        59138 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5694        59138 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    5695              :                       {
    5696            0 :                         {
    5697            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    5698            0 :                           tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5699            0 :                           if (res) return res;
    5700              :                         }
    5701              :                       }
    5702        59138 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
    5703              :                       {
    5704            0 :                         {
    5705            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
    5706            0 :                           tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5707            0 :                           if (res) return res;
    5708              :                         }
    5709              :                       }
    5710              :                     break;
    5711              :                   }
    5712        59203 :                 default:;
    5713              :                 }
    5714        59203 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    5715              :                 {
    5716            0 :                   {
    5717            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    5718            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5719            0 :                     if (res) return res;
    5720              :                   }
    5721              :                 }
    5722        59203 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
    5723              :                 {
    5724            0 :                   {
    5725            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
    5726            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5727            0 :                     if (res) return res;
    5728              :                   }
    5729              :                 }
    5730              :               break;
    5731              :             }
    5732       625196 :           default:;
    5733              :           }
    5734       625196 :         switch (TREE_CODE (_p1))
    5735              :           {
    5736       621188 :           CASE_CONVERT:
    5737       621188 :             {
    5738       621188 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5739       621188 :               switch (TREE_CODE (_q40))
    5740              :                 {
    5741            0 :                 case BIT_XOR_EXPR:
    5742            0 :                   {
    5743            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5744            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5745            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    5746              :                       {
    5747            0 :                         {
    5748            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    5749            0 :                           tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5750            0 :                           if (res) return res;
    5751              :                         }
    5752              :                       }
    5753            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    5754              :                       {
    5755            0 :                         {
    5756            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
    5757            0 :                           tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5758            0 :                           if (res) return res;
    5759              :                         }
    5760              :                       }
    5761              :                     break;
    5762              :                   }
    5763              :                 default:;
    5764              :                 }
    5765              :               break;
    5766              :             }
    5767            2 :           case BIT_XOR_EXPR:
    5768            2 :             {
    5769            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5770            2 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5771            2 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
    5772              :                 {
    5773            0 :                   {
    5774            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
    5775            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5776            0 :                     if (res) return res;
    5777              :                   }
    5778              :                 }
    5779            2 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
    5780              :                 {
    5781            0 :                   {
    5782            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    5783            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5784            0 :                     if (res) return res;
    5785              :                   }
    5786              :                 }
    5787              :               break;
    5788              :             }
    5789              :           default:;
    5790              :           }
    5791              :         break;
    5792              :       }
    5793       977328 :     default:;
    5794              :     }
    5795       977328 :   switch (TREE_CODE (_p1))
    5796              :     {
    5797       747866 :     CASE_CONVERT:
    5798       747866 :       {
    5799       747866 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5800       747866 :         switch (TREE_CODE (_q30))
    5801              :           {
    5802            8 :           case BIT_XOR_EXPR:
    5803            8 :             {
    5804            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5805            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
    5806            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    5807              :                 {
    5808            0 :                   {
    5809            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
    5810            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5811            0 :                     if (res) return res;
    5812              :                   }
    5813              :                 }
    5814            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
    5815              :                 {
    5816            0 :                   {
    5817            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
    5818            0 :                     tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5819            0 :                     if (res) return res;
    5820              :                   }
    5821              :                 }
    5822              :               break;
    5823              :             }
    5824              :           default:;
    5825              :           }
    5826              :         break;
    5827              :       }
    5828           78 :     case BIT_XOR_EXPR:
    5829           78 :       {
    5830           78 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5831           78 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5832           78 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    5833              :           {
    5834            0 :             {
    5835            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5836            0 :               tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5837            0 :               if (res) return res;
    5838              :             }
    5839              :           }
    5840           78 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    5841              :           {
    5842            0 :             {
    5843            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
    5844            0 :               tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
    5845            0 :               if (res) return res;
    5846              :             }
    5847              :           }
    5848              :         break;
    5849              :       }
    5850       977328 :     default:;
    5851              :     }
    5852       977328 :   switch (TREE_CODE (_p0))
    5853              :     {
    5854       625196 :     CASE_CONVERT:
    5855       625196 :       {
    5856       625196 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5857       625196 :         switch (TREE_CODE (_q20))
    5858              :           {
    5859        59203 :           case BIT_XOR_EXPR:
    5860        59203 :             {
    5861        59203 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5862        59203 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5863        59203 :               switch (TREE_CODE (_p1))
    5864              :                 {
    5865        59138 :                 CASE_CONVERT:
    5866        59138 :                   {
    5867        59138 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5868        59138 :                     switch (TREE_CODE (_q60))
    5869              :                       {
    5870            0 :                       case BIT_XOR_EXPR:
    5871            0 :                         {
    5872            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    5873            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
    5874            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    5875              :                             {
    5876            0 :                               {
    5877            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
    5878            0 :                                 tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5879            0 :                                 if (res) return res;
    5880              :                               }
    5881              :                             }
    5882            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    5883              :                             {
    5884            0 :                               {
    5885            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q70 };
    5886            0 :                                 tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5887            0 :                                 if (res) return res;
    5888              :                               }
    5889              :                             }
    5890            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    5891              :                             {
    5892            0 :                               {
    5893            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q71 };
    5894            0 :                                 tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5895            0 :                                 if (res) return res;
    5896              :                               }
    5897              :                             }
    5898            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5899              :                             {
    5900            0 :                               {
    5901            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q70 };
    5902            0 :                                 tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5903            0 :                                 if (res) return res;
    5904              :                               }
    5905              :                             }
    5906              :                           break;
    5907              :                         }
    5908              :                       default:;
    5909              :                       }
    5910              :                     break;
    5911              :                   }
    5912            0 :                 case BIT_XOR_EXPR:
    5913            0 :                   {
    5914            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5915            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    5916            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5917              :                       {
    5918            0 :                         {
    5919            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q61 };
    5920            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5921            0 :                           if (res) return res;
    5922              :                         }
    5923              :                       }
    5924            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    5925              :                       {
    5926            0 :                         {
    5927            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
    5928            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5929            0 :                           if (res) return res;
    5930              :                         }
    5931              :                       }
    5932            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    5933              :                       {
    5934            0 :                         {
    5935            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q61 };
    5936            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5937            0 :                           if (res) return res;
    5938              :                         }
    5939              :                       }
    5940            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    5941              :                       {
    5942            0 :                         {
    5943            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q60 };
    5944            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5945            0 :                           if (res) return res;
    5946              :                         }
    5947              :                       }
    5948              :                     break;
    5949              :                   }
    5950              :                 default:;
    5951              :                 }
    5952              :               break;
    5953              :             }
    5954       625196 :           default:;
    5955              :           }
    5956       625196 :         switch (TREE_CODE (_p1))
    5957              :           {
    5958       621188 :           CASE_CONVERT:
    5959       621188 :             {
    5960       621188 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5961       621188 :               {
    5962       621188 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    5963       621188 :                 tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    5964       621188 :                 if (res) return res;
    5965              :               }
    5966       535565 :               break;
    5967              :             }
    5968       539573 :           default:;
    5969              :           }
    5970       539573 :         {
    5971       539573 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    5972       539573 :           tree res = generic_simplify_104 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    5973       539573 :           if (res) return res;
    5974              :         }
    5975       539465 :         break;
    5976              :       }
    5977         3896 :     case BIT_XOR_EXPR:
    5978         3896 :       {
    5979         3896 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5980         3896 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5981         3896 :         switch (TREE_CODE (_p1))
    5982              :           {
    5983          198 :           CASE_CONVERT:
    5984          198 :             {
    5985          198 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5986          198 :               switch (TREE_CODE (_q50))
    5987              :                 {
    5988            0 :                 case BIT_XOR_EXPR:
    5989            0 :                   {
    5990            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    5991            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    5992            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5993              :                       {
    5994            0 :                         {
    5995            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q61 };
    5996            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    5997            0 :                           if (res) return res;
    5998              :                         }
    5999              :                       }
    6000            0 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    6001              :                       {
    6002            0 :                         {
    6003            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q60 };
    6004            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    6005            0 :                           if (res) return res;
    6006              :                         }
    6007              :                       }
    6008            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    6009              :                       {
    6010            0 :                         {
    6011            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q61 };
    6012            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    6013            0 :                           if (res) return res;
    6014              :                         }
    6015              :                       }
    6016            0 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6017              :                       {
    6018            0 :                         {
    6019            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q60 };
    6020            0 :                           tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    6021            0 :                           if (res) return res;
    6022              :                         }
    6023              :                       }
    6024              :                     break;
    6025              :                   }
    6026              :                 default:;
    6027              :                 }
    6028              :               break;
    6029              :             }
    6030           10 :           case BIT_XOR_EXPR:
    6031           10 :             {
    6032           10 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6033           10 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6034           10 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6035              :                 {
    6036            0 :                   {
    6037            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    6038            0 :                     tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    6039            0 :                     if (res) return res;
    6040              :                   }
    6041              :                 }
    6042           10 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6043              :                 {
    6044            0 :                   {
    6045            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6046            0 :                     tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    6047            0 :                     if (res) return res;
    6048              :                   }
    6049              :                 }
    6050           10 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6051              :                 {
    6052            0 :                   {
    6053            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    6054            0 :                     tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    6055            0 :                     if (res) return res;
    6056              :                   }
    6057              :                 }
    6058           10 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6059              :                 {
    6060            0 :                   {
    6061            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    6062            0 :                     tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
    6063            0 :                     if (res) return res;
    6064              :                   }
    6065              :                 }
    6066              :               break;
    6067              :             }
    6068         3896 :           default:;
    6069              :           }
    6070         3896 :         if (CONSTANT_CLASS_P (_q21))
    6071              :           {
    6072           49 :             if (CONSTANT_CLASS_P (_p1))
    6073              :               {
    6074           30 :                 {
    6075           30 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6076           30 :                   tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    6077           30 :                   if (res) return res;
    6078              :                 }
    6079              :               }
    6080              :           }
    6081              :         break;
    6082              :       }
    6083           70 :     case COND_EXPR:
    6084           70 :       {
    6085           70 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6086           70 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6087           70 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6088           70 :         if (integer_zerop (_q22))
    6089              :           {
    6090           70 :             switch (TREE_CODE (_p1))
    6091              :               {
    6092            4 :               case COND_EXPR:
    6093            4 :                 {
    6094            4 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6095            4 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6096            4 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6097            4 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6098              :                     {
    6099            0 :                       if (integer_zerop (_q61))
    6100              :                         {
    6101            0 :                           {
    6102            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    6103            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6104            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1278;
    6105            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1278;
    6106            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1278;
    6107            0 :                             {
    6108            0 :                               tree res_op0;
    6109            0 :                               res_op0 = captures[1];
    6110            0 :                               tree res_op1;
    6111            0 :                               res_op1 = captures[2];
    6112            0 :                               tree res_op2;
    6113            0 :                               res_op2 = captures[4];
    6114            0 :                               tree _r;
    6115            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    6116            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    6117            0 :                               return _r;
    6118              :                             }
    6119            0 : next_after_fail1278:;
    6120              :                           }
    6121              :                         }
    6122              :                     }
    6123              :                   break;
    6124              :                 }
    6125              :               default:;
    6126              :               }
    6127              :           }
    6128           70 :         if (integer_zerop (_q21))
    6129              :           {
    6130            0 :             switch (TREE_CODE (_p1))
    6131              :               {
    6132            0 :               case COND_EXPR:
    6133            0 :                 {
    6134            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6135            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6136            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6137            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6138              :                     {
    6139            0 :                       if (integer_zerop (_q62))
    6140              :                         {
    6141            0 :                           {
    6142            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    6143            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6144            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1279;
    6145            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1279;
    6146            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1279;
    6147            0 :                             {
    6148            0 :                               tree res_op0;
    6149            0 :                               res_op0 = captures[1];
    6150            0 :                               tree res_op1;
    6151            0 :                               res_op1 = captures[2];
    6152            0 :                               tree res_op2;
    6153            0 :                               res_op2 = captures[4];
    6154            0 :                               tree _r;
    6155            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    6156            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    6157            0 :                               return _r;
    6158              :                             }
    6159            0 : next_after_fail1279:;
    6160              :                           }
    6161              :                         }
    6162              :                     }
    6163              :                   break;
    6164              :                 }
    6165              :               default:;
    6166              :               }
    6167              :           }
    6168           70 :         switch (TREE_CODE (_q20))
    6169              :           {
    6170            0 :           case LT_EXPR:
    6171            0 :             {
    6172            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6173            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6174            0 :               if (zerop (_q22))
    6175              :                 {
    6176            0 :                   switch (TREE_CODE (_p1))
    6177              :                     {
    6178            0 :                     case COND_EXPR:
    6179            0 :                       {
    6180            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6181            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6182            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6183            0 :                         switch (TREE_CODE (_q80))
    6184              :                           {
    6185            0 :                           case GE_EXPR:
    6186            0 :                             {
    6187            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6188            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6189            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6190              :                                 {
    6191            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6192              :                                     {
    6193            0 :                                       if (zerop (_q82))
    6194              :                                         {
    6195            0 :                                           {
    6196            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6197            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LT_EXPR, GE_EXPR);
    6198            0 :                                             if (res) return res;
    6199              :                                           }
    6200              :                                         }
    6201              :                                     }
    6202              :                                 }
    6203              :                               break;
    6204              :                             }
    6205              :                           default:;
    6206              :                           }
    6207              :                         break;
    6208              :                       }
    6209              :                     default:;
    6210              :                     }
    6211              :                 }
    6212              :               break;
    6213              :             }
    6214           38 :           case LE_EXPR:
    6215           38 :             {
    6216           38 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6217           38 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6218           38 :               if (zerop (_q22))
    6219              :                 {
    6220           38 :                   switch (TREE_CODE (_p1))
    6221              :                     {
    6222            0 :                     case COND_EXPR:
    6223            0 :                       {
    6224            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6225            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6226            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6227            0 :                         switch (TREE_CODE (_q80))
    6228              :                           {
    6229            0 :                           case GT_EXPR:
    6230            0 :                             {
    6231            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6232            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6233            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6234              :                                 {
    6235            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6236              :                                     {
    6237            0 :                                       if (zerop (_q82))
    6238              :                                         {
    6239            0 :                                           {
    6240            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6241            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LE_EXPR, GT_EXPR);
    6242            0 :                                             if (res) return res;
    6243              :                                           }
    6244              :                                         }
    6245              :                                     }
    6246              :                                 }
    6247              :                               break;
    6248              :                             }
    6249              :                           default:;
    6250              :                           }
    6251              :                         break;
    6252              :                       }
    6253              :                     default:;
    6254              :                     }
    6255              :                 }
    6256              :               break;
    6257              :             }
    6258            0 :           case EQ_EXPR:
    6259            0 :             {
    6260            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6261            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6262            0 :               if (zerop (_q22))
    6263              :                 {
    6264            0 :                   switch (TREE_CODE (_p1))
    6265              :                     {
    6266            0 :                     case COND_EXPR:
    6267            0 :                       {
    6268            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6269            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6270            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6271            0 :                         switch (TREE_CODE (_q80))
    6272              :                           {
    6273            0 :                           case NE_EXPR:
    6274            0 :                             {
    6275            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6276            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6277            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6278              :                                 {
    6279            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6280              :                                     {
    6281            0 :                                       if (zerop (_q82))
    6282              :                                         {
    6283            0 :                                           {
    6284            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6285            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, EQ_EXPR, NE_EXPR);
    6286            0 :                                             if (res) return res;
    6287              :                                           }
    6288              :                                         }
    6289              :                                     }
    6290              :                                 }
    6291              :                               break;
    6292              :                             }
    6293              :                           default:;
    6294              :                           }
    6295              :                         break;
    6296              :                       }
    6297              :                     default:;
    6298              :                     }
    6299              :                 }
    6300              :               break;
    6301              :             }
    6302           32 :           case NE_EXPR:
    6303           32 :             {
    6304           32 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6305           32 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6306           32 :               if (zerop (_q22))
    6307              :                 {
    6308           32 :                   switch (TREE_CODE (_p1))
    6309              :                     {
    6310            4 :                     case COND_EXPR:
    6311            4 :                       {
    6312            4 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6313            4 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6314            4 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6315            4 :                         switch (TREE_CODE (_q80))
    6316              :                           {
    6317            0 :                           case EQ_EXPR:
    6318            0 :                             {
    6319            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6320            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6321            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6322              :                                 {
    6323            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6324              :                                     {
    6325            0 :                                       if (zerop (_q82))
    6326              :                                         {
    6327            0 :                                           {
    6328            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6329            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, NE_EXPR, EQ_EXPR);
    6330            0 :                                             if (res) return res;
    6331              :                                           }
    6332              :                                         }
    6333              :                                     }
    6334              :                                 }
    6335              :                               break;
    6336              :                             }
    6337              :                           default:;
    6338              :                           }
    6339              :                         break;
    6340              :                       }
    6341              :                     default:;
    6342              :                     }
    6343              :                 }
    6344              :               break;
    6345              :             }
    6346            0 :           case GE_EXPR:
    6347            0 :             {
    6348            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6349            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6350            0 :               if (zerop (_q22))
    6351              :                 {
    6352            0 :                   switch (TREE_CODE (_p1))
    6353              :                     {
    6354            0 :                     case COND_EXPR:
    6355            0 :                       {
    6356            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6357            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6358            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6359            0 :                         switch (TREE_CODE (_q80))
    6360              :                           {
    6361            0 :                           case LT_EXPR:
    6362            0 :                             {
    6363            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6364            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6365            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6366              :                                 {
    6367            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6368              :                                     {
    6369            0 :                                       if (zerop (_q82))
    6370              :                                         {
    6371            0 :                                           {
    6372            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6373            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GE_EXPR, LT_EXPR);
    6374            0 :                                             if (res) return res;
    6375              :                                           }
    6376              :                                         }
    6377              :                                     }
    6378              :                                 }
    6379              :                               break;
    6380              :                             }
    6381              :                           default:;
    6382              :                           }
    6383              :                         break;
    6384              :                       }
    6385              :                     default:;
    6386              :                     }
    6387              :                 }
    6388              :               break;
    6389              :             }
    6390            0 :           case GT_EXPR:
    6391            0 :             {
    6392            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6393            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6394            0 :               if (zerop (_q22))
    6395              :                 {
    6396            0 :                   switch (TREE_CODE (_p1))
    6397              :                     {
    6398            0 :                     case COND_EXPR:
    6399            0 :                       {
    6400            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6401            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6402            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6403            0 :                         switch (TREE_CODE (_q80))
    6404              :                           {
    6405            0 :                           case LE_EXPR:
    6406            0 :                             {
    6407            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6408            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6409            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6410              :                                 {
    6411            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6412              :                                     {
    6413            0 :                                       if (zerop (_q82))
    6414              :                                         {
    6415            0 :                                           {
    6416            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6417            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GT_EXPR, LE_EXPR);
    6418            0 :                                             if (res) return res;
    6419              :                                           }
    6420              :                                         }
    6421              :                                     }
    6422              :                                 }
    6423              :                               break;
    6424              :                             }
    6425              :                           default:;
    6426              :                           }
    6427              :                         break;
    6428              :                       }
    6429              :                     default:;
    6430              :                     }
    6431              :                 }
    6432              :               break;
    6433              :             }
    6434            0 :           case UNORDERED_EXPR:
    6435            0 :             {
    6436            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6437            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6438            0 :               if (zerop (_q22))
    6439              :                 {
    6440            0 :                   switch (TREE_CODE (_p1))
    6441              :                     {
    6442            0 :                     case COND_EXPR:
    6443            0 :                       {
    6444            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6445            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6446            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6447            0 :                         switch (TREE_CODE (_q80))
    6448              :                           {
    6449            0 :                           case ORDERED_EXPR:
    6450            0 :                             {
    6451            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6452            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6453            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6454              :                                 {
    6455            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6456              :                                     {
    6457            0 :                                       if (zerop (_q82))
    6458              :                                         {
    6459            0 :                                           {
    6460            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6461            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    6462            0 :                                             if (res) return res;
    6463              :                                           }
    6464              :                                         }
    6465              :                                     }
    6466              :                                 }
    6467              :                               break;
    6468              :                             }
    6469              :                           default:;
    6470              :                           }
    6471              :                         break;
    6472              :                       }
    6473              :                     default:;
    6474              :                     }
    6475              :                 }
    6476              :               break;
    6477              :             }
    6478            0 :           case ORDERED_EXPR:
    6479            0 :             {
    6480            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6481            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6482            0 :               if (zerop (_q22))
    6483              :                 {
    6484            0 :                   switch (TREE_CODE (_p1))
    6485              :                     {
    6486            0 :                     case COND_EXPR:
    6487            0 :                       {
    6488            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6489            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6490            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6491            0 :                         switch (TREE_CODE (_q80))
    6492              :                           {
    6493            0 :                           case UNORDERED_EXPR:
    6494            0 :                             {
    6495            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6496            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6497            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6498              :                                 {
    6499            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6500              :                                     {
    6501            0 :                                       if (zerop (_q82))
    6502              :                                         {
    6503            0 :                                           {
    6504            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6505            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    6506            0 :                                             if (res) return res;
    6507              :                                           }
    6508              :                                         }
    6509              :                                     }
    6510              :                                 }
    6511              :                               break;
    6512              :                             }
    6513              :                           default:;
    6514              :                           }
    6515              :                         break;
    6516              :                       }
    6517              :                     default:;
    6518              :                     }
    6519              :                 }
    6520              :               break;
    6521              :             }
    6522            0 :           case UNLT_EXPR:
    6523            0 :             {
    6524            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6525            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6526            0 :               if (zerop (_q22))
    6527              :                 {
    6528            0 :                   switch (TREE_CODE (_p1))
    6529              :                     {
    6530            0 :                     case COND_EXPR:
    6531            0 :                       {
    6532            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6533            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6534            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6535            0 :                         switch (TREE_CODE (_q80))
    6536              :                           {
    6537            0 :                           case GE_EXPR:
    6538            0 :                             {
    6539            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6540            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6541            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6542              :                                 {
    6543            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6544              :                                     {
    6545            0 :                                       if (zerop (_q82))
    6546              :                                         {
    6547            0 :                                           {
    6548            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6549            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLT_EXPR, GE_EXPR);
    6550            0 :                                             if (res) return res;
    6551              :                                           }
    6552              :                                         }
    6553              :                                     }
    6554              :                                 }
    6555              :                               break;
    6556              :                             }
    6557              :                           default:;
    6558              :                           }
    6559              :                         break;
    6560              :                       }
    6561              :                     default:;
    6562              :                     }
    6563              :                 }
    6564              :               break;
    6565              :             }
    6566            0 :           case UNLE_EXPR:
    6567            0 :             {
    6568            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6569            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6570            0 :               if (zerop (_q22))
    6571              :                 {
    6572            0 :                   switch (TREE_CODE (_p1))
    6573              :                     {
    6574            0 :                     case COND_EXPR:
    6575            0 :                       {
    6576            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6577            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6578            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6579            0 :                         switch (TREE_CODE (_q80))
    6580              :                           {
    6581            0 :                           case GT_EXPR:
    6582            0 :                             {
    6583            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6584            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6585            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6586              :                                 {
    6587            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6588              :                                     {
    6589            0 :                                       if (zerop (_q82))
    6590              :                                         {
    6591            0 :                                           {
    6592            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6593            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLE_EXPR, GT_EXPR);
    6594            0 :                                             if (res) return res;
    6595              :                                           }
    6596              :                                         }
    6597              :                                     }
    6598              :                                 }
    6599              :                               break;
    6600              :                             }
    6601              :                           default:;
    6602              :                           }
    6603              :                         break;
    6604              :                       }
    6605              :                     default:;
    6606              :                     }
    6607              :                 }
    6608              :               break;
    6609              :             }
    6610            0 :           case UNGT_EXPR:
    6611            0 :             {
    6612            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6613            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6614            0 :               if (zerop (_q22))
    6615              :                 {
    6616            0 :                   switch (TREE_CODE (_p1))
    6617              :                     {
    6618            0 :                     case COND_EXPR:
    6619            0 :                       {
    6620            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6621            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6622            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6623            0 :                         switch (TREE_CODE (_q80))
    6624              :                           {
    6625            0 :                           case LE_EXPR:
    6626            0 :                             {
    6627            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6628            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6629            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6630              :                                 {
    6631            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6632              :                                     {
    6633            0 :                                       if (zerop (_q82))
    6634              :                                         {
    6635            0 :                                           {
    6636            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6637            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGT_EXPR, LE_EXPR);
    6638            0 :                                             if (res) return res;
    6639              :                                           }
    6640              :                                         }
    6641              :                                     }
    6642              :                                 }
    6643              :                               break;
    6644              :                             }
    6645              :                           default:;
    6646              :                           }
    6647              :                         break;
    6648              :                       }
    6649              :                     default:;
    6650              :                     }
    6651              :                 }
    6652              :               break;
    6653              :             }
    6654            0 :           case UNGE_EXPR:
    6655            0 :             {
    6656            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6657            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6658            0 :               if (zerop (_q22))
    6659              :                 {
    6660            0 :                   switch (TREE_CODE (_p1))
    6661              :                     {
    6662            0 :                     case COND_EXPR:
    6663            0 :                       {
    6664            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6665            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6666            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6667            0 :                         switch (TREE_CODE (_q80))
    6668              :                           {
    6669            0 :                           case LT_EXPR:
    6670            0 :                             {
    6671            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6672            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6673            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6674              :                                 {
    6675            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6676              :                                     {
    6677            0 :                                       if (zerop (_q82))
    6678              :                                         {
    6679            0 :                                           {
    6680            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6681            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGE_EXPR, LT_EXPR);
    6682            0 :                                             if (res) return res;
    6683              :                                           }
    6684              :                                         }
    6685              :                                     }
    6686              :                                 }
    6687              :                               break;
    6688              :                             }
    6689              :                           default:;
    6690              :                           }
    6691              :                         break;
    6692              :                       }
    6693              :                     default:;
    6694              :                     }
    6695              :                 }
    6696              :               break;
    6697              :             }
    6698            0 :           case UNEQ_EXPR:
    6699            0 :             {
    6700            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6701            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6702            0 :               if (zerop (_q22))
    6703              :                 {
    6704            0 :                   switch (TREE_CODE (_p1))
    6705              :                     {
    6706            0 :                     case COND_EXPR:
    6707            0 :                       {
    6708            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6709            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6710            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6711            0 :                         switch (TREE_CODE (_q80))
    6712              :                           {
    6713            0 :                           case LTGT_EXPR:
    6714            0 :                             {
    6715            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6716            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6717            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6718              :                                 {
    6719            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6720              :                                     {
    6721            0 :                                       if (zerop (_q82))
    6722              :                                         {
    6723            0 :                                           {
    6724            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6725            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
    6726            0 :                                             if (res) return res;
    6727              :                                           }
    6728              :                                         }
    6729              :                                     }
    6730              :                                 }
    6731              :                               break;
    6732              :                             }
    6733              :                           default:;
    6734              :                           }
    6735              :                         break;
    6736              :                       }
    6737              :                     default:;
    6738              :                     }
    6739              :                 }
    6740              :               break;
    6741              :             }
    6742            0 :           case LTGT_EXPR:
    6743            0 :             {
    6744            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6745            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6746            0 :               if (zerop (_q22))
    6747              :                 {
    6748            0 :                   switch (TREE_CODE (_p1))
    6749              :                     {
    6750            0 :                     case COND_EXPR:
    6751            0 :                       {
    6752            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6753            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6754            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6755            0 :                         switch (TREE_CODE (_q80))
    6756              :                           {
    6757            0 :                           case UNEQ_EXPR:
    6758            0 :                             {
    6759            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6760            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6761            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6762              :                                 {
    6763            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6764              :                                     {
    6765            0 :                                       if (zerop (_q82))
    6766              :                                         {
    6767            0 :                                           {
    6768            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    6769            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
    6770            0 :                                             if (res) return res;
    6771              :                                           }
    6772              :                                         }
    6773              :                                     }
    6774              :                                 }
    6775              :                               break;
    6776              :                             }
    6777              :                           default:;
    6778              :                           }
    6779              :                         break;
    6780              :                       }
    6781              :                     default:;
    6782              :                     }
    6783              :                 }
    6784              :               break;
    6785              :             }
    6786              :           default:;
    6787              :           }
    6788              :         break;
    6789              :       }
    6790            1 :     case VEC_COND_EXPR:
    6791            1 :       {
    6792            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6793            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6794            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6795            1 :         if (integer_zerop (_q22))
    6796              :           {
    6797            1 :             switch (TREE_CODE (_p1))
    6798              :               {
    6799            0 :               case VEC_COND_EXPR:
    6800            0 :                 {
    6801            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6802            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6803            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6804            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6805              :                     {
    6806            0 :                       if (integer_zerop (_q61))
    6807              :                         {
    6808            0 :                           {
    6809            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    6810            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6811            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1280;
    6812            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1280;
    6813            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1280;
    6814            0 :                             {
    6815            0 :                               tree res_op0;
    6816            0 :                               res_op0 = captures[1];
    6817            0 :                               tree res_op1;
    6818            0 :                               res_op1 = captures[2];
    6819            0 :                               tree res_op2;
    6820            0 :                               res_op2 = captures[4];
    6821            0 :                               tree _r;
    6822            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6823            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    6824            0 :                               return _r;
    6825              :                             }
    6826            0 : next_after_fail1280:;
    6827              :                           }
    6828              :                         }
    6829              :                     }
    6830              :                   break;
    6831              :                 }
    6832              :               default:;
    6833              :               }
    6834              :           }
    6835            1 :         if (integer_zerop (_q21))
    6836              :           {
    6837            0 :             switch (TREE_CODE (_p1))
    6838              :               {
    6839            0 :               case VEC_COND_EXPR:
    6840            0 :                 {
    6841            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6842            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    6843            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    6844            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6845              :                     {
    6846            0 :                       if (integer_zerop (_q62))
    6847              :                         {
    6848            0 :                           {
    6849            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    6850            0 :                             const enum tree_code op = BIT_XOR_EXPR;
    6851            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1281;
    6852            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1281;
    6853            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1281;
    6854            0 :                             {
    6855            0 :                               tree res_op0;
    6856            0 :                               res_op0 = captures[1];
    6857            0 :                               tree res_op1;
    6858            0 :                               res_op1 = captures[2];
    6859            0 :                               tree res_op2;
    6860            0 :                               res_op2 = captures[4];
    6861            0 :                               tree _r;
    6862            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6863            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    6864            0 :                               return _r;
    6865              :                             }
    6866            0 : next_after_fail1281:;
    6867              :                           }
    6868              :                         }
    6869              :                     }
    6870              :                   break;
    6871              :                 }
    6872              :               default:;
    6873              :               }
    6874              :           }
    6875            1 :         switch (TREE_CODE (_q20))
    6876              :           {
    6877            0 :           case LT_EXPR:
    6878            0 :             {
    6879            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6880            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6881            0 :               if (integer_zerop (_q22))
    6882              :                 {
    6883            0 :                   switch (TREE_CODE (_p1))
    6884              :                     {
    6885            0 :                     case VEC_COND_EXPR:
    6886            0 :                       {
    6887            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6888            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6889            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6890            0 :                         switch (TREE_CODE (_q80))
    6891              :                           {
    6892            0 :                           case GE_EXPR:
    6893            0 :                             {
    6894            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6895            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6896            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6897              :                                 {
    6898            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6899              :                                     {
    6900            0 :                                       if (integer_zerop (_q82))
    6901              :                                         {
    6902            0 :                                           {
    6903            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6904            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LT_EXPR, GE_EXPR);
    6905            0 :                                             if (res) return res;
    6906              :                                           }
    6907              :                                         }
    6908              :                                     }
    6909              :                                 }
    6910              :                               break;
    6911              :                             }
    6912              :                           default:;
    6913              :                           }
    6914              :                         break;
    6915              :                       }
    6916              :                     default:;
    6917              :                     }
    6918              :                 }
    6919              :               break;
    6920              :             }
    6921            0 :           case LE_EXPR:
    6922            0 :             {
    6923            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6924            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6925            0 :               if (integer_zerop (_q22))
    6926              :                 {
    6927            0 :                   switch (TREE_CODE (_p1))
    6928              :                     {
    6929            0 :                     case VEC_COND_EXPR:
    6930            0 :                       {
    6931            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6932            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6933            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6934            0 :                         switch (TREE_CODE (_q80))
    6935              :                           {
    6936            0 :                           case GT_EXPR:
    6937            0 :                             {
    6938            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6939            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6940            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6941              :                                 {
    6942            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6943              :                                     {
    6944            0 :                                       if (integer_zerop (_q82))
    6945              :                                         {
    6946            0 :                                           {
    6947            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6948            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LE_EXPR, GT_EXPR);
    6949            0 :                                             if (res) return res;
    6950              :                                           }
    6951              :                                         }
    6952              :                                     }
    6953              :                                 }
    6954              :                               break;
    6955              :                             }
    6956              :                           default:;
    6957              :                           }
    6958              :                         break;
    6959              :                       }
    6960              :                     default:;
    6961              :                     }
    6962              :                 }
    6963              :               break;
    6964              :             }
    6965            0 :           case EQ_EXPR:
    6966            0 :             {
    6967            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6968            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6969            0 :               if (integer_zerop (_q22))
    6970              :                 {
    6971            0 :                   switch (TREE_CODE (_p1))
    6972              :                     {
    6973            0 :                     case VEC_COND_EXPR:
    6974            0 :                       {
    6975            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6976            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6977            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6978            0 :                         switch (TREE_CODE (_q80))
    6979              :                           {
    6980            0 :                           case NE_EXPR:
    6981            0 :                             {
    6982            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6983            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6984            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6985              :                                 {
    6986            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6987              :                                     {
    6988            0 :                                       if (integer_zerop (_q82))
    6989              :                                         {
    6990            0 :                                           {
    6991            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6992            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, EQ_EXPR, NE_EXPR);
    6993            0 :                                             if (res) return res;
    6994              :                                           }
    6995              :                                         }
    6996              :                                     }
    6997              :                                 }
    6998              :                               break;
    6999              :                             }
    7000              :                           default:;
    7001              :                           }
    7002              :                         break;
    7003              :                       }
    7004              :                     default:;
    7005              :                     }
    7006              :                 }
    7007              :               break;
    7008              :             }
    7009            1 :           case NE_EXPR:
    7010            1 :             {
    7011            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7012            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7013            1 :               if (integer_zerop (_q22))
    7014              :                 {
    7015            1 :                   switch (TREE_CODE (_p1))
    7016              :                     {
    7017            0 :                     case VEC_COND_EXPR:
    7018            0 :                       {
    7019            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7020            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7021            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7022            0 :                         switch (TREE_CODE (_q80))
    7023              :                           {
    7024            0 :                           case EQ_EXPR:
    7025            0 :                             {
    7026            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7027            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7028            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7029              :                                 {
    7030            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7031              :                                     {
    7032            0 :                                       if (integer_zerop (_q82))
    7033              :                                         {
    7034            0 :                                           {
    7035            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7036            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, NE_EXPR, EQ_EXPR);
    7037            0 :                                             if (res) return res;
    7038              :                                           }
    7039              :                                         }
    7040              :                                     }
    7041              :                                 }
    7042              :                               break;
    7043              :                             }
    7044              :                           default:;
    7045              :                           }
    7046              :                         break;
    7047              :                       }
    7048              :                     default:;
    7049              :                     }
    7050              :                 }
    7051              :               break;
    7052              :             }
    7053            0 :           case GE_EXPR:
    7054            0 :             {
    7055            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7056            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7057            0 :               if (integer_zerop (_q22))
    7058              :                 {
    7059            0 :                   switch (TREE_CODE (_p1))
    7060              :                     {
    7061            0 :                     case VEC_COND_EXPR:
    7062            0 :                       {
    7063            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7064            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7065            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7066            0 :                         switch (TREE_CODE (_q80))
    7067              :                           {
    7068            0 :                           case LT_EXPR:
    7069            0 :                             {
    7070            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7071            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7072            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7073              :                                 {
    7074            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7075              :                                     {
    7076            0 :                                       if (integer_zerop (_q82))
    7077              :                                         {
    7078            0 :                                           {
    7079            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7080            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GE_EXPR, LT_EXPR);
    7081            0 :                                             if (res) return res;
    7082              :                                           }
    7083              :                                         }
    7084              :                                     }
    7085              :                                 }
    7086              :                               break;
    7087              :                             }
    7088              :                           default:;
    7089              :                           }
    7090              :                         break;
    7091              :                       }
    7092              :                     default:;
    7093              :                     }
    7094              :                 }
    7095              :               break;
    7096              :             }
    7097            0 :           case GT_EXPR:
    7098            0 :             {
    7099            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7100            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7101            0 :               if (integer_zerop (_q22))
    7102              :                 {
    7103            0 :                   switch (TREE_CODE (_p1))
    7104              :                     {
    7105            0 :                     case VEC_COND_EXPR:
    7106            0 :                       {
    7107            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7108            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7109            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7110            0 :                         switch (TREE_CODE (_q80))
    7111              :                           {
    7112            0 :                           case LE_EXPR:
    7113            0 :                             {
    7114            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7115            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7116            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7117              :                                 {
    7118            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7119              :                                     {
    7120            0 :                                       if (integer_zerop (_q82))
    7121              :                                         {
    7122            0 :                                           {
    7123            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7124            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, GT_EXPR, LE_EXPR);
    7125            0 :                                             if (res) return res;
    7126              :                                           }
    7127              :                                         }
    7128              :                                     }
    7129              :                                 }
    7130              :                               break;
    7131              :                             }
    7132              :                           default:;
    7133              :                           }
    7134              :                         break;
    7135              :                       }
    7136              :                     default:;
    7137              :                     }
    7138              :                 }
    7139              :               break;
    7140              :             }
    7141            0 :           case UNORDERED_EXPR:
    7142            0 :             {
    7143            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7144            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7145            0 :               if (integer_zerop (_q22))
    7146              :                 {
    7147            0 :                   switch (TREE_CODE (_p1))
    7148              :                     {
    7149            0 :                     case VEC_COND_EXPR:
    7150            0 :                       {
    7151            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7152            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7153            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7154            0 :                         switch (TREE_CODE (_q80))
    7155              :                           {
    7156            0 :                           case ORDERED_EXPR:
    7157            0 :                             {
    7158            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7159            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7160            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7161              :                                 {
    7162            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7163              :                                     {
    7164            0 :                                       if (integer_zerop (_q82))
    7165              :                                         {
    7166            0 :                                           {
    7167            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7168            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    7169            0 :                                             if (res) return res;
    7170              :                                           }
    7171              :                                         }
    7172              :                                     }
    7173              :                                 }
    7174              :                               break;
    7175              :                             }
    7176              :                           default:;
    7177              :                           }
    7178              :                         break;
    7179              :                       }
    7180              :                     default:;
    7181              :                     }
    7182              :                 }
    7183              :               break;
    7184              :             }
    7185            0 :           case ORDERED_EXPR:
    7186            0 :             {
    7187            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7188            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7189            0 :               if (integer_zerop (_q22))
    7190              :                 {
    7191            0 :                   switch (TREE_CODE (_p1))
    7192              :                     {
    7193            0 :                     case VEC_COND_EXPR:
    7194            0 :                       {
    7195            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7196            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7197            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7198            0 :                         switch (TREE_CODE (_q80))
    7199              :                           {
    7200            0 :                           case UNORDERED_EXPR:
    7201            0 :                             {
    7202            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7203            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7204            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7205              :                                 {
    7206            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7207              :                                     {
    7208            0 :                                       if (integer_zerop (_q82))
    7209              :                                         {
    7210            0 :                                           {
    7211            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7212            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    7213            0 :                                             if (res) return res;
    7214              :                                           }
    7215              :                                         }
    7216              :                                     }
    7217              :                                 }
    7218              :                               break;
    7219              :                             }
    7220              :                           default:;
    7221              :                           }
    7222              :                         break;
    7223              :                       }
    7224              :                     default:;
    7225              :                     }
    7226              :                 }
    7227              :               break;
    7228              :             }
    7229            0 :           case UNLT_EXPR:
    7230            0 :             {
    7231            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7232            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7233            0 :               if (integer_zerop (_q22))
    7234              :                 {
    7235            0 :                   switch (TREE_CODE (_p1))
    7236              :                     {
    7237            0 :                     case VEC_COND_EXPR:
    7238            0 :                       {
    7239            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7240            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7241            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7242            0 :                         switch (TREE_CODE (_q80))
    7243              :                           {
    7244            0 :                           case GE_EXPR:
    7245            0 :                             {
    7246            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7247            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7248            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7249              :                                 {
    7250            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7251              :                                     {
    7252            0 :                                       if (integer_zerop (_q82))
    7253              :                                         {
    7254            0 :                                           {
    7255            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7256            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLT_EXPR, GE_EXPR);
    7257            0 :                                             if (res) return res;
    7258              :                                           }
    7259              :                                         }
    7260              :                                     }
    7261              :                                 }
    7262              :                               break;
    7263              :                             }
    7264              :                           default:;
    7265              :                           }
    7266              :                         break;
    7267              :                       }
    7268              :                     default:;
    7269              :                     }
    7270              :                 }
    7271              :               break;
    7272              :             }
    7273            0 :           case UNLE_EXPR:
    7274            0 :             {
    7275            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7276            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7277            0 :               if (integer_zerop (_q22))
    7278              :                 {
    7279            0 :                   switch (TREE_CODE (_p1))
    7280              :                     {
    7281            0 :                     case VEC_COND_EXPR:
    7282            0 :                       {
    7283            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7284            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7285            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7286            0 :                         switch (TREE_CODE (_q80))
    7287              :                           {
    7288            0 :                           case GT_EXPR:
    7289            0 :                             {
    7290            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7291            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7292            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7293              :                                 {
    7294            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7295              :                                     {
    7296            0 :                                       if (integer_zerop (_q82))
    7297              :                                         {
    7298            0 :                                           {
    7299            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7300            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNLE_EXPR, GT_EXPR);
    7301            0 :                                             if (res) return res;
    7302              :                                           }
    7303              :                                         }
    7304              :                                     }
    7305              :                                 }
    7306              :                               break;
    7307              :                             }
    7308              :                           default:;
    7309              :                           }
    7310              :                         break;
    7311              :                       }
    7312              :                     default:;
    7313              :                     }
    7314              :                 }
    7315              :               break;
    7316              :             }
    7317            0 :           case UNGT_EXPR:
    7318            0 :             {
    7319            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7320            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7321            0 :               if (integer_zerop (_q22))
    7322              :                 {
    7323            0 :                   switch (TREE_CODE (_p1))
    7324              :                     {
    7325            0 :                     case VEC_COND_EXPR:
    7326            0 :                       {
    7327            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7328            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7329            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7330            0 :                         switch (TREE_CODE (_q80))
    7331              :                           {
    7332            0 :                           case LE_EXPR:
    7333            0 :                             {
    7334            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7335            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7336            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7337              :                                 {
    7338            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7339              :                                     {
    7340            0 :                                       if (integer_zerop (_q82))
    7341              :                                         {
    7342            0 :                                           {
    7343            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7344            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGT_EXPR, LE_EXPR);
    7345            0 :                                             if (res) return res;
    7346              :                                           }
    7347              :                                         }
    7348              :                                     }
    7349              :                                 }
    7350              :                               break;
    7351              :                             }
    7352              :                           default:;
    7353              :                           }
    7354              :                         break;
    7355              :                       }
    7356              :                     default:;
    7357              :                     }
    7358              :                 }
    7359              :               break;
    7360              :             }
    7361            0 :           case UNGE_EXPR:
    7362            0 :             {
    7363            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7364            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7365            0 :               if (integer_zerop (_q22))
    7366              :                 {
    7367            0 :                   switch (TREE_CODE (_p1))
    7368              :                     {
    7369            0 :                     case VEC_COND_EXPR:
    7370            0 :                       {
    7371            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7372            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7373            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7374            0 :                         switch (TREE_CODE (_q80))
    7375              :                           {
    7376            0 :                           case LT_EXPR:
    7377            0 :                             {
    7378            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7379            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7380            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7381              :                                 {
    7382            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7383              :                                     {
    7384            0 :                                       if (integer_zerop (_q82))
    7385              :                                         {
    7386            0 :                                           {
    7387            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7388            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNGE_EXPR, LT_EXPR);
    7389            0 :                                             if (res) return res;
    7390              :                                           }
    7391              :                                         }
    7392              :                                     }
    7393              :                                 }
    7394              :                               break;
    7395              :                             }
    7396              :                           default:;
    7397              :                           }
    7398              :                         break;
    7399              :                       }
    7400              :                     default:;
    7401              :                     }
    7402              :                 }
    7403              :               break;
    7404              :             }
    7405            0 :           case UNEQ_EXPR:
    7406            0 :             {
    7407            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7408            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7409            0 :               if (integer_zerop (_q22))
    7410              :                 {
    7411            0 :                   switch (TREE_CODE (_p1))
    7412              :                     {
    7413            0 :                     case VEC_COND_EXPR:
    7414            0 :                       {
    7415            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7416            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7417            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7418            0 :                         switch (TREE_CODE (_q80))
    7419              :                           {
    7420            0 :                           case LTGT_EXPR:
    7421            0 :                             {
    7422            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7423            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7424            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7425              :                                 {
    7426            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7427              :                                     {
    7428            0 :                                       if (integer_zerop (_q82))
    7429              :                                         {
    7430            0 :                                           {
    7431            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7432            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
    7433            0 :                                             if (res) return res;
    7434              :                                           }
    7435              :                                         }
    7436              :                                     }
    7437              :                                 }
    7438              :                               break;
    7439              :                             }
    7440              :                           default:;
    7441              :                           }
    7442              :                         break;
    7443              :                       }
    7444              :                     default:;
    7445              :                     }
    7446              :                 }
    7447              :               break;
    7448              :             }
    7449            0 :           case LTGT_EXPR:
    7450            0 :             {
    7451            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7452            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7453            0 :               if (integer_zerop (_q22))
    7454              :                 {
    7455            0 :                   switch (TREE_CODE (_p1))
    7456              :                     {
    7457            0 :                     case VEC_COND_EXPR:
    7458            0 :                       {
    7459            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    7460            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    7461            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    7462            0 :                         switch (TREE_CODE (_q80))
    7463              :                           {
    7464            0 :                           case UNEQ_EXPR:
    7465            0 :                             {
    7466            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    7467            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    7468            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    7469              :                                 {
    7470            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    7471              :                                     {
    7472            0 :                                       if (integer_zerop (_q82))
    7473              :                                         {
    7474            0 :                                           {
    7475            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    7476            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
    7477            0 :                                             if (res) return res;
    7478              :                                           }
    7479              :                                         }
    7480              :                                     }
    7481              :                                 }
    7482              :                               break;
    7483              :                             }
    7484              :                           default:;
    7485              :                           }
    7486              :                         break;
    7487              :                       }
    7488              :                     default:;
    7489              :                     }
    7490              :                 }
    7491              :               break;
    7492              :             }
    7493              :           default:;
    7494              :           }
    7495              :         break;
    7496              :       }
    7497         2553 :     case BIT_AND_EXPR:
    7498         2553 :       {
    7499         2553 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7500         2553 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7501         2553 :         if (tree_truth_valued_p (_q20))
    7502              :           {
    7503            0 :             if (tree_truth_valued_p (_q21))
    7504              :               {
    7505            0 :                 switch (TREE_CODE (_p1))
    7506              :                   {
    7507            0 :                   case EQ_EXPR:
    7508            0 :                     {
    7509            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    7510            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    7511            0 :                       if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7512              :                         {
    7513            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7514              :                             {
    7515            0 :                               {
    7516            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7517            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1282;
    7518            0 :                                 {
    7519            0 :                                   tree res_op0;
    7520            0 :                                   {
    7521            0 :                                     tree _o1[2], _r1;
    7522            0 :                                     _o1[0] = captures[0];
    7523            0 :                                     _o1[1] = captures[1];
    7524            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7525            0 :                                     res_op0 = _r1;
    7526              :                                   }
    7527            0 :                                   tree _r;
    7528            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7529            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 926, __FILE__, __LINE__, true);
    7530            0 :                                   return _r;
    7531              :                                 }
    7532            0 : next_after_fail1282:;
    7533              :                               }
    7534              :                             }
    7535              :                         }
    7536            0 :                       if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7537              :                         {
    7538            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7539              :                             {
    7540            0 :                               {
    7541            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7542            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1283;
    7543            0 :                                 {
    7544            0 :                                   tree res_op0;
    7545            0 :                                   {
    7546            0 :                                     tree _o1[2], _r1;
    7547            0 :                                     _o1[0] = captures[0];
    7548            0 :                                     _o1[1] = captures[1];
    7549            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7550            0 :                                     res_op0 = _r1;
    7551              :                                   }
    7552            0 :                                   tree _r;
    7553            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7554            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 926, __FILE__, __LINE__, true);
    7555            0 :                                   return _r;
    7556              :                                 }
    7557            0 : next_after_fail1283:;
    7558              :                               }
    7559              :                             }
    7560              :                         }
    7561              :                       break;
    7562              :                     }
    7563              :                   default:;
    7564              :                   }
    7565              :               }
    7566              :           }
    7567              :         break;
    7568              :       }
    7569          118 :     case EQ_EXPR:
    7570          118 :       {
    7571          118 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7572          118 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7573          118 :         switch (TREE_CODE (_p1))
    7574              :           {
    7575            0 :           case BIT_AND_EXPR:
    7576            0 :             {
    7577            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7578            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7579            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7580              :                 {
    7581            0 :                   if (tree_truth_valued_p (_q50))
    7582              :                     {
    7583            0 :                       if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7584              :                         {
    7585            0 :                           if (tree_truth_valued_p (_q51))
    7586              :                             {
    7587            0 :                               {
    7588            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7589            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1284;
    7590            0 :                                 {
    7591            0 :                                   tree res_op0;
    7592            0 :                                   {
    7593            0 :                                     tree _o1[2], _r1;
    7594            0 :                                     _o1[0] = captures[0];
    7595            0 :                                     _o1[1] = captures[1];
    7596            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7597            0 :                                     res_op0 = _r1;
    7598              :                                   }
    7599            0 :                                   tree _r;
    7600            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7601            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 926, __FILE__, __LINE__, true);
    7602            0 :                                   return _r;
    7603              :                                 }
    7604            0 : next_after_fail1284:;
    7605              :                               }
    7606              :                             }
    7607              :                         }
    7608              :                     }
    7609              :                 }
    7610            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7611              :                 {
    7612            0 :                   if (tree_truth_valued_p (_q50))
    7613              :                     {
    7614            0 :                       if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7615              :                         {
    7616            0 :                           if (tree_truth_valued_p (_q51))
    7617              :                             {
    7618            0 :                               {
    7619            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7620            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1285;
    7621            0 :                                 {
    7622            0 :                                   tree res_op0;
    7623            0 :                                   {
    7624            0 :                                     tree _o1[2], _r1;
    7625            0 :                                     _o1[0] = captures[0];
    7626            0 :                                     _o1[1] = captures[1];
    7627            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    7628            0 :                                     res_op0 = _r1;
    7629              :                                   }
    7630            0 :                                   tree _r;
    7631            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    7632            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 926, __FILE__, __LINE__, true);
    7633            0 :                                   return _r;
    7634              :                                 }
    7635            0 : next_after_fail1285:;
    7636              :                               }
    7637              :                             }
    7638              :                         }
    7639              :                     }
    7640              :                 }
    7641              :               break;
    7642              :             }
    7643              :           default:;
    7644              :           }
    7645              :         break;
    7646              :       }
    7647       891567 :     default:;
    7648              :     }
    7649       891567 : {
    7650       891567 :   tree _p0_pops[1];
    7651       891567 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    7652              :     {
    7653           45 :       tree _q20 = _p0_pops[0];
    7654           45 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7655              :         {
    7656            4 :           if (tree_truth_valued_p (_p1))
    7657              :             {
    7658            4 :               {
    7659            4 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    7660            4 :                 tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7661            4 :                 if (res) return res;
    7662              :               }
    7663              :             }
    7664              :         }
    7665              :     }
    7666              : }
    7667       891563 : {
    7668       891563 :   tree _p0_pops[1];
    7669       891563 :   if (tree_nop_convert (_p0, _p0_pops))
    7670              :     {
    7671       500965 :       tree _q20 = _p0_pops[0];
    7672       500965 :       switch (TREE_CODE (_q20))
    7673              :         {
    7674           24 :         case BIT_NOT_EXPR:
    7675           24 :           {
    7676           24 :             tree _q30 = TREE_OPERAND (_q20, 0);
    7677           24 :             {
    7678           24 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1 };
    7679           24 :               tree res = generic_simplify_170 (loc, type, _p0, _p1, captures);
    7680           24 :               if (res) return res;
    7681              :             }
    7682            0 :             break;
    7683              :           }
    7684           20 :         case MULT_EXPR:
    7685           20 :           {
    7686           20 :             tree _q30 = TREE_OPERAND (_q20, 0);
    7687           20 :             tree _q31 = TREE_OPERAND (_q20, 1);
    7688           20 :             {
    7689           20 :               tree _q30_pops[1];
    7690           20 :               if (tree_nop_convert (_q30, _q30_pops))
    7691              :                 {
    7692            0 :                   tree _q40 = _q30_pops[0];
    7693            0 :                   switch (TREE_CODE (_q31))
    7694              :                     {
    7695            0 :                     case INTEGER_CST:
    7696            0 :                       {
    7697            0 :                         switch (TREE_CODE (_p1))
    7698              :                           {
    7699            0 :                           case LSHIFT_EXPR:
    7700            0 :                             {
    7701            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
    7702            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
    7703            0 :                               if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    7704              :                                 {
    7705            0 :                                   switch (TREE_CODE (_q71))
    7706              :                                     {
    7707            0 :                                     case INTEGER_CST:
    7708            0 :                                       {
    7709            0 :                                         {
    7710            0 :                                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q71 };
    7711            0 :                                           tree res = generic_simplify_117 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7712            0 :                                           if (res) return res;
    7713              :                                         }
    7714            0 :                                         break;
    7715              :                                       }
    7716              :                                     default:;
    7717              :                                     }
    7718              :                                 }
    7719              :                               break;
    7720              :                             }
    7721            0 :                           default:;
    7722              :                           }
    7723            0 :                       {
    7724            0 :                         tree _p1_pops[1];
    7725            0 :                         if (tree_nop_convert (_p1, _p1_pops))
    7726              :                           {
    7727            0 :                             tree _q70 = _p1_pops[0];
    7728            0 :                             switch (TREE_CODE (_q70))
    7729              :                               {
    7730            0 :                               case MULT_EXPR:
    7731            0 :                                 {
    7732            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7733            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7734            0 :                                   {
    7735            0 :                                     tree _q80_pops[1];
    7736            0 :                                     if (tree_nop_convert (_q80, _q80_pops))
    7737              :                                       {
    7738            0 :                                         tree _q90 = _q80_pops[0];
    7739            0 :                                         switch (TREE_CODE (_q81))
    7740              :                                           {
    7741            0 :                                           case INTEGER_CST:
    7742            0 :                                             {
    7743            0 :                                               {
    7744            0 :                                                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q70, _q90, _q81 };
    7745            0 :                                                 tree res = generic_simplify_116 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7746            0 :                                                 if (res) return res;
    7747              :                                               }
    7748            0 :                                               break;
    7749              :                                             }
    7750              :                                           default:;
    7751              :                                           }
    7752              :                                       }
    7753              :                                   }
    7754            0 :                                   break;
    7755              :                                 }
    7756              :                               default:;
    7757              :                               }
    7758              :                           }
    7759              :                       }
    7760            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7761              :                           {
    7762            0 :                             {
    7763            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    7764            0 :                               tree res = generic_simplify_118 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7765            0 :                               if (res) return res;
    7766              :                             }
    7767              :                           }
    7768              :                         break;
    7769              :                       }
    7770              :                     default:;
    7771              :                     }
    7772              :                 }
    7773              :             }
    7774           20 :             break;
    7775              :           }
    7776              :         default:;
    7777              :         }
    7778              :     }
    7779              : }
    7780       891539 : if (tree_truth_valued_p (_p0))
    7781              :   {
    7782       132542 :     {
    7783       132542 :       tree _p1_pops[1];
    7784       132542 :       if (tree_logical_inverted_value (_p1, _p1_pops))
    7785              :         {
    7786            7 :           tree _q30 = _p1_pops[0];
    7787            7 :           if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7788              :             {
    7789            0 :               {
    7790            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7791            0 :                 tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    7792            0 :                 if (res) return res;
    7793              :               }
    7794              :             }
    7795              :         }
    7796              :     }
    7797              :   }
    7798       891539 :   switch (TREE_CODE (_p1))
    7799              :     {
    7800          288 :     case BIT_NOT_EXPR:
    7801          288 :       {
    7802          288 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7803          288 :         {
    7804          288 :           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    7805          288 :           tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
    7806          288 :           if (res) return res;
    7807              :         }
    7808            0 :         break;
    7809              :       }
    7810       891251 :     default:;
    7811              :     }
    7812       891251 : {
    7813       891251 :   tree _p1_pops[1];
    7814       891251 :   if (tree_nop_convert (_p1, _p1_pops))
    7815              :     {
    7816       626202 :       tree _q30 = _p1_pops[0];
    7817       626202 :       switch (TREE_CODE (_q30))
    7818              :         {
    7819            0 :         case BIT_NOT_EXPR:
    7820            0 :           {
    7821            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    7822            0 :             {
    7823            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    7824            0 :               tree res = generic_simplify_170 (loc, type, _p0, _p1, captures);
    7825            0 :               if (res) return res;
    7826              :             }
    7827            0 :             break;
    7828              :           }
    7829              :         default:;
    7830              :         }
    7831              :     }
    7832              : }
    7833       891251 :   switch (TREE_CODE (_p0))
    7834              :     {
    7835         1131 :     case BIT_IOR_EXPR:
    7836         1131 :       {
    7837         1131 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7838         1131 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7839         1131 :         switch (TREE_CODE (_q21))
    7840              :           {
    7841           23 :           case INTEGER_CST:
    7842           23 :             {
    7843           23 :               switch (TREE_CODE (_p1))
    7844              :                 {
    7845           23 :                 case INTEGER_CST:
    7846           23 :                   {
    7847           23 :                     {
    7848           23 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7849           23 :                       tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_XOR_EXPR);
    7850           23 :                       if (res) return res;
    7851              :                     }
    7852           23 :                     break;
    7853              :                   }
    7854              :                 default:;
    7855              :                 }
    7856              :               break;
    7857              :             }
    7858              :           default:;
    7859              :           }
    7860              :         break;
    7861              :       }
    7862           90 :     case LT_EXPR:
    7863           90 :       {
    7864           90 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7865           90 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7866           90 :         switch (TREE_CODE (_p1))
    7867              :           {
    7868            0 :           case GT_EXPR:
    7869            0 :             {
    7870            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7871            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7872            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7873              :                 {
    7874            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7875              :                     {
    7876            0 :                       {
    7877            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7878            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7879            0 :                         const enum tree_code cmp2 = GT_EXPR;
    7880            0 :                         const enum tree_code rcmp = NE_EXPR;
    7881            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7882            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7883            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7884            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7885              : )
    7886              :                           {
    7887            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1286;
    7888            0 :                             {
    7889            0 :                               tree res_op0;
    7890            0 :                               res_op0 = captures[0];
    7891            0 :                               tree res_op1;
    7892            0 :                               res_op1 = captures[1];
    7893            0 :                               tree _r;
    7894            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7895            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    7896            0 :                               return _r;
    7897              :                             }
    7898            0 : next_after_fail1286:;
    7899              :                           }
    7900              :                       }
    7901              :                     }
    7902              :                 }
    7903              :               break;
    7904              :             }
    7905            0 :           case EQ_EXPR:
    7906            0 :             {
    7907            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7908            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7909            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7910              :                 {
    7911            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7912              :                     {
    7913            0 :                       {
    7914            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7915            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7916            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    7917            0 :                         const enum tree_code rcmp = LE_EXPR;
    7918            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7919            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7920            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7921            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7922              : )
    7923              :                           {
    7924            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1287;
    7925            0 :                             {
    7926            0 :                               tree res_op0;
    7927            0 :                               res_op0 = captures[0];
    7928            0 :                               tree res_op1;
    7929            0 :                               res_op1 = captures[1];
    7930            0 :                               tree _r;
    7931            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7932            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    7933            0 :                               return _r;
    7934              :                             }
    7935            0 : next_after_fail1287:;
    7936              :                           }
    7937              :                       }
    7938              :                     }
    7939              :                 }
    7940              :               break;
    7941              :             }
    7942            0 :           case NE_EXPR:
    7943            0 :             {
    7944            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7945            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7946            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7947              :                 {
    7948            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7949              :                     {
    7950            0 :                       {
    7951            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7952            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7953            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7954            0 :                         const enum tree_code rcmp = GT_EXPR;
    7955            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7956            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7957            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7958            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7959              : )
    7960              :                           {
    7961            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1288;
    7962            0 :                             {
    7963            0 :                               tree res_op0;
    7964            0 :                               res_op0 = captures[0];
    7965            0 :                               tree res_op1;
    7966            0 :                               res_op1 = captures[1];
    7967            0 :                               tree _r;
    7968            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7969            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    7970            0 :                               return _r;
    7971              :                             }
    7972            0 : next_after_fail1288:;
    7973              :                           }
    7974              :                       }
    7975              :                     }
    7976              :                 }
    7977              :               break;
    7978              :             }
    7979              :           default:;
    7980              :           }
    7981              :         break;
    7982              :       }
    7983           85 :     case LE_EXPR:
    7984           85 :       {
    7985           85 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7986           85 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7987           85 :         switch (TREE_CODE (_p1))
    7988              :           {
    7989            0 :           case GE_EXPR:
    7990            0 :             {
    7991            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7992            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7993            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7994              :                 {
    7995            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7996              :                     {
    7997            0 :                       {
    7998            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7999            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8000            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8001            0 :                         const enum tree_code rcmp = NE_EXPR;
    8002            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8003            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8004            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8005            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8006              : )
    8007              :                           {
    8008            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1289;
    8009            0 :                             {
    8010            0 :                               tree res_op0;
    8011            0 :                               res_op0 = captures[0];
    8012            0 :                               tree res_op1;
    8013            0 :                               res_op1 = captures[1];
    8014            0 :                               tree _r;
    8015            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8016            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8017            0 :                               return _r;
    8018              :                             }
    8019            0 : next_after_fail1289:;
    8020              :                           }
    8021              :                       }
    8022              :                     }
    8023              :                 }
    8024              :               break;
    8025              :             }
    8026            0 :           case EQ_EXPR:
    8027            0 :             {
    8028            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8029            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8030            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8031              :                 {
    8032            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8033              :                     {
    8034            0 :                       {
    8035            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8036            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8037            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8038            0 :                         const enum tree_code rcmp = LT_EXPR;
    8039            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8040            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8041            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8042            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8043              : )
    8044              :                           {
    8045            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1290;
    8046            0 :                             {
    8047            0 :                               tree res_op0;
    8048            0 :                               res_op0 = captures[0];
    8049            0 :                               tree res_op1;
    8050            0 :                               res_op1 = captures[1];
    8051            0 :                               tree _r;
    8052            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8053            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8054            0 :                               return _r;
    8055              :                             }
    8056            0 : next_after_fail1290:;
    8057              :                           }
    8058              :                       }
    8059              :                     }
    8060              :                 }
    8061              :               break;
    8062              :             }
    8063            0 :           case NE_EXPR:
    8064            0 :             {
    8065            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8066            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8067            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8068              :                 {
    8069            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8070              :                     {
    8071            0 :                       {
    8072            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8073            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8074            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8075            0 :                         const enum tree_code rcmp = GE_EXPR;
    8076            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8077            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8078            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8079            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8080              : )
    8081              :                           {
    8082            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1291;
    8083            0 :                             {
    8084            0 :                               tree res_op0;
    8085            0 :                               res_op0 = captures[0];
    8086            0 :                               tree res_op1;
    8087            0 :                               res_op1 = captures[1];
    8088            0 :                               tree _r;
    8089            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8090            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8091            0 :                               return _r;
    8092              :                             }
    8093            0 : next_after_fail1291:;
    8094              :                           }
    8095              :                       }
    8096              :                     }
    8097              :                 }
    8098              :               break;
    8099              :             }
    8100              :           default:;
    8101              :           }
    8102              :         break;
    8103              :       }
    8104          100 :     case GT_EXPR:
    8105          100 :       {
    8106          100 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8107          100 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8108          100 :         switch (TREE_CODE (_p1))
    8109              :           {
    8110            0 :           case GT_EXPR:
    8111            0 :             {
    8112            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8113            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8114            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8115              :                 {
    8116            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8117              :                     {
    8118            0 :                       {
    8119            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8120            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8121            0 :                         const enum tree_code cmp2 = GT_EXPR;
    8122            0 :                         const enum tree_code rcmp = NE_EXPR;
    8123            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8124            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8125            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8126            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8127              : )
    8128              :                           {
    8129            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1292;
    8130            0 :                             {
    8131            0 :                               tree res_op0;
    8132            0 :                               res_op0 = captures[0];
    8133            0 :                               tree res_op1;
    8134            0 :                               res_op1 = captures[1];
    8135            0 :                               tree _r;
    8136            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8137            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8138            0 :                               return _r;
    8139              :                             }
    8140            0 : next_after_fail1292:;
    8141              :                           }
    8142              :                       }
    8143            0 :                       {
    8144            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8145            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8146            0 :                         const enum tree_code cmp2 = GT_EXPR;
    8147            0 :                         const enum tree_code rcmp = NE_EXPR;
    8148            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8149            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8150            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8151            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8152              : )
    8153              :                           {
    8154            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1293;
    8155            0 :                             {
    8156            0 :                               tree res_op0;
    8157            0 :                               res_op0 = captures[0];
    8158            0 :                               tree res_op1;
    8159            0 :                               res_op1 = captures[1];
    8160            0 :                               tree _r;
    8161            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8162            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8163            0 :                               return _r;
    8164              :                             }
    8165            0 : next_after_fail1293:;
    8166              :                           }
    8167              :                       }
    8168              :                     }
    8169              :                 }
    8170              :               break;
    8171              :             }
    8172            0 :           case EQ_EXPR:
    8173            0 :             {
    8174            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8175            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8176            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8177              :                 {
    8178            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8179              :                     {
    8180            0 :                       {
    8181            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8182            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8183            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8184            0 :                         const enum tree_code rcmp = LE_EXPR;
    8185            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8186            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8187            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8188            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8189              : )
    8190              :                           {
    8191            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1294;
    8192            0 :                             {
    8193            0 :                               tree res_op0;
    8194            0 :                               res_op0 = captures[0];
    8195            0 :                               tree res_op1;
    8196            0 :                               res_op1 = captures[1];
    8197            0 :                               tree _r;
    8198            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8199            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8200            0 :                               return _r;
    8201              :                             }
    8202            0 : next_after_fail1294:;
    8203              :                           }
    8204              :                       }
    8205              :                     }
    8206              :                 }
    8207              :               break;
    8208              :             }
    8209           12 :           case NE_EXPR:
    8210           12 :             {
    8211           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8212           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8213           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8214              :                 {
    8215            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8216              :                     {
    8217            0 :                       {
    8218            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8219            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8220            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8221            0 :                         const enum tree_code rcmp = GT_EXPR;
    8222            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8223            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8224            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8225            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8226              : )
    8227              :                           {
    8228            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1295;
    8229            0 :                             {
    8230            0 :                               tree res_op0;
    8231            0 :                               res_op0 = captures[0];
    8232            0 :                               tree res_op1;
    8233            0 :                               res_op1 = captures[1];
    8234            0 :                               tree _r;
    8235            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8236            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8237            0 :                               return _r;
    8238              :                             }
    8239            0 : next_after_fail1295:;
    8240              :                           }
    8241              :                       }
    8242              :                     }
    8243              :                 }
    8244              :               break;
    8245              :             }
    8246            0 :           case LT_EXPR:
    8247            0 :             {
    8248            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8249            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8250            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8251              :                 {
    8252            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8253              :                     {
    8254            0 :                       {
    8255            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8256            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8257            0 :                         const enum tree_code cmp2 = GT_EXPR;
    8258            0 :                         const enum tree_code rcmp = NE_EXPR;
    8259            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8260            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8261            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8262            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8263              : )
    8264              :                           {
    8265            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1296;
    8266            0 :                             {
    8267            0 :                               tree res_op0;
    8268            0 :                               res_op0 = captures[0];
    8269            0 :                               tree res_op1;
    8270            0 :                               res_op1 = captures[1];
    8271            0 :                               tree _r;
    8272            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8273            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8274            0 :                               return _r;
    8275              :                             }
    8276            0 : next_after_fail1296:;
    8277              :                           }
    8278              :                       }
    8279              :                     }
    8280              :                 }
    8281              :               break;
    8282              :             }
    8283              :           default:;
    8284              :           }
    8285              :         break;
    8286              :       }
    8287           62 :     case GE_EXPR:
    8288           62 :       {
    8289           62 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8290           62 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8291           62 :         switch (TREE_CODE (_p1))
    8292              :           {
    8293            1 :           case GE_EXPR:
    8294            1 :             {
    8295            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8296            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8297            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8298              :                 {
    8299            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8300              :                     {
    8301            0 :                       {
    8302            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8303            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8304            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8305            0 :                         const enum tree_code rcmp = NE_EXPR;
    8306            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8307            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8308            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8309            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8310              : )
    8311              :                           {
    8312            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1297;
    8313            0 :                             {
    8314            0 :                               tree res_op0;
    8315            0 :                               res_op0 = captures[0];
    8316            0 :                               tree res_op1;
    8317            0 :                               res_op1 = captures[1];
    8318            0 :                               tree _r;
    8319            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8320            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8321            0 :                               return _r;
    8322              :                             }
    8323            0 : next_after_fail1297:;
    8324              :                           }
    8325              :                       }
    8326            0 :                       {
    8327            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8328            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8329            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8330            0 :                         const enum tree_code rcmp = NE_EXPR;
    8331            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8332            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8333            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8334            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8335              : )
    8336              :                           {
    8337            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1298;
    8338            0 :                             {
    8339            0 :                               tree res_op0;
    8340            0 :                               res_op0 = captures[0];
    8341            0 :                               tree res_op1;
    8342            0 :                               res_op1 = captures[1];
    8343            0 :                               tree _r;
    8344            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8345            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8346            0 :                               return _r;
    8347              :                             }
    8348            0 : next_after_fail1298:;
    8349              :                           }
    8350              :                       }
    8351              :                     }
    8352              :                 }
    8353              :               break;
    8354              :             }
    8355            0 :           case EQ_EXPR:
    8356            0 :             {
    8357            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8358            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8359            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8360              :                 {
    8361            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8362              :                     {
    8363            0 :                       {
    8364            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8365            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8366            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8367            0 :                         const enum tree_code rcmp = LT_EXPR;
    8368            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8369            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8370            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8371            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8372              : )
    8373              :                           {
    8374            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1299;
    8375            0 :                             {
    8376            0 :                               tree res_op0;
    8377            0 :                               res_op0 = captures[0];
    8378            0 :                               tree res_op1;
    8379            0 :                               res_op1 = captures[1];
    8380            0 :                               tree _r;
    8381            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8382            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8383            0 :                               return _r;
    8384              :                             }
    8385            0 : next_after_fail1299:;
    8386              :                           }
    8387              :                       }
    8388              :                     }
    8389              :                 }
    8390              :               break;
    8391              :             }
    8392            8 :           case NE_EXPR:
    8393            8 :             {
    8394            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8395            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8396            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8397              :                 {
    8398            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8399              :                     {
    8400            0 :                       {
    8401            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8402            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8403            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8404            0 :                         const enum tree_code rcmp = GE_EXPR;
    8405            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8406            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8407            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8408            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8409              : )
    8410              :                           {
    8411            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1300;
    8412            0 :                             {
    8413            0 :                               tree res_op0;
    8414            0 :                               res_op0 = captures[0];
    8415            0 :                               tree res_op1;
    8416            0 :                               res_op1 = captures[1];
    8417            0 :                               tree _r;
    8418            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8419            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8420            0 :                               return _r;
    8421              :                             }
    8422            0 : next_after_fail1300:;
    8423              :                           }
    8424              :                       }
    8425              :                     }
    8426              :                 }
    8427              :               break;
    8428              :             }
    8429            0 :           case LE_EXPR:
    8430            0 :             {
    8431            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8432            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8433            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8434              :                 {
    8435            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8436              :                     {
    8437            0 :                       {
    8438            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8439            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8440            0 :                         const enum tree_code cmp2 = GE_EXPR;
    8441            0 :                         const enum tree_code rcmp = NE_EXPR;
    8442            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8443            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8444            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8445            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8446              : )
    8447              :                           {
    8448            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1301;
    8449            0 :                             {
    8450            0 :                               tree res_op0;
    8451            0 :                               res_op0 = captures[0];
    8452            0 :                               tree res_op1;
    8453            0 :                               res_op1 = captures[1];
    8454            0 :                               tree _r;
    8455            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8456            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8457            0 :                               return _r;
    8458              :                             }
    8459            0 : next_after_fail1301:;
    8460              :                           }
    8461              :                       }
    8462              :                     }
    8463              :                 }
    8464              :               break;
    8465              :             }
    8466              :           default:;
    8467              :           }
    8468              :         break;
    8469              :       }
    8470          118 :     case EQ_EXPR:
    8471          118 :       {
    8472          118 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8473          118 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8474          118 :         switch (TREE_CODE (_p1))
    8475              :           {
    8476            0 :           case LT_EXPR:
    8477            0 :             {
    8478            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8479            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8480            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8481              :                 {
    8482            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8483              :                     {
    8484            0 :                       {
    8485            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8486            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8487            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8488            0 :                         const enum tree_code rcmp = LE_EXPR;
    8489            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8490            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8491            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8492            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8493              : )
    8494              :                           {
    8495            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1302;
    8496            0 :                             {
    8497            0 :                               tree res_op0;
    8498            0 :                               res_op0 = captures[0];
    8499            0 :                               tree res_op1;
    8500            0 :                               res_op1 = captures[1];
    8501            0 :                               tree _r;
    8502            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8503            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8504            0 :                               return _r;
    8505              :                             }
    8506            0 : next_after_fail1302:;
    8507              :                           }
    8508              :                       }
    8509              :                     }
    8510              :                 }
    8511              :               break;
    8512              :             }
    8513            0 :           case LE_EXPR:
    8514            0 :             {
    8515            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8516            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8517            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8518              :                 {
    8519            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8520              :                     {
    8521            0 :                       {
    8522            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8523            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8524            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8525            0 :                         const enum tree_code rcmp = LT_EXPR;
    8526            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8527            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8528            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8529            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8530              : )
    8531              :                           {
    8532            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1303;
    8533            0 :                             {
    8534            0 :                               tree res_op0;
    8535            0 :                               res_op0 = captures[0];
    8536            0 :                               tree res_op1;
    8537            0 :                               res_op1 = captures[1];
    8538            0 :                               tree _r;
    8539            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8540            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8541            0 :                               return _r;
    8542              :                             }
    8543            0 : next_after_fail1303:;
    8544              :                           }
    8545              :                       }
    8546              :                     }
    8547              :                 }
    8548              :               break;
    8549              :             }
    8550            0 :           case GT_EXPR:
    8551            0 :             {
    8552            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8553            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8554            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8555              :                 {
    8556            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8557              :                     {
    8558            0 :                       {
    8559            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8560            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8561            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8562            0 :                         const enum tree_code rcmp = LE_EXPR;
    8563            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8564            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8565            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8566            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8567              : )
    8568              :                           {
    8569            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1304;
    8570            0 :                             {
    8571            0 :                               tree res_op0;
    8572            0 :                               res_op0 = captures[0];
    8573            0 :                               tree res_op1;
    8574            0 :                               res_op1 = captures[1];
    8575            0 :                               tree _r;
    8576            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8577            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8578            0 :                               return _r;
    8579              :                             }
    8580            0 : next_after_fail1304:;
    8581              :                           }
    8582              :                       }
    8583              :                     }
    8584              :                 }
    8585              :               break;
    8586              :             }
    8587            8 :           case GE_EXPR:
    8588            8 :             {
    8589            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8590            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8591            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8592              :                 {
    8593            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8594              :                     {
    8595            0 :                       {
    8596            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8597            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8598            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    8599            0 :                         const enum tree_code rcmp = LT_EXPR;
    8600            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8601            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8602            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8603            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8604              : )
    8605              :                           {
    8606            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1305;
    8607            0 :                             {
    8608            0 :                               tree res_op0;
    8609            0 :                               res_op0 = captures[0];
    8610            0 :                               tree res_op1;
    8611            0 :                               res_op1 = captures[1];
    8612            0 :                               tree _r;
    8613            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8614            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8615            0 :                               return _r;
    8616              :                             }
    8617            0 : next_after_fail1305:;
    8618              :                           }
    8619              :                       }
    8620              :                     }
    8621              :                 }
    8622              :               break;
    8623              :             }
    8624              :           default:;
    8625              :           }
    8626              :         break;
    8627              :       }
    8628          113 :     case NE_EXPR:
    8629          113 :       {
    8630          113 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8631          113 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8632          113 :         switch (TREE_CODE (_p1))
    8633              :           {
    8634            0 :           case LT_EXPR:
    8635            0 :             {
    8636            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8637            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8638            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8639              :                 {
    8640            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8641              :                     {
    8642            0 :                       {
    8643            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8644            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8645            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8646            0 :                         const enum tree_code rcmp = GT_EXPR;
    8647            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8648            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8649            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8650            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8651              : )
    8652              :                           {
    8653            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1306;
    8654            0 :                             {
    8655            0 :                               tree res_op0;
    8656            0 :                               res_op0 = captures[0];
    8657            0 :                               tree res_op1;
    8658            0 :                               res_op1 = captures[1];
    8659            0 :                               tree _r;
    8660            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8661            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8662            0 :                               return _r;
    8663              :                             }
    8664            0 : next_after_fail1306:;
    8665              :                           }
    8666              :                       }
    8667              :                     }
    8668              :                 }
    8669              :               break;
    8670              :             }
    8671            0 :           case LE_EXPR:
    8672            0 :             {
    8673            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8674            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8675            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8676              :                 {
    8677            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8678              :                     {
    8679            0 :                       {
    8680            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8681            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8682            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8683            0 :                         const enum tree_code rcmp = GE_EXPR;
    8684            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8685            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8686            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8687            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8688              : )
    8689              :                           {
    8690            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1307;
    8691            0 :                             {
    8692            0 :                               tree res_op0;
    8693            0 :                               res_op0 = captures[0];
    8694            0 :                               tree res_op1;
    8695            0 :                               res_op1 = captures[1];
    8696            0 :                               tree _r;
    8697            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8698            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8699            0 :                               return _r;
    8700              :                             }
    8701            0 : next_after_fail1307:;
    8702              :                           }
    8703              :                       }
    8704              :                     }
    8705              :                 }
    8706              :               break;
    8707              :             }
    8708            0 :           case GT_EXPR:
    8709            0 :             {
    8710            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8711            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8712            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8713              :                 {
    8714            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8715              :                     {
    8716            0 :                       {
    8717            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8718            0 :                         const enum tree_code cmp1 = LT_EXPR;
    8719            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8720            0 :                         const enum tree_code rcmp = GT_EXPR;
    8721            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8722            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8723            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8724            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8725              : )
    8726              :                           {
    8727            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1308;
    8728            0 :                             {
    8729            0 :                               tree res_op0;
    8730            0 :                               res_op0 = captures[0];
    8731            0 :                               tree res_op1;
    8732            0 :                               res_op1 = captures[1];
    8733            0 :                               tree _r;
    8734            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8735            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8736            0 :                               return _r;
    8737              :                             }
    8738            0 : next_after_fail1308:;
    8739              :                           }
    8740              :                       }
    8741              :                     }
    8742              :                 }
    8743              :               break;
    8744              :             }
    8745            6 :           case GE_EXPR:
    8746            6 :             {
    8747            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8748            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8749            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8750              :                 {
    8751            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8752              :                     {
    8753            0 :                       {
    8754            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8755            0 :                         const enum tree_code cmp1 = LE_EXPR;
    8756            0 :                         const enum tree_code cmp2 = NE_EXPR;
    8757            0 :                         const enum tree_code rcmp = GE_EXPR;
    8758            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8759            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    8760            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    8761            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    8762              : )
    8763              :                           {
    8764            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1309;
    8765            0 :                             {
    8766            0 :                               tree res_op0;
    8767            0 :                               res_op0 = captures[0];
    8768            0 :                               tree res_op1;
    8769            0 :                               res_op1 = captures[1];
    8770            0 :                               tree _r;
    8771            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    8772            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    8773            0 :                               return _r;
    8774              :                             }
    8775            0 : next_after_fail1309:;
    8776              :                           }
    8777              :                       }
    8778              :                     }
    8779              :                 }
    8780              :               break;
    8781              :             }
    8782              :           default:;
    8783              :           }
    8784              :         break;
    8785              :       }
    8786          523 :     case MULT_EXPR:
    8787          523 :       {
    8788          523 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8789          523 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8790          523 :         switch (TREE_CODE (_q21))
    8791              :           {
    8792          498 :           case INTEGER_CST:
    8793          498 :             {
    8794          498 :               switch (TREE_CODE (_p1))
    8795              :                 {
    8796           12 :                 case MULT_EXPR:
    8797           12 :                   {
    8798           12 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8799           12 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8800           12 :                     switch (TREE_CODE (_q51))
    8801              :                       {
    8802           12 :                       case INTEGER_CST:
    8803           12 :                         {
    8804           12 :                           {
    8805           12 :                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50, _q51 };
    8806           12 :                             tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8807           12 :                             if (res) return res;
    8808              :                           }
    8809           12 :                           break;
    8810              :                         }
    8811              :                       default:;
    8812              :                       }
    8813              :                     break;
    8814              :                   }
    8815            0 :                 case LSHIFT_EXPR:
    8816            0 :                   {
    8817            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8818            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8819            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8820              :                       {
    8821            0 :                         switch (TREE_CODE (_q51))
    8822              :                           {
    8823            0 :                           case INTEGER_CST:
    8824            0 :                             {
    8825            0 :                               {
    8826            0 :                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q51 };
    8827            0 :                                 tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8828            0 :                                 if (res) return res;
    8829              :                               }
    8830            0 :                               break;
    8831              :                             }
    8832              :                           default:;
    8833              :                           }
    8834              :                       }
    8835              :                     break;
    8836              :                   }
    8837          498 :                 default:;
    8838              :                 }
    8839          498 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8840              :                 {
    8841           18 :                   {
    8842           18 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    8843           18 :                     tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8844           18 :                     if (res) return res;
    8845              :                   }
    8846              :                 }
    8847              :               break;
    8848              :             }
    8849          523 :           default:;
    8850              :           }
    8851          523 :         switch (TREE_CODE (_q20))
    8852              :           {
    8853            0 :           case BIT_XOR_EXPR:
    8854            0 :             {
    8855            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8856            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8857            0 :               if (tree_zero_one_valued_p (_q21))
    8858              :                 {
    8859            0 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8860              :                     {
    8861            0 :                       {
    8862            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    8863            0 :                         tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    8864            0 :                         if (res) return res;
    8865              :                       }
    8866              :                     }
    8867            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    8868              :                     {
    8869            0 :                       {
    8870            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
    8871            0 :                         tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    8872            0 :                         if (res) return res;
    8873              :                       }
    8874              :                     }
    8875              :                 }
    8876              :               break;
    8877              :             }
    8878          523 :           default:;
    8879              :           }
    8880          523 :       if (tree_zero_one_valued_p (_q20))
    8881              :         {
    8882            8 :           switch (TREE_CODE (_q21))
    8883              :             {
    8884            2 :             case BIT_XOR_EXPR:
    8885            2 :               {
    8886            2 :                 tree _q40 = TREE_OPERAND (_q21, 0);
    8887            2 :                 tree _q41 = TREE_OPERAND (_q21, 1);
    8888            2 :                 if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    8889              :                   {
    8890            2 :                     {
    8891            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
    8892            2 :                       tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    8893            2 :                       if (res) return res;
    8894              :                     }
    8895              :                   }
    8896            0 :                 if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
    8897              :                   {
    8898            0 :                     {
    8899            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    8900            0 :                       tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    8901            0 :                       if (res) return res;
    8902              :                     }
    8903              :                   }
    8904              :                 break;
    8905              :               }
    8906              :             default:;
    8907              :             }
    8908              :         }
    8909              :         break;
    8910              :       }
    8911         2503 :     case LSHIFT_EXPR:
    8912         2503 :       {
    8913         2503 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8914         2503 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8915         2503 :         switch (TREE_CODE (_q21))
    8916              :           {
    8917         1122 :           case INTEGER_CST:
    8918         1122 :             {
    8919         1122 :               switch (TREE_CODE (_p1))
    8920              :                 {
    8921            0 :                 case MULT_EXPR:
    8922            0 :                   {
    8923            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8924            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8925            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8926              :                       {
    8927            0 :                         switch (TREE_CODE (_q51))
    8928              :                           {
    8929            0 :                           case INTEGER_CST:
    8930            0 :                             {
    8931            0 :                               {
    8932            0 :                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q51, _p0, _q21 };
    8933            0 :                                 tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8934            0 :                                 if (res) return res;
    8935              :                               }
    8936            0 :                               break;
    8937              :                             }
    8938              :                           default:;
    8939              :                           }
    8940              :                       }
    8941              :                     break;
    8942              :                   }
    8943         1122 :                 default:;
    8944              :                 }
    8945         1122 :             {
    8946         1122 :               tree _p1_pops[1];
    8947         1122 :               if (tree_nop_convert (_p1, _p1_pops))
    8948              :                 {
    8949           23 :                   tree _q50 = _p1_pops[0];
    8950           23 :                   switch (TREE_CODE (_q50))
    8951              :                     {
    8952            0 :                     case MULT_EXPR:
    8953            0 :                       {
    8954            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    8955            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    8956            0 :                         {
    8957            0 :                           tree _q60_pops[1];
    8958            0 :                           if (tree_nop_convert (_q60, _q60_pops))
    8959              :                             {
    8960            0 :                               tree _q70 = _q60_pops[0];
    8961            0 :                               if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    8962              :                                 {
    8963            0 :                                   switch (TREE_CODE (_q61))
    8964              :                                     {
    8965            0 :                                     case INTEGER_CST:
    8966            0 :                                       {
    8967            0 :                                         {
    8968            0 :                                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q61, _p0, _q21 };
    8969            0 :                                           tree res = generic_simplify_117 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    8970            0 :                                           if (res) return res;
    8971              :                                         }
    8972            0 :                                         break;
    8973              :                                       }
    8974              :                                     default:;
    8975              :                                     }
    8976              :                                 }
    8977              :                             }
    8978              :                         }
    8979            0 :                         break;
    8980              :                       }
    8981              :                     default:;
    8982              :                     }
    8983              :                 }
    8984              :             }
    8985         1122 :               break;
    8986              :             }
    8987              :           default:;
    8988              :           }
    8989              :         break;
    8990              :       }
    8991       891249 :     default:;
    8992              :     }
    8993       891249 :   switch (TREE_CODE (_p1))
    8994              :     {
    8995          243 :     case MULT_EXPR:
    8996          243 :       {
    8997          243 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8998          243 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8999          243 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9000              :           {
    9001            0 :             switch (TREE_CODE (_q31))
    9002              :               {
    9003            0 :               case INTEGER_CST:
    9004            0 :                 {
    9005            0 :                   {
    9006            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    9007            0 :                     tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9008            0 :                     if (res) return res;
    9009              :                   }
    9010            0 :                   break;
    9011              :                 }
    9012              :               default:;
    9013              :               }
    9014              :           }
    9015              :         break;
    9016              :       }
    9017       891249 :     default:;
    9018              :     }
    9019       891249 : {
    9020       891249 :   tree _p1_pops[1];
    9021       891249 :   if (tree_nop_convert (_p1, _p1_pops))
    9022              :     {
    9023       626202 :       tree _q30 = _p1_pops[0];
    9024       626202 :       switch (TREE_CODE (_q30))
    9025              :         {
    9026           17 :         case MULT_EXPR:
    9027           17 :           {
    9028           17 :             tree _q40 = TREE_OPERAND (_q30, 0);
    9029           17 :             tree _q41 = TREE_OPERAND (_q30, 1);
    9030           17 :             {
    9031           17 :               tree _q40_pops[1];
    9032           17 :               if (tree_nop_convert (_q40, _q40_pops))
    9033              :                 {
    9034            0 :                   tree _q50 = _q40_pops[0];
    9035            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9036              :                     {
    9037            0 :                       switch (TREE_CODE (_q41))
    9038              :                         {
    9039            0 :                         case INTEGER_CST:
    9040            0 :                           {
    9041            0 :                             {
    9042            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    9043            0 :                               tree res = generic_simplify_118 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9044            0 :                               if (res) return res;
    9045              :                             }
    9046            0 :                             break;
    9047              :                           }
    9048              :                         default:;
    9049              :                         }
    9050              :                     }
    9051              :                 }
    9052              :             }
    9053           17 :             break;
    9054              :           }
    9055              :         default:;
    9056              :         }
    9057              :     }
    9058              : }
    9059       891249 :   switch (TREE_CODE (_p0))
    9060              :     {
    9061         2503 :     case LSHIFT_EXPR:
    9062         2503 :       {
    9063         2503 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9064         2503 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9065         2503 :         switch (TREE_CODE (_q21))
    9066              :           {
    9067         1122 :           case INTEGER_CST:
    9068         1122 :             {
    9069         1122 :               switch (TREE_CODE (_p1))
    9070              :                 {
    9071            9 :                 case LSHIFT_EXPR:
    9072            9 :                   {
    9073            9 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9074            9 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    9075            9 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9076              :                       {
    9077            3 :                         switch (TREE_CODE (_q51))
    9078              :                           {
    9079            3 :                           case INTEGER_CST:
    9080            3 :                             {
    9081            3 :                               {
    9082            3 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9083            3 :                                 tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9084            3 :                                 if (res) return res;
    9085              :                               }
    9086            1 :                               break;
    9087              :                             }
    9088              :                           default:;
    9089              :                           }
    9090              :                       }
    9091              :                     break;
    9092              :                   }
    9093         1120 :                 default:;
    9094              :                 }
    9095         1120 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9096              :                 {
    9097           57 :                   {
    9098           57 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9099           57 :                     tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9100           57 :                     if (res) return res;
    9101              :                   }
    9102              :                 }
    9103              :               break;
    9104              :             }
    9105              :           default:;
    9106              :           }
    9107              :         break;
    9108              :       }
    9109       891247 :     default:;
    9110              :     }
    9111       891247 :   switch (TREE_CODE (_p1))
    9112              :     {
    9113         1982 :     case LSHIFT_EXPR:
    9114         1982 :       {
    9115         1982 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9116         1982 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9117         1982 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9118              :           {
    9119            3 :             switch (TREE_CODE (_q31))
    9120              :               {
    9121            3 :               case INTEGER_CST:
    9122            3 :                 {
    9123            3 :                   {
    9124            3 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    9125            3 :                     tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
    9126            3 :                     if (res) return res;
    9127              :                   }
    9128            0 :                   break;
    9129              :                 }
    9130              :               default:;
    9131              :               }
    9132              :           }
    9133              :         break;
    9134              :       }
    9135       891244 :     default:;
    9136              :     }
    9137       891244 :   switch (TREE_CODE (_p0))
    9138              :     {
    9139            0 :     case MIN_EXPR:
    9140            0 :       {
    9141            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9142            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9143            0 :         switch (TREE_CODE (_p1))
    9144              :           {
    9145            0 :           case MAX_EXPR:
    9146            0 :             {
    9147            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9148            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9149            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9150              :                 {
    9151            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9152              :                     {
    9153            0 :                       {
    9154            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9155            0 :                         if (!HONOR_NANS (captures[0])
    9156              : )
    9157              :                           {
    9158            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1310;
    9159            0 :                             {
    9160            0 :                               tree res_op0;
    9161            0 :                               res_op0 = captures[0];
    9162            0 :                               tree res_op1;
    9163            0 :                               res_op1 = captures[1];
    9164            0 :                               tree _r;
    9165            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9166            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    9167            0 :                               return _r;
    9168              :                             }
    9169            0 : next_after_fail1310:;
    9170              :                           }
    9171              :                       }
    9172              :                     }
    9173              :                 }
    9174            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9175              :                 {
    9176            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9177              :                     {
    9178            0 :                       {
    9179            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9180            0 :                         if (!HONOR_NANS (captures[0])
    9181              : )
    9182              :                           {
    9183            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1311;
    9184            0 :                             {
    9185            0 :                               tree res_op0;
    9186            0 :                               res_op0 = captures[0];
    9187            0 :                               tree res_op1;
    9188            0 :                               res_op1 = captures[1];
    9189            0 :                               tree _r;
    9190            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9191            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    9192            0 :                               return _r;
    9193              :                             }
    9194            0 : next_after_fail1311:;
    9195              :                           }
    9196              :                       }
    9197              :                     }
    9198              :                 }
    9199              :               break;
    9200              :             }
    9201              :           default:;
    9202              :           }
    9203              :         break;
    9204              :       }
    9205            0 :     case MAX_EXPR:
    9206            0 :       {
    9207            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9208            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9209            0 :         switch (TREE_CODE (_p1))
    9210              :           {
    9211            0 :           case MIN_EXPR:
    9212            0 :             {
    9213            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9214            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9215            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9216              :                 {
    9217            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9218              :                     {
    9219            0 :                       {
    9220            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9221            0 :                         if (!HONOR_NANS (captures[0])
    9222              : )
    9223              :                           {
    9224            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1312;
    9225            0 :                             {
    9226            0 :                               tree res_op0;
    9227            0 :                               res_op0 = captures[0];
    9228            0 :                               tree res_op1;
    9229            0 :                               res_op1 = captures[1];
    9230            0 :                               tree _r;
    9231            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9232            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    9233            0 :                               return _r;
    9234              :                             }
    9235            0 : next_after_fail1312:;
    9236              :                           }
    9237              :                       }
    9238              :                     }
    9239              :                 }
    9240            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9241              :                 {
    9242            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9243              :                     {
    9244            0 :                       {
    9245            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9246            0 :                         if (!HONOR_NANS (captures[0])
    9247              : )
    9248              :                           {
    9249            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1313;
    9250            0 :                             {
    9251            0 :                               tree res_op0;
    9252            0 :                               res_op0 = captures[0];
    9253            0 :                               tree res_op1;
    9254            0 :                               res_op1 = captures[1];
    9255            0 :                               tree _r;
    9256            0 :                               _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    9257            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    9258            0 :                               return _r;
    9259              :                             }
    9260            0 : next_after_fail1313:;
    9261              :                           }
    9262              :                       }
    9263              :                     }
    9264              :                 }
    9265              :               break;
    9266              :             }
    9267              :           default:;
    9268              :           }
    9269              :         break;
    9270              :       }
    9271       891244 :     default:;
    9272              :     }
    9273       891244 :   switch (TREE_CODE (_p1))
    9274              :     {
    9275          243 :     case MULT_EXPR:
    9276          243 :       {
    9277          243 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9278          243 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9279          243 :         switch (TREE_CODE (_q30))
    9280              :           {
    9281            0 :           case BIT_XOR_EXPR:
    9282            0 :             {
    9283            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9284            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9285            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9286              :                 {
    9287            0 :                   if (tree_zero_one_valued_p (_q31))
    9288              :                     {
    9289            0 :                       {
    9290            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
    9291            0 :                         tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    9292            0 :                         if (res) return res;
    9293              :                       }
    9294              :                     }
    9295              :                 }
    9296            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    9297              :                 {
    9298            0 :                   if (tree_zero_one_valued_p (_q31))
    9299              :                     {
    9300            0 :                       {
    9301            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
    9302            0 :                         tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    9303            0 :                         if (res) return res;
    9304              :                       }
    9305              :                     }
    9306              :                 }
    9307              :               break;
    9308              :             }
    9309          243 :           default:;
    9310              :           }
    9311          243 :       if (tree_zero_one_valued_p (_q30))
    9312              :         {
    9313           17 :           switch (TREE_CODE (_q31))
    9314              :             {
    9315            0 :             case BIT_XOR_EXPR:
    9316            0 :               {
    9317            0 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    9318            0 :                 tree _q51 = TREE_OPERAND (_q31, 1);
    9319            0 :                 if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9320              :                   {
    9321            0 :                     {
    9322            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
    9323            0 :                       tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    9324            0 :                       if (res) return res;
    9325              :                     }
    9326              :                   }
    9327            0 :                 if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
    9328              :                   {
    9329            0 :                     {
    9330            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
    9331            0 :                       tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
    9332            0 :                       if (res) return res;
    9333              :                     }
    9334              :                   }
    9335              :                 break;
    9336              :               }
    9337              :             default:;
    9338              :             }
    9339              :         }
    9340              :         break;
    9341              :       }
    9342       891244 :     default:;
    9343              :     }
    9344       891244 :   switch (TREE_CODE (_p0))
    9345              :     {
    9346            1 :     case VEC_COND_EXPR:
    9347            1 :       {
    9348            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9349            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9350            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9351            1 :         switch (TREE_CODE (_p1))
    9352              :           {
    9353            0 :           case VEC_COND_EXPR:
    9354            0 :             {
    9355            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    9356            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    9357            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    9358            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9359              :                 {
    9360            0 :                   {
    9361            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    9362            0 :                     if (VECTOR_TYPE_P (type)
    9363            0 :  && (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
    9364              :  || types_match (type, TREE_TYPE (captures[2]))
    9365              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    9366              :  || (optimize_vectors_before_lowering_p ()
    9367              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    9368              : )
    9369              :                       {
    9370            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1314;
    9371            0 :                         {
    9372            0 :                           tree res_op0;
    9373            0 :                           res_op0 = captures[1];
    9374            0 :                           tree res_op1;
    9375            0 :                           {
    9376            0 :                             tree _o1[2], _r1;
    9377            0 :                             _o1[0] = captures[2];
    9378            0 :                             _o1[1] = captures[5];
    9379            0 :                             _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
    9380            0 :                             if (EXPR_P (_r1))
    9381            0 :                               goto next_after_fail1314;
    9382            0 :                             res_op1 = _r1;
    9383              :                           }
    9384            0 :                           tree res_op2;
    9385            0 :                           {
    9386            0 :                             tree _o1[2], _r1;
    9387            0 :                             _o1[0] = captures[3];
    9388            0 :                             _o1[1] = captures[6];
    9389            0 :                             _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
    9390            0 :                             if (EXPR_P (_r1))
    9391            0 :                               goto next_after_fail1314;
    9392            0 :                             res_op2 = _r1;
    9393              :                           }
    9394            0 :                           tree _r;
    9395            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9396            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    9397            0 :                           return _r;
    9398              :                         }
    9399            0 : next_after_fail1314:;
    9400              :                       }
    9401              :                   }
    9402              :                 }
    9403              :               break;
    9404              :             }
    9405            1 :           default:;
    9406              :           }
    9407            1 :         if (integer_minus_onep (_q21))
    9408              :           {
    9409            1 :             if (integer_zerop (_q22))
    9410              :               {
    9411            1 :                 switch (TREE_CODE (_p1))
    9412              :                   {
    9413            0 :                   case VEC_COND_EXPR:
    9414            0 :                     {
    9415            0 :                       tree _q60 = TREE_OPERAND (_p1, 0);
    9416            0 :                       tree _q61 = TREE_OPERAND (_p1, 1);
    9417            0 :                       tree _q62 = TREE_OPERAND (_p1, 2);
    9418            0 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9419              :                         {
    9420            0 :                           if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    9421              :                             {
    9422            0 :                               {
    9423            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9424            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9425            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9426              : )
    9427              :                                   {
    9428            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1315;
    9429            0 :                                     {
    9430            0 :                                       tree res_op0;
    9431            0 :                                       {
    9432            0 :                                         tree _o1[2], _r1;
    9433            0 :                                         _o1[0] = captures[0];
    9434            0 :                                         _o1[1] = captures[3];
    9435            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9436            0 :                                         res_op0 = _r1;
    9437              :                                       }
    9438            0 :                                       tree res_op1;
    9439            0 :                                       res_op1 = captures[1];
    9440            0 :                                       tree res_op2;
    9441            0 :                                       res_op2 = captures[2];
    9442            0 :                                       tree _r;
    9443            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9444            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9445            0 :                                       return _r;
    9446              :                                     }
    9447            0 : next_after_fail1315:;
    9448              :                                   }
    9449              :                               }
    9450            0 :                               {
    9451            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9452            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9453            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9454              : )
    9455              :                                   {
    9456            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1316;
    9457            0 :                                     {
    9458            0 :                                       tree res_op0;
    9459            0 :                                       {
    9460            0 :                                         tree _o1[2], _r1;
    9461            0 :                                         _o1[0] = captures[0];
    9462            0 :                                         _o1[1] = captures[3];
    9463            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9464            0 :                                         res_op0 = _r1;
    9465              :                                       }
    9466            0 :                                       tree res_op1;
    9467            0 :                                       res_op1 = captures[1];
    9468            0 :                                       tree res_op2;
    9469            0 :                                       res_op2 = captures[2];
    9470            0 :                                       tree _r;
    9471            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9472            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9473            0 :                                       return _r;
    9474              :                                     }
    9475            0 : next_after_fail1316:;
    9476              :                                   }
    9477              :                               }
    9478            0 :                               {
    9479            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9480            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9481            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9482              : )
    9483              :                                   {
    9484            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1317;
    9485            0 :                                     {
    9486            0 :                                       tree res_op0;
    9487            0 :                                       {
    9488            0 :                                         tree _o1[2], _r1;
    9489            0 :                                         _o1[0] = captures[0];
    9490            0 :                                         _o1[1] = captures[3];
    9491            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9492            0 :                                         res_op0 = _r1;
    9493              :                                       }
    9494            0 :                                       tree res_op1;
    9495            0 :                                       res_op1 = captures[1];
    9496            0 :                                       tree res_op2;
    9497            0 :                                       res_op2 = captures[2];
    9498            0 :                                       tree _r;
    9499            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9500            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9501            0 :                                       return _r;
    9502              :                                     }
    9503            0 : next_after_fail1317:;
    9504              :                                   }
    9505              :                               }
    9506            0 :                               {
    9507            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9508            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9509            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9510              : )
    9511              :                                   {
    9512            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1318;
    9513            0 :                                     {
    9514            0 :                                       tree res_op0;
    9515            0 :                                       {
    9516            0 :                                         tree _o1[2], _r1;
    9517            0 :                                         _o1[0] = captures[0];
    9518            0 :                                         _o1[1] = captures[3];
    9519            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9520            0 :                                         res_op0 = _r1;
    9521              :                                       }
    9522            0 :                                       tree res_op1;
    9523            0 :                                       res_op1 = captures[1];
    9524            0 :                                       tree res_op2;
    9525            0 :                                       res_op2 = captures[2];
    9526            0 :                                       tree _r;
    9527            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9528            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9529            0 :                                       return _r;
    9530              :                                     }
    9531            0 : next_after_fail1318:;
    9532              :                                   }
    9533              :                               }
    9534            0 :                               {
    9535            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9536            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9537            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9538              : )
    9539              :                                   {
    9540            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1319;
    9541            0 :                                     {
    9542            0 :                                       tree res_op0;
    9543            0 :                                       {
    9544            0 :                                         tree _o1[2], _r1;
    9545            0 :                                         _o1[0] = captures[0];
    9546            0 :                                         _o1[1] = captures[3];
    9547            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9548            0 :                                         res_op0 = _r1;
    9549              :                                       }
    9550            0 :                                       tree res_op1;
    9551            0 :                                       res_op1 = captures[1];
    9552            0 :                                       tree res_op2;
    9553            0 :                                       res_op2 = captures[2];
    9554            0 :                                       tree _r;
    9555            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9556            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9557            0 :                                       return _r;
    9558              :                                     }
    9559            0 : next_after_fail1319:;
    9560              :                                   }
    9561              :                               }
    9562            0 :                               {
    9563            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9564            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9565            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9566              : )
    9567              :                                   {
    9568            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1320;
    9569            0 :                                     {
    9570            0 :                                       tree res_op0;
    9571            0 :                                       {
    9572            0 :                                         tree _o1[2], _r1;
    9573            0 :                                         _o1[0] = captures[0];
    9574            0 :                                         _o1[1] = captures[3];
    9575            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9576            0 :                                         res_op0 = _r1;
    9577              :                                       }
    9578            0 :                                       tree res_op1;
    9579            0 :                                       res_op1 = captures[1];
    9580            0 :                                       tree res_op2;
    9581            0 :                                       res_op2 = captures[2];
    9582            0 :                                       tree _r;
    9583            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9584            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9585            0 :                                       return _r;
    9586              :                                     }
    9587            0 : next_after_fail1320:;
    9588              :                                   }
    9589              :                               }
    9590            0 :                               {
    9591            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9592            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9593            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9594              : )
    9595              :                                   {
    9596            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1321;
    9597            0 :                                     {
    9598            0 :                                       tree res_op0;
    9599            0 :                                       {
    9600            0 :                                         tree _o1[2], _r1;
    9601            0 :                                         _o1[0] = captures[0];
    9602            0 :                                         _o1[1] = captures[3];
    9603            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9604            0 :                                         res_op0 = _r1;
    9605              :                                       }
    9606            0 :                                       tree res_op1;
    9607            0 :                                       res_op1 = captures[1];
    9608            0 :                                       tree res_op2;
    9609            0 :                                       res_op2 = captures[2];
    9610            0 :                                       tree _r;
    9611            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9612            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9613            0 :                                       return _r;
    9614              :                                     }
    9615            0 : next_after_fail1321:;
    9616              :                                   }
    9617              :                               }
    9618            0 :                               {
    9619            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9620            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9621            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9622              : )
    9623              :                                   {
    9624            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1322;
    9625            0 :                                     {
    9626            0 :                                       tree res_op0;
    9627            0 :                                       {
    9628            0 :                                         tree _o1[2], _r1;
    9629            0 :                                         _o1[0] = captures[0];
    9630            0 :                                         _o1[1] = captures[3];
    9631            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9632            0 :                                         res_op0 = _r1;
    9633              :                                       }
    9634            0 :                                       tree res_op1;
    9635            0 :                                       res_op1 = captures[1];
    9636            0 :                                       tree res_op2;
    9637            0 :                                       res_op2 = captures[2];
    9638            0 :                                       tree _r;
    9639            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9640            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9641            0 :                                       return _r;
    9642              :                                     }
    9643            0 : next_after_fail1322:;
    9644              :                                   }
    9645              :                               }
    9646            0 :                               {
    9647            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9648            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9649            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9650              : )
    9651              :                                   {
    9652            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1323;
    9653            0 :                                     {
    9654            0 :                                       tree res_op0;
    9655            0 :                                       {
    9656            0 :                                         tree _o1[2], _r1;
    9657            0 :                                         _o1[0] = captures[0];
    9658            0 :                                         _o1[1] = captures[3];
    9659            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9660            0 :                                         res_op0 = _r1;
    9661              :                                       }
    9662            0 :                                       tree res_op1;
    9663            0 :                                       res_op1 = captures[1];
    9664            0 :                                       tree res_op2;
    9665            0 :                                       res_op2 = captures[2];
    9666            0 :                                       tree _r;
    9667            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9668            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9669            0 :                                       return _r;
    9670              :                                     }
    9671            0 : next_after_fail1323:;
    9672              :                                   }
    9673              :                               }
    9674            0 :                               {
    9675            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9676            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9677            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9678              : )
    9679              :                                   {
    9680            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1324;
    9681            0 :                                     {
    9682            0 :                                       tree res_op0;
    9683            0 :                                       {
    9684            0 :                                         tree _o1[2], _r1;
    9685            0 :                                         _o1[0] = captures[0];
    9686            0 :                                         _o1[1] = captures[3];
    9687            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9688            0 :                                         res_op0 = _r1;
    9689              :                                       }
    9690            0 :                                       tree res_op1;
    9691            0 :                                       res_op1 = captures[1];
    9692            0 :                                       tree res_op2;
    9693            0 :                                       res_op2 = captures[2];
    9694            0 :                                       tree _r;
    9695            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9696            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9697            0 :                                       return _r;
    9698              :                                     }
    9699            0 : next_after_fail1324:;
    9700              :                                   }
    9701              :                               }
    9702            0 :                               {
    9703            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9704            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9705            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9706              : )
    9707              :                                   {
    9708            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1325;
    9709            0 :                                     {
    9710            0 :                                       tree res_op0;
    9711            0 :                                       {
    9712            0 :                                         tree _o1[2], _r1;
    9713            0 :                                         _o1[0] = captures[0];
    9714            0 :                                         _o1[1] = captures[3];
    9715            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9716            0 :                                         res_op0 = _r1;
    9717              :                                       }
    9718            0 :                                       tree res_op1;
    9719            0 :                                       res_op1 = captures[1];
    9720            0 :                                       tree res_op2;
    9721            0 :                                       res_op2 = captures[2];
    9722            0 :                                       tree _r;
    9723            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9724            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9725            0 :                                       return _r;
    9726              :                                     }
    9727            0 : next_after_fail1325:;
    9728              :                                   }
    9729              :                               }
    9730            0 :                               {
    9731            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9732            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9733            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9734              : )
    9735              :                                   {
    9736            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1326;
    9737            0 :                                     {
    9738            0 :                                       tree res_op0;
    9739            0 :                                       {
    9740            0 :                                         tree _o1[2], _r1;
    9741            0 :                                         _o1[0] = captures[0];
    9742            0 :                                         _o1[1] = captures[3];
    9743            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9744            0 :                                         res_op0 = _r1;
    9745              :                                       }
    9746            0 :                                       tree res_op1;
    9747            0 :                                       res_op1 = captures[1];
    9748            0 :                                       tree res_op2;
    9749            0 :                                       res_op2 = captures[2];
    9750            0 :                                       tree _r;
    9751            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9752            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9753            0 :                                       return _r;
    9754              :                                     }
    9755            0 : next_after_fail1326:;
    9756              :                                   }
    9757              :                               }
    9758            0 :                               {
    9759            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9760            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9761            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9762              : )
    9763              :                                   {
    9764            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1327;
    9765            0 :                                     {
    9766            0 :                                       tree res_op0;
    9767            0 :                                       {
    9768            0 :                                         tree _o1[2], _r1;
    9769            0 :                                         _o1[0] = captures[0];
    9770            0 :                                         _o1[1] = captures[3];
    9771            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9772            0 :                                         res_op0 = _r1;
    9773              :                                       }
    9774            0 :                                       tree res_op1;
    9775            0 :                                       res_op1 = captures[1];
    9776            0 :                                       tree res_op2;
    9777            0 :                                       res_op2 = captures[2];
    9778            0 :                                       tree _r;
    9779            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9780            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9781            0 :                                       return _r;
    9782              :                                     }
    9783            0 : next_after_fail1327:;
    9784              :                                   }
    9785              :                               }
    9786            0 :                               {
    9787            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9788            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9789            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9790              : )
    9791              :                                   {
    9792            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1328;
    9793            0 :                                     {
    9794            0 :                                       tree res_op0;
    9795            0 :                                       {
    9796            0 :                                         tree _o1[2], _r1;
    9797            0 :                                         _o1[0] = captures[0];
    9798            0 :                                         _o1[1] = captures[3];
    9799            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9800            0 :                                         res_op0 = _r1;
    9801              :                                       }
    9802            0 :                                       tree res_op1;
    9803            0 :                                       res_op1 = captures[1];
    9804            0 :                                       tree res_op2;
    9805            0 :                                       res_op2 = captures[2];
    9806            0 :                                       tree _r;
    9807            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9808            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9809            0 :                                       return _r;
    9810              :                                     }
    9811            0 : next_after_fail1328:;
    9812              :                                   }
    9813              :                               }
    9814            0 :                               {
    9815            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9816            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9817            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9818              : )
    9819              :                                   {
    9820            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1329;
    9821            0 :                                     {
    9822            0 :                                       tree res_op0;
    9823            0 :                                       {
    9824            0 :                                         tree _o1[2], _r1;
    9825            0 :                                         _o1[0] = captures[0];
    9826            0 :                                         _o1[1] = captures[3];
    9827            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9828            0 :                                         res_op0 = _r1;
    9829              :                                       }
    9830            0 :                                       tree res_op1;
    9831            0 :                                       res_op1 = captures[1];
    9832            0 :                                       tree res_op2;
    9833            0 :                                       res_op2 = captures[2];
    9834            0 :                                       tree _r;
    9835            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9836            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9837            0 :                                       return _r;
    9838              :                                     }
    9839            0 : next_after_fail1329:;
    9840              :                                   }
    9841              :                               }
    9842            0 :                               {
    9843            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9844            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9845            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9846              : )
    9847              :                                   {
    9848            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1330;
    9849            0 :                                     {
    9850            0 :                                       tree res_op0;
    9851            0 :                                       {
    9852            0 :                                         tree _o1[2], _r1;
    9853            0 :                                         _o1[0] = captures[0];
    9854            0 :                                         _o1[1] = captures[3];
    9855            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9856            0 :                                         res_op0 = _r1;
    9857              :                                       }
    9858            0 :                                       tree res_op1;
    9859            0 :                                       res_op1 = captures[1];
    9860            0 :                                       tree res_op2;
    9861            0 :                                       res_op2 = captures[2];
    9862            0 :                                       tree _r;
    9863            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9864            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9865            0 :                                       return _r;
    9866              :                                     }
    9867            0 : next_after_fail1330:;
    9868              :                                   }
    9869              :                               }
    9870            0 :                               {
    9871            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9872            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9873            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9874              : )
    9875              :                                   {
    9876            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1331;
    9877            0 :                                     {
    9878            0 :                                       tree res_op0;
    9879            0 :                                       {
    9880            0 :                                         tree _o1[2], _r1;
    9881            0 :                                         _o1[0] = captures[0];
    9882            0 :                                         _o1[1] = captures[3];
    9883            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9884            0 :                                         res_op0 = _r1;
    9885              :                                       }
    9886            0 :                                       tree res_op1;
    9887            0 :                                       res_op1 = captures[1];
    9888            0 :                                       tree res_op2;
    9889            0 :                                       res_op2 = captures[2];
    9890            0 :                                       tree _r;
    9891            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9892            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9893            0 :                                       return _r;
    9894              :                                     }
    9895            0 : next_after_fail1331:;
    9896              :                                   }
    9897              :                               }
    9898            0 :                               {
    9899            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9900            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9901            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9902              : )
    9903              :                                   {
    9904            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1332;
    9905            0 :                                     {
    9906            0 :                                       tree res_op0;
    9907            0 :                                       {
    9908            0 :                                         tree _o1[2], _r1;
    9909            0 :                                         _o1[0] = captures[0];
    9910            0 :                                         _o1[1] = captures[3];
    9911            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9912            0 :                                         res_op0 = _r1;
    9913              :                                       }
    9914            0 :                                       tree res_op1;
    9915            0 :                                       res_op1 = captures[1];
    9916            0 :                                       tree res_op2;
    9917            0 :                                       res_op2 = captures[2];
    9918            0 :                                       tree _r;
    9919            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9920            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9921            0 :                                       return _r;
    9922              :                                     }
    9923            0 : next_after_fail1332:;
    9924              :                                   }
    9925              :                               }
    9926            0 :                               {
    9927            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9928            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9929            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9930              : )
    9931              :                                   {
    9932            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1333;
    9933            0 :                                     {
    9934            0 :                                       tree res_op0;
    9935            0 :                                       {
    9936            0 :                                         tree _o1[2], _r1;
    9937            0 :                                         _o1[0] = captures[0];
    9938            0 :                                         _o1[1] = captures[3];
    9939            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9940            0 :                                         res_op0 = _r1;
    9941              :                                       }
    9942            0 :                                       tree res_op1;
    9943            0 :                                       res_op1 = captures[1];
    9944            0 :                                       tree res_op2;
    9945            0 :                                       res_op2 = captures[2];
    9946            0 :                                       tree _r;
    9947            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9948            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9949            0 :                                       return _r;
    9950              :                                     }
    9951            0 : next_after_fail1333:;
    9952              :                                   }
    9953              :                               }
    9954            0 :                               {
    9955            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9956            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9957            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9958              : )
    9959              :                                   {
    9960            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1334;
    9961            0 :                                     {
    9962            0 :                                       tree res_op0;
    9963            0 :                                       {
    9964            0 :                                         tree _o1[2], _r1;
    9965            0 :                                         _o1[0] = captures[0];
    9966            0 :                                         _o1[1] = captures[3];
    9967            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9968            0 :                                         res_op0 = _r1;
    9969              :                                       }
    9970            0 :                                       tree res_op1;
    9971            0 :                                       res_op1 = captures[1];
    9972            0 :                                       tree res_op2;
    9973            0 :                                       res_op2 = captures[2];
    9974            0 :                                       tree _r;
    9975            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9976            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    9977            0 :                                       return _r;
    9978              :                                     }
    9979            0 : next_after_fail1334:;
    9980              :                                   }
    9981              :                               }
    9982            0 :                               {
    9983            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9984            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
    9985            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
    9986              : )
    9987              :                                   {
    9988            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1335;
    9989            0 :                                     {
    9990            0 :                                       tree res_op0;
    9991            0 :                                       {
    9992            0 :                                         tree _o1[2], _r1;
    9993            0 :                                         _o1[0] = captures[0];
    9994            0 :                                         _o1[1] = captures[3];
    9995            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9996            0 :                                         res_op0 = _r1;
    9997              :                                       }
    9998            0 :                                       tree res_op1;
    9999            0 :                                       res_op1 = captures[1];
   10000            0 :                                       tree res_op2;
   10001            0 :                                       res_op2 = captures[2];
   10002            0 :                                       tree _r;
   10003            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10004            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10005            0 :                                       return _r;
   10006              :                                     }
   10007            0 : next_after_fail1335:;
   10008              :                                   }
   10009              :                               }
   10010            0 :                               {
   10011            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10012            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10013            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10014              : )
   10015              :                                   {
   10016            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1336;
   10017            0 :                                     {
   10018            0 :                                       tree res_op0;
   10019            0 :                                       {
   10020            0 :                                         tree _o1[2], _r1;
   10021            0 :                                         _o1[0] = captures[0];
   10022            0 :                                         _o1[1] = captures[3];
   10023            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10024            0 :                                         res_op0 = _r1;
   10025              :                                       }
   10026            0 :                                       tree res_op1;
   10027            0 :                                       res_op1 = captures[1];
   10028            0 :                                       tree res_op2;
   10029            0 :                                       res_op2 = captures[2];
   10030            0 :                                       tree _r;
   10031            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10032            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10033            0 :                                       return _r;
   10034              :                                     }
   10035            0 : next_after_fail1336:;
   10036              :                                   }
   10037              :                               }
   10038            0 :                               {
   10039            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10040            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10041            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10042              : )
   10043              :                                   {
   10044            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1337;
   10045            0 :                                     {
   10046            0 :                                       tree res_op0;
   10047            0 :                                       {
   10048            0 :                                         tree _o1[2], _r1;
   10049            0 :                                         _o1[0] = captures[0];
   10050            0 :                                         _o1[1] = captures[3];
   10051            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10052            0 :                                         res_op0 = _r1;
   10053              :                                       }
   10054            0 :                                       tree res_op1;
   10055            0 :                                       res_op1 = captures[1];
   10056            0 :                                       tree res_op2;
   10057            0 :                                       res_op2 = captures[2];
   10058            0 :                                       tree _r;
   10059            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10060            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10061            0 :                                       return _r;
   10062              :                                     }
   10063            0 : next_after_fail1337:;
   10064              :                                   }
   10065              :                               }
   10066            0 :                               {
   10067            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10068            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10069            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10070              : )
   10071              :                                   {
   10072            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1338;
   10073            0 :                                     {
   10074            0 :                                       tree res_op0;
   10075            0 :                                       {
   10076            0 :                                         tree _o1[2], _r1;
   10077            0 :                                         _o1[0] = captures[0];
   10078            0 :                                         _o1[1] = captures[3];
   10079            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10080            0 :                                         res_op0 = _r1;
   10081              :                                       }
   10082            0 :                                       tree res_op1;
   10083            0 :                                       res_op1 = captures[1];
   10084            0 :                                       tree res_op2;
   10085            0 :                                       res_op2 = captures[2];
   10086            0 :                                       tree _r;
   10087            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10088            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10089            0 :                                       return _r;
   10090              :                                     }
   10091            0 : next_after_fail1338:;
   10092              :                                   }
   10093              :                               }
   10094            0 :                               {
   10095            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10096            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10097            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10098              : )
   10099              :                                   {
   10100            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1339;
   10101            0 :                                     {
   10102            0 :                                       tree res_op0;
   10103            0 :                                       {
   10104            0 :                                         tree _o1[2], _r1;
   10105            0 :                                         _o1[0] = captures[0];
   10106            0 :                                         _o1[1] = captures[3];
   10107            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10108            0 :                                         res_op0 = _r1;
   10109              :                                       }
   10110            0 :                                       tree res_op1;
   10111            0 :                                       res_op1 = captures[1];
   10112            0 :                                       tree res_op2;
   10113            0 :                                       res_op2 = captures[2];
   10114            0 :                                       tree _r;
   10115            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10116            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10117            0 :                                       return _r;
   10118              :                                     }
   10119            0 : next_after_fail1339:;
   10120              :                                   }
   10121              :                               }
   10122            0 :                               {
   10123            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10124            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10125            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10126              : )
   10127              :                                   {
   10128            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1340;
   10129            0 :                                     {
   10130            0 :                                       tree res_op0;
   10131            0 :                                       {
   10132            0 :                                         tree _o1[2], _r1;
   10133            0 :                                         _o1[0] = captures[0];
   10134            0 :                                         _o1[1] = captures[3];
   10135            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10136            0 :                                         res_op0 = _r1;
   10137              :                                       }
   10138            0 :                                       tree res_op1;
   10139            0 :                                       res_op1 = captures[1];
   10140            0 :                                       tree res_op2;
   10141            0 :                                       res_op2 = captures[2];
   10142            0 :                                       tree _r;
   10143            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10144            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10145            0 :                                       return _r;
   10146              :                                     }
   10147            0 : next_after_fail1340:;
   10148              :                                   }
   10149              :                               }
   10150            0 :                               {
   10151            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10152            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10153            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10154              : )
   10155              :                                   {
   10156            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1341;
   10157            0 :                                     {
   10158            0 :                                       tree res_op0;
   10159            0 :                                       {
   10160            0 :                                         tree _o1[2], _r1;
   10161            0 :                                         _o1[0] = captures[0];
   10162            0 :                                         _o1[1] = captures[3];
   10163            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10164            0 :                                         res_op0 = _r1;
   10165              :                                       }
   10166            0 :                                       tree res_op1;
   10167            0 :                                       res_op1 = captures[1];
   10168            0 :                                       tree res_op2;
   10169            0 :                                       res_op2 = captures[2];
   10170            0 :                                       tree _r;
   10171            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10172            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10173            0 :                                       return _r;
   10174              :                                     }
   10175            0 : next_after_fail1341:;
   10176              :                                   }
   10177              :                               }
   10178            0 :                               {
   10179            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10180            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10181            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10182              : )
   10183              :                                   {
   10184            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1342;
   10185            0 :                                     {
   10186            0 :                                       tree res_op0;
   10187            0 :                                       {
   10188            0 :                                         tree _o1[2], _r1;
   10189            0 :                                         _o1[0] = captures[0];
   10190            0 :                                         _o1[1] = captures[3];
   10191            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10192            0 :                                         res_op0 = _r1;
   10193              :                                       }
   10194            0 :                                       tree res_op1;
   10195            0 :                                       res_op1 = captures[1];
   10196            0 :                                       tree res_op2;
   10197            0 :                                       res_op2 = captures[2];
   10198            0 :                                       tree _r;
   10199            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10200            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10201            0 :                                       return _r;
   10202              :                                     }
   10203            0 : next_after_fail1342:;
   10204              :                                   }
   10205              :                               }
   10206            0 :                               {
   10207            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10208            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10209            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10210              : )
   10211              :                                   {
   10212            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1343;
   10213            0 :                                     {
   10214            0 :                                       tree res_op0;
   10215            0 :                                       {
   10216            0 :                                         tree _o1[2], _r1;
   10217            0 :                                         _o1[0] = captures[0];
   10218            0 :                                         _o1[1] = captures[3];
   10219            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10220            0 :                                         res_op0 = _r1;
   10221              :                                       }
   10222            0 :                                       tree res_op1;
   10223            0 :                                       res_op1 = captures[1];
   10224            0 :                                       tree res_op2;
   10225            0 :                                       res_op2 = captures[2];
   10226            0 :                                       tree _r;
   10227            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10228            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10229            0 :                                       return _r;
   10230              :                                     }
   10231            0 : next_after_fail1343:;
   10232              :                                   }
   10233              :                               }
   10234            0 :                               {
   10235            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10236            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10237            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10238              : )
   10239              :                                   {
   10240            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1344;
   10241            0 :                                     {
   10242            0 :                                       tree res_op0;
   10243            0 :                                       {
   10244            0 :                                         tree _o1[2], _r1;
   10245            0 :                                         _o1[0] = captures[0];
   10246            0 :                                         _o1[1] = captures[3];
   10247            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10248            0 :                                         res_op0 = _r1;
   10249              :                                       }
   10250            0 :                                       tree res_op1;
   10251            0 :                                       res_op1 = captures[1];
   10252            0 :                                       tree res_op2;
   10253            0 :                                       res_op2 = captures[2];
   10254            0 :                                       tree _r;
   10255            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10256            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10257            0 :                                       return _r;
   10258              :                                     }
   10259            0 : next_after_fail1344:;
   10260              :                                   }
   10261              :                               }
   10262            0 :                               {
   10263            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10264            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10265            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10266              : )
   10267              :                                   {
   10268            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1345;
   10269            0 :                                     {
   10270            0 :                                       tree res_op0;
   10271            0 :                                       {
   10272            0 :                                         tree _o1[2], _r1;
   10273            0 :                                         _o1[0] = captures[0];
   10274            0 :                                         _o1[1] = captures[3];
   10275            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10276            0 :                                         res_op0 = _r1;
   10277              :                                       }
   10278            0 :                                       tree res_op1;
   10279            0 :                                       res_op1 = captures[1];
   10280            0 :                                       tree res_op2;
   10281            0 :                                       res_op2 = captures[2];
   10282            0 :                                       tree _r;
   10283            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10284            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10285            0 :                                       return _r;
   10286              :                                     }
   10287            0 : next_after_fail1345:;
   10288              :                                   }
   10289              :                               }
   10290            0 :                               {
   10291            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10292            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10293            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10294              : )
   10295              :                                   {
   10296            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1346;
   10297            0 :                                     {
   10298            0 :                                       tree res_op0;
   10299            0 :                                       {
   10300            0 :                                         tree _o1[2], _r1;
   10301            0 :                                         _o1[0] = captures[0];
   10302            0 :                                         _o1[1] = captures[3];
   10303            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10304            0 :                                         res_op0 = _r1;
   10305              :                                       }
   10306            0 :                                       tree res_op1;
   10307            0 :                                       res_op1 = captures[1];
   10308            0 :                                       tree res_op2;
   10309            0 :                                       res_op2 = captures[2];
   10310            0 :                                       tree _r;
   10311            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10312            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10313            0 :                                       return _r;
   10314              :                                     }
   10315            0 : next_after_fail1346:;
   10316              :                                   }
   10317              :                               }
   10318            0 :                               {
   10319            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10320            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10321            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10322              : )
   10323              :                                   {
   10324            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1347;
   10325            0 :                                     {
   10326            0 :                                       tree res_op0;
   10327            0 :                                       {
   10328            0 :                                         tree _o1[2], _r1;
   10329            0 :                                         _o1[0] = captures[0];
   10330            0 :                                         _o1[1] = captures[3];
   10331            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10332            0 :                                         res_op0 = _r1;
   10333              :                                       }
   10334            0 :                                       tree res_op1;
   10335            0 :                                       res_op1 = captures[1];
   10336            0 :                                       tree res_op2;
   10337            0 :                                       res_op2 = captures[2];
   10338            0 :                                       tree _r;
   10339            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10340            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10341            0 :                                       return _r;
   10342              :                                     }
   10343            0 : next_after_fail1347:;
   10344              :                                   }
   10345              :                               }
   10346            0 :                               {
   10347            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   10348            0 :                                 const enum tree_code lop = BIT_XOR_EXPR;
   10349            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   10350              : )
   10351              :                                   {
   10352            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1348;
   10353            0 :                                     {
   10354            0 :                                       tree res_op0;
   10355            0 :                                       {
   10356            0 :                                         tree _o1[2], _r1;
   10357            0 :                                         _o1[0] = captures[0];
   10358            0 :                                         _o1[1] = captures[3];
   10359            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10360            0 :                                         res_op0 = _r1;
   10361              :                                       }
   10362            0 :                                       tree res_op1;
   10363            0 :                                       res_op1 = captures[1];
   10364            0 :                                       tree res_op2;
   10365            0 :                                       res_op2 = captures[2];
   10366            0 :                                       tree _r;
   10367            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10368            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   10369            0 :                                       return _r;
   10370              :                                     }
   10371            0 : next_after_fail1348:;
   10372              :                                   }
   10373              :                               }
   10374              :                             }
   10375              :                         }
   10376              :                       break;
   10377              :                     }
   10378              :                   default:;
   10379              :                   }
   10380              :               }
   10381              :           }
   10382            1 :         {
   10383            1 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10384            1 :           if (VECTOR_TYPE_P (type)
   10385            1 :  && (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
   10386              :  || types_match (type, TREE_TYPE (captures[2]))
   10387              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10388              :  || (optimize_vectors_before_lowering_p ()
   10389              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10390              : )
   10391              :             {
   10392            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1349;
   10393            1 :               {
   10394            1 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1349;
   10395            0 :                 tree res_op0;
   10396            0 :                 res_op0 = captures[1];
   10397            0 :                 tree res_op1;
   10398            0 :                 {
   10399            0 :                   tree _o1[2], _r1;
   10400            0 :                   _o1[0] = captures[2];
   10401            0 :                   _o1[1] = unshare_expr (captures[4]);
   10402            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10403            0 :                   if (EXPR_P (_r1))
   10404            0 :                     goto next_after_fail1349;
   10405            0 :                   res_op1 = _r1;
   10406              :                 }
   10407            0 :                 tree res_op2;
   10408            0 :                 {
   10409            0 :                   tree _o1[2], _r1;
   10410            0 :                   _o1[0] = captures[3];
   10411            0 :                   _o1[1] = captures[4];
   10412            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10413            0 :                   if (EXPR_P (_r1))
   10414            0 :                     goto next_after_fail1349;
   10415            0 :                   res_op2 = _r1;
   10416              :                 }
   10417            0 :                 tree _r;
   10418            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10419            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
   10420            0 :                 return _r;
   10421              :               }
   10422            1 : next_after_fail1349:;
   10423              :             }
   10424              :         }
   10425            1 :         break;
   10426              :       }
   10427       891244 :     default:;
   10428              :     }
   10429       891244 :   switch (TREE_CODE (_p1))
   10430              :     {
   10431            0 :     case VEC_COND_EXPR:
   10432            0 :       {
   10433            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10434            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10435            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10436            0 :         {
   10437            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10438            0 :           if (VECTOR_TYPE_P (type)
   10439            0 :  && (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
   10440              :  || types_match (type, TREE_TYPE (captures[3]))
   10441              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10442              :  || (optimize_vectors_before_lowering_p ()
   10443              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10444              : )
   10445              :             {
   10446            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1350;
   10447            0 :               {
   10448            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1350;
   10449            0 :                 tree res_op0;
   10450            0 :                 res_op0 = captures[2];
   10451            0 :                 tree res_op1;
   10452            0 :                 {
   10453            0 :                   tree _o1[2], _r1;
   10454            0 :                   _o1[0] = unshare_expr (captures[0]);
   10455            0 :                   _o1[1] = captures[3];
   10456            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10457            0 :                   if (EXPR_P (_r1))
   10458            0 :                     goto next_after_fail1350;
   10459            0 :                   res_op1 = _r1;
   10460              :                 }
   10461            0 :                 tree res_op2;
   10462            0 :                 {
   10463            0 :                   tree _o1[2], _r1;
   10464            0 :                   _o1[0] = captures[0];
   10465            0 :                   _o1[1] = captures[4];
   10466            0 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, type, _o1[0], _o1[1]);
   10467            0 :                   if (EXPR_P (_r1))
   10468            0 :                     goto next_after_fail1350;
   10469            0 :                   res_op2 = _r1;
   10470              :                 }
   10471            0 :                 tree _r;
   10472            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10473            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
   10474            0 :                 return _r;
   10475              :               }
   10476            0 : next_after_fail1350:;
   10477              :             }
   10478              :         }
   10479            0 :         break;
   10480              :       }
   10481       891244 :     default:;
   10482              :     }
   10483       891244 :   switch (TREE_CODE (_p0))
   10484              :     {
   10485           90 :     case LT_EXPR:
   10486           90 :       {
   10487           90 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10488           90 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10489           90 :         if (integer_truep (_p1))
   10490              :           {
   10491           14 :             {
   10492           14 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10493           14 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
   10494           14 :               if (res) return res;
   10495              :             }
   10496              :           }
   10497           76 :         if (integer_zerop (_q21))
   10498              :           {
   10499           24 :             switch (TREE_CODE (_p1))
   10500              :               {
   10501           17 :               case LT_EXPR:
   10502           17 :                 {
   10503           17 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10504           17 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10505           17 :                   if (integer_zerop (_q51))
   10506              :                     {
   10507           17 :                       {
   10508           17 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   10509           17 :                         tree res = generic_simplify_173 (loc, type, _p0, _p1, captures, LT_EXPR);
   10510           17 :                         if (res) return res;
   10511              :                       }
   10512              :                     }
   10513              :                   break;
   10514              :                 }
   10515            0 :               case GE_EXPR:
   10516            0 :                 {
   10517            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10518            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10519            0 :                   if (integer_zerop (_q51))
   10520              :                     {
   10521            0 :                       {
   10522            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   10523            0 :                         tree res = generic_simplify_174 (loc, type, _p0, _p1, captures);
   10524            0 :                         if (res) return res;
   10525              :                       }
   10526              :                     }
   10527              :                   break;
   10528              :                 }
   10529              :               default:;
   10530              :               }
   10531              :           }
   10532              :         break;
   10533              :       }
   10534           85 :     case LE_EXPR:
   10535           85 :       {
   10536           85 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10537           85 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10538           85 :         if (integer_truep (_p1))
   10539              :           {
   10540           15 :             {
   10541           15 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10542           15 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
   10543           15 :               if (res) return res;
   10544              :             }
   10545              :           }
   10546              :         break;
   10547              :       }
   10548          118 :     case EQ_EXPR:
   10549          118 :       {
   10550          118 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10551          118 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10552          118 :         if (integer_truep (_p1))
   10553              :           {
   10554           14 :             {
   10555           14 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10556           14 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
   10557           14 :               if (res) return res;
   10558              :             }
   10559              :           }
   10560              :         break;
   10561              :       }
   10562          113 :     case NE_EXPR:
   10563          113 :       {
   10564          113 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10565          113 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10566          113 :         if (integer_truep (_p1))
   10567              :           {
   10568            7 :             {
   10569            7 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10570            7 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
   10571            7 :               if (res) return res;
   10572              :             }
   10573              :           }
   10574              :         break;
   10575              :       }
   10576           62 :     case GE_EXPR:
   10577           62 :       {
   10578           62 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10579           62 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10580           62 :         if (integer_truep (_p1))
   10581              :           {
   10582            0 :             {
   10583            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10584            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
   10585            0 :               if (res) return res;
   10586              :             }
   10587              :           }
   10588           62 :         if (integer_zerop (_q21))
   10589              :           {
   10590           26 :             switch (TREE_CODE (_p1))
   10591              :               {
   10592            1 :               case GE_EXPR:
   10593            1 :                 {
   10594            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10595            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10596            1 :                   if (integer_zerop (_q51))
   10597              :                     {
   10598            1 :                       {
   10599            1 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   10600            1 :                         tree res = generic_simplify_173 (loc, type, _p0, _p1, captures, GE_EXPR);
   10601            1 :                         if (res) return res;
   10602              :                       }
   10603              :                     }
   10604              :                   break;
   10605              :                 }
   10606            5 :               case LT_EXPR:
   10607            5 :                 {
   10608            5 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10609            5 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10610            5 :                   if (integer_zerop (_q51))
   10611              :                     {
   10612            5 :                       {
   10613            5 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _p0, _q20 };
   10614            5 :                         tree res = generic_simplify_174 (loc, type, _p0, _p1, captures);
   10615            5 :                         if (res) return res;
   10616              :                       }
   10617              :                     }
   10618              :                   break;
   10619              :                 }
   10620              :               default:;
   10621              :               }
   10622              :           }
   10623              :         break;
   10624              :       }
   10625          100 :     case GT_EXPR:
   10626          100 :       {
   10627          100 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10628          100 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10629          100 :         if (integer_truep (_p1))
   10630              :           {
   10631           14 :             {
   10632           14 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10633           14 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
   10634           14 :               if (res) return res;
   10635              :             }
   10636              :           }
   10637              :         break;
   10638              :       }
   10639            0 :     case UNORDERED_EXPR:
   10640            0 :       {
   10641            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10642            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10643            0 :         if (integer_truep (_p1))
   10644              :           {
   10645            0 :             {
   10646            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10647            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
   10648            0 :               if (res) return res;
   10649              :             }
   10650              :           }
   10651              :         break;
   10652              :       }
   10653            0 :     case ORDERED_EXPR:
   10654            0 :       {
   10655            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10656            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10657            0 :         if (integer_truep (_p1))
   10658              :           {
   10659            0 :             {
   10660            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10661            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
   10662            0 :               if (res) return res;
   10663              :             }
   10664              :           }
   10665              :         break;
   10666              :       }
   10667            0 :     case UNLT_EXPR:
   10668            0 :       {
   10669            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10670            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10671            0 :         if (integer_truep (_p1))
   10672              :           {
   10673            0 :             {
   10674            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10675            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
   10676            0 :               if (res) return res;
   10677              :             }
   10678              :           }
   10679              :         break;
   10680              :       }
   10681            0 :     case UNLE_EXPR:
   10682            0 :       {
   10683            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10684            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10685            0 :         if (integer_truep (_p1))
   10686              :           {
   10687            0 :             {
   10688            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10689            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
   10690            0 :               if (res) return res;
   10691              :             }
   10692              :           }
   10693              :         break;
   10694              :       }
   10695            0 :     case UNGT_EXPR:
   10696            0 :       {
   10697            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10698            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10699            0 :         if (integer_truep (_p1))
   10700              :           {
   10701            0 :             {
   10702            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10703            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
   10704            0 :               if (res) return res;
   10705              :             }
   10706              :           }
   10707              :         break;
   10708              :       }
   10709            0 :     case UNGE_EXPR:
   10710            0 :       {
   10711            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10712            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10713            0 :         if (integer_truep (_p1))
   10714              :           {
   10715            0 :             {
   10716            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10717            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
   10718            0 :               if (res) return res;
   10719              :             }
   10720              :           }
   10721              :         break;
   10722              :       }
   10723            0 :     case UNEQ_EXPR:
   10724            0 :       {
   10725            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10726            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10727            0 :         if (integer_truep (_p1))
   10728              :           {
   10729            0 :             {
   10730            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10731            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
   10732            0 :               if (res) return res;
   10733              :             }
   10734              :           }
   10735              :         break;
   10736              :       }
   10737            0 :     case LTGT_EXPR:
   10738            0 :       {
   10739            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10740            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10741            0 :         if (integer_truep (_p1))
   10742              :           {
   10743            0 :             {
   10744            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10745            0 :               tree res = generic_simplify_172 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
   10746            0 :               if (res) return res;
   10747              :             }
   10748              :           }
   10749              :         break;
   10750              :       }
   10751            7 :     case VEC_PERM_EXPR:
   10752            7 :       {
   10753            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10754            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10755            7 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10756            7 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   10757              :           {
   10758            0 :             switch (TREE_CODE (_p1))
   10759              :               {
   10760            0 :               case VEC_PERM_EXPR:
   10761            0 :                 {
   10762            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   10763            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   10764            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   10765            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   10766              :                     {
   10767            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   10768              :                         {
   10769            0 :                           {
   10770            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   10771            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   10772              : )
   10773              :                               {
   10774            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1351;
   10775            0 :                                 {
   10776            0 :                                   tree res_op0;
   10777            0 :                                   {
   10778            0 :                                     tree _o1[2], _r1;
   10779            0 :                                     _o1[0] = captures[0];
   10780            0 :                                     _o1[1] = captures[2];
   10781            0 :                                     _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10782            0 :                                     captures[3] = _r1;
   10783              :                                   }
   10784            0 :                                   res_op0 = unshare_expr (captures[3]);
   10785            0 :                                   tree res_op1;
   10786            0 :                                   res_op1 = captures[3];
   10787            0 :                                   tree res_op2;
   10788            0 :                                   res_op2 = captures[1];
   10789            0 :                                   tree _r;
   10790            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   10791            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
   10792            0 :                                   return _r;
   10793              :                                 }
   10794            0 : next_after_fail1351:;
   10795              :                               }
   10796              :                           }
   10797              :                         }
   10798              :                     }
   10799              :                   break;
   10800              :                 }
   10801              :               default:;
   10802              :               }
   10803              :           }
   10804              :         break;
   10805              :       }
   10806         2903 :     case CALL_EXPR:
   10807         2903 :       switch (get_call_combined_fn (_p0))
   10808              :         {
   10809            1 :         case CFN_PARITY:
   10810            1 :           if (call_expr_nargs (_p0) == 1)
   10811              :     {
   10812            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10813            1 :               switch (TREE_CODE (_p1))
   10814              :                 {
   10815            1 :                 case CALL_EXPR:
   10816            1 :                   switch (get_call_combined_fn (_p1))
   10817              :                     {
   10818            1 :                     case CFN_PARITY:
   10819            1 :                       if (call_expr_nargs (_p1) == 1)
   10820              :     {
   10821            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10822            1 :                           {
   10823            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10824            1 :                             tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, CFN_PARITY);
   10825            1 :                             if (res) return res;
   10826              :                           }
   10827              :                         }
   10828              :                       break;
   10829              :                     default:;
   10830              :                     }
   10831              :                   break;
   10832              :                 default:;
   10833              :                 }
   10834              :             }
   10835              :           break;
   10836            1 :         case CFN_BUILT_IN_PARITYL:
   10837            1 :           if (call_expr_nargs (_p0) == 1)
   10838              :     {
   10839            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10840            1 :               switch (TREE_CODE (_p1))
   10841              :                 {
   10842            1 :                 case CALL_EXPR:
   10843            1 :                   switch (get_call_combined_fn (_p1))
   10844              :                     {
   10845            1 :                     case CFN_BUILT_IN_PARITYL:
   10846            1 :                       if (call_expr_nargs (_p1) == 1)
   10847              :     {
   10848            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10849            1 :                           {
   10850            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10851            1 :                             tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYL);
   10852            1 :                             if (res) return res;
   10853              :                           }
   10854              :                         }
   10855              :                       break;
   10856              :                     default:;
   10857              :                     }
   10858              :                   break;
   10859              :                 default:;
   10860              :                 }
   10861              :             }
   10862              :           break;
   10863            0 :         case CFN_BUILT_IN_PARITYIMAX:
   10864            0 :           if (call_expr_nargs (_p0) == 1)
   10865              :     {
   10866            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10867            0 :               switch (TREE_CODE (_p1))
   10868              :                 {
   10869            0 :                 case CALL_EXPR:
   10870            0 :                   switch (get_call_combined_fn (_p1))
   10871              :                     {
   10872            0 :                     case CFN_BUILT_IN_PARITYIMAX:
   10873            0 :                       if (call_expr_nargs (_p1) == 1)
   10874              :     {
   10875            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10876            0 :                           {
   10877            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10878            0 :                             tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYIMAX);
   10879            0 :                             if (res) return res;
   10880              :                           }
   10881              :                         }
   10882              :                       break;
   10883              :                     default:;
   10884              :                     }
   10885              :                   break;
   10886              :                 default:;
   10887              :                 }
   10888              :             }
   10889              :           break;
   10890            1 :         case CFN_BUILT_IN_PARITY:
   10891            1 :           if (call_expr_nargs (_p0) == 1)
   10892              :     {
   10893            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10894            1 :               switch (TREE_CODE (_p1))
   10895              :                 {
   10896            1 :                 case CALL_EXPR:
   10897            1 :                   switch (get_call_combined_fn (_p1))
   10898              :                     {
   10899            1 :                     case CFN_BUILT_IN_PARITY:
   10900            1 :                       if (call_expr_nargs (_p1) == 1)
   10901              :     {
   10902            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10903            1 :                           {
   10904            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10905            1 :                             tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITY);
   10906            1 :                             if (res) return res;
   10907              :                           }
   10908              :                         }
   10909              :                       break;
   10910              :                     default:;
   10911              :                     }
   10912              :                   break;
   10913              :                 default:;
   10914              :                 }
   10915              :             }
   10916              :           break;
   10917            8 :         case CFN_BUILT_IN_PARITYLL:
   10918            8 :           if (call_expr_nargs (_p0) == 1)
   10919              :     {
   10920            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10921            8 :               switch (TREE_CODE (_p1))
   10922              :                 {
   10923            8 :                 case CALL_EXPR:
   10924            8 :                   switch (get_call_combined_fn (_p1))
   10925              :                     {
   10926            8 :                     case CFN_BUILT_IN_PARITYLL:
   10927            8 :                       if (call_expr_nargs (_p1) == 1)
   10928              :     {
   10929            8 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10930            8 :                           {
   10931            8 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10932            8 :                             tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYLL);
   10933            8 :                             if (res) return res;
   10934              :                           }
   10935              :                         }
   10936              :                       break;
   10937              :                     default:;
   10938              :                     }
   10939              :                   break;
   10940              :                 default:;
   10941              :                 }
   10942              :             }
   10943              :           break;
   10944              :         default:;
   10945              :         }
   10946              :       break;
   10947              :     default:;
   10948              :     }
   10949              :   return NULL_TREE;
   10950              : }
   10951              : 
   10952              : tree
   10953     43470986 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0, tree _p1, tree _p2)
   10954              : {
   10955     43470986 :   switch (code)
   10956              :     {
   10957     14158214 :     case COND_EXPR:
   10958     14158214 :       return generic_simplify_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   10959       335226 :     case VEC_COND_EXPR:
   10960       335226 :       return generic_simplify_VEC_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   10961       649727 :     case BIT_FIELD_REF:
   10962       649727 :       return generic_simplify_BIT_FIELD_REF (loc, code, type, _p0, _p1, _p2);
   10963        14647 :     case BIT_INSERT_EXPR:
   10964        14647 :       return generic_simplify_BIT_INSERT_EXPR (loc, code, type, _p0, _p1, _p2);
   10965       743602 :     case VEC_PERM_EXPR:
   10966       743602 :       return generic_simplify_VEC_PERM_EXPR (loc, code, type, _p0, _p1, _p2);
   10967              :     default:;
   10968              :     }
   10969              :   return NULL_TREE;
   10970              : }
   10971              : 
   10972              : tree
   10973            0 : generic_simplify (location_t, enum tree_code,
   10974              :                   const tree, tree, tree, tree, tree)
   10975              : {
   10976            0 :   return NULL_TREE;
   10977              : }
   10978              : 
   10979              : tree
   10980            0 : generic_simplify (location_t, enum tree_code,
   10981              :                   const tree, tree, tree, tree, tree, tree)
   10982              : {
   10983            0 :   return NULL_TREE;
   10984              : }
   10985              : 
   10986              : tree
   10987            0 : generic_simplify (location_t, enum tree_code,
   10988              :                   const tree, tree, tree, tree, tree, tree, tree)
   10989              : {
   10990            0 :   return NULL_TREE;
   10991              : }
   10992              : 
   10993              : tree
   10994            0 : generic_simplify (location_t, enum tree_code,
   10995              :                   const tree, tree, tree, tree, tree, tree, tree, tree)
   10996              : {
   10997            0 :   return NULL_TREE;
   10998              : }
   10999              : void
   11000        19451 : generic_dump_logs (const char *file1, int line1_id, const char *file2, int line2, bool simplify)
   11001              : {
   11002        19451 :   static int dbg_line_numbers[1091] = {
   11003              :         /* 0 */ 161, 164, 173, 175, 178, 181, 183, 189, 197, 195, 
   11004              :         /* 10 */ 199, 201, 962, 964, 2146, 2152, 2154, 2157, 2162, 2165, 
   11005              :         /* 20 */ 2408, 2412, 2414, 2416, 2418, 2420, 2422, 2424, 2451, 2467, 
   11006              :         /* 30 */ 2475, 2457, 3051, 3053, 3055, 3062, 3059, 3069, 3071, 3078, 
   11007              :         /* 40 */ 3075, 3286, 3296, 6076, 9425, 9446, 11688, 11691, 11696, 2113, 
   11008              :         /* 50 */ 9245, 256, 283, 284, 495, 1331, 1501, 1837, 1887, 1892, 
   11009              :         /* 60 */ 1996, 1955, 4373, 4311, 2541, 2573, 4416, 4417, 4421, 4422, 
   11010              :         /* 70 */ 4432, 4436, 4440, 4455, 4458, 4462, 4388, 4391, 4396, 4542, 
   11011              :         /* 80 */ 4548, 4554, 4734, 4735, 4764, 4785, 4804, 5147, 5975, 7336, 
   11012              :         /* 90 */ 7421, 7423, 8873, 8948, 10599, 10647, 10661, 11715, 12140, 946, 
   11013              :         /* 100 */ 952, 1481, 1490, 1973, 1964, 1911, 2690, 4324, 4364, 4369, 
   11014              :         /* 110 */ 4370, 4378, 4379, 4382, 4399, 4474, 4477, 4481, 4562, 4584, 
   11015              :         /* 120 */ 4622, 4633, 4672, 4687, 5153, 7346, 8953, 10657, 11719, 1337, 
   11016              :         /* 130 */ 1341, 1467, 1476, 1506, 1511, 1553, 1538, 1545, 1568, 1569, 
   11017              :         /* 140 */ 1573, 1574, 1595, 2050, 1600, 1607, 1627, 1730, 1754, 1844, 
   11018              :         /* 150 */ 1849, 1859, 1869, 1983, 2042, 2070, 2080, 2082, 2305, 2341, 
   11019              :         /* 160 */ 2349, 2354, 2359, 2375, 2365, 2366, 4861, 4874, 4884, 2389, 
   11020              :         /* 170 */ 2400, 2403, 2435, 2524, 2553, 2555, 2560, 2562, 2683, 3128, 
   11021              :         /* 180 */ 3130, 3897, 3912, 3930, 4130, 4131, 4132, 4140, 4148, 4157, 
   11022              :         /* 190 */ 4166, 4198, 4199, 4204, 4205, 4210, 4215, 4219, 4274, 4288, 
   11023              :         /* 200 */ 3902, 3921, 3923, 3907, 4898, 4910, 8009, 9822, 12238, 12253, 
   11024              :         /* 210 */ 1516, 1521, 1632, 1637, 1854, 1944, 1864, 2008, 1874, 1879, 
   11025              :         /* 220 */ 2002, 2054, 2015, 2021, 2664, 2028, 2088, 5159, 7405, 7407, 
   11026              :         /* 230 */ 7472, 7480, 10758, 10764, 463, 469, 501, 1276, 1296, 1301, 
   11027              :         /* 240 */ 2138, 2139, 2176, 2699, 5660, 5961, 5968, 6018, 6021, 6071, 
   11028              :         /* 250 */ 8866, 9280, 9110, 9117, 9274, 9319, 9324, 331, 908, 1349, 
   11029              :         /* 260 */ 2970, 2766, 2772, 2775, 2780, 2440, 2678, 2493, 2717, 2727, 
   11030              :         /* 270 */ 2796, 2798, 2799, 2802, 2804, 2805, 2807, 2809, 2811, 2813, 
   11031              :         /* 280 */ 2815, 2817, 2831, 2832, 2854, 2888, 2976, 3001, 2917, 2944, 
   11032              :         /* 290 */ 2984, 2989, 3014, 3021, 3087, 4246, 5089, 5097, 5100, 5106, 
   11033              :         /* 300 */ 5109, 5136, 5452, 5453, 5487, 5491, 5620, 5460, 5461, 5505, 
   11034              :         /* 310 */ 5508, 5509, 5514, 5517, 5520, 5521, 5473, 5476, 5693, 5697, 
   11035              :         /* 320 */ 5702, 5986, 6138, 6142, 7432, 7448, 7450, 7462, 7492, 7498, 
   11036              :         /* 330 */ 7499, 7514, 7515, 7519, 7537, 7542, 7574, 7582, 7592, 7601, 
   11037              :         /* 340 */ 7605, 7611, 7618, 7634, 7638, 7642, 7649, 7650, 7655, 7656, 
   11038              :         /* 350 */ 7663, 7664, 7666, 7667, 7683, 7694, 7706, 7710, 7712, 7717, 
   11039              :         /* 360 */ 7720, 7723, 7731, 7793, 7794, 7798, 7799, 7806, 7810, 7814, 
   11040              :         /* 370 */ 7817, 7823, 7824, 7828, 7831, 7838, 7858, 7861, 7864, 7867, 
   11041              :         /* 380 */ 7916, 7919, 7923, 7930, 7936, 7944, 7953, 7954, 8052, 8062, 
   11042              :         /* 390 */ 8101, 8107, 8123, 8136, 8138, 8140, 8166, 8208, 8187, 8188, 
   11043              :         /* 400 */ 8195, 8197, 8213, 8219, 8224, 8233, 8239, 8245, 8250, 8255, 
   11044              :         /* 410 */ 8287, 8350, 8269, 8279, 8379, 8398, 8400, 8402, 8404, 8406, 
   11045              :         /* 420 */ 8408, 8412, 8414, 8437, 8460, 8572, 8579, 8580, 8588, 8589, 
   11046              :         /* 430 */ 8786, 9866, 9868, 9946, 9948, 9949, 9955, 9971, 9973, 9975, 
   11047              :         /* 440 */ 9993, 9994, 10384, 10387, 10401, 10410, 10474, 10475, 10529, 10531, 
   11048              :         /* 450 */ 10607, 11030, 11032, 11034, 11468, 7428, 7439, 7441, 7549, 475, 
   11049              :         /* 460 */ 1249, 1270, 9230, 9235, 9240, 535, 536, 547, 552, 559, 
   11050              :         /* 470 */ 568, 576, 585, 631, 634, 843, 997, 1025, 1056, 596, 
   11051              :         /* 480 */ 873, 877, 882, 888, 892, 900, 989, 747, 757, 759, 
   11052              :         /* 490 */ 761, 8860, 9285, 9307, 9290, 9295, 9300, 9314, 9348, 9353, 
   11053              :         /* 500 */ 818, 6754, 6756, 6758, 6858, 6861, 7035, 7037, 7051, 7055, 
   11054              :         /* 510 */ 7078, 7084, 7142, 3858, 5196, 5239, 5252, 6680, 6968, 6972, 
   11055              :         /* 520 */ 6980, 5183, 5203, 5210, 5216, 5222, 5228, 7148, 7280, 9839, 
   11056              :         /* 530 */ 9840, 7290, 10818, 10826, 8303, 8304, 8318, 8319, 830, 833, 
   11057              :         /* 540 */ 1705, 2740, 2743, 2862, 2874, 2959, 2903, 2930, 3042, 3045, 
   11058              :         /* 550 */ 5127, 5119, 7370, 8716, 7966, 7969, 7995, 7996, 8485, 8487, 
   11059              :         /* 560 */ 8489, 8491, 8495, 8497, 8499, 8501, 8505, 8510, 8517, 8522, 
   11060              :         /* 570 */ 8542, 8544, 8546, 8548, 8729, 8737, 8747, 8755, 8765, 8887, 
   11061              :         /* 580 */ 8889, 9880, 9889, 9929, 10452, 10454, 10455, 10510, 10513, 10515, 
   11062              :         /* 590 */ 2756, 7360, 8039, 8961, 8966, 11051, 11053, 11055, 11057, 11061, 
   11063              :         /* 600 */ 935, 971, 1321, 5272, 5342, 5345, 5353, 5421, 5423, 5424, 
   11064              :         /* 610 */ 5425, 5632, 5323, 5332, 6192, 6195, 6196, 6204, 2316, 2326, 
   11065              :         /* 620 */ 2333, 4257, 4262, 5031, 9705, 9707, 9738, 9773, 12084, 1213, 
   11066              :         /* 630 */ 9178, 9199, 1222, 8922, 8928, 9225, 9652, 1236, 1240, 9220, 
   11067              :         /* 640 */ 9403, 1449, 1533, 1581, 1526, 1558, 1589, 1622, 1663, 1674, 
   11068              :         /* 650 */ 1685, 1697, 2585, 1926, 1934, 1939, 2062, 2430, 2705, 3282, 
   11069              :         /* 660 */ 3867, 3869, 3879, 3881, 3988, 3989, 3990, 3998, 4006, 4015, 
   11070              :         /* 670 */ 4024, 4058, 4059, 4064, 4065, 4070, 4075, 4079, 3887, 3892, 
   11071              :         /* 680 */ 3937, 5164, 5591, 5609, 5610, 6163, 6169, 6217, 7564, 8012, 
   11072              :         /* 690 */ 9808, 9810, 10642, 1612, 1617, 2643, 1785, 2648, 5671, 2623, 
   11073              :         /* 700 */ 2654, 2658, 5685, 5074, 7397, 7399, 2183, 2197, 2628, 4349, 
   11074              :         /* 710 */ 2222, 2245, 2246, 10269, 4917, 4921, 4931, 4949, 5014, 5016, 
   11075              :         /* 720 */ 5018, 5020, 5069, 9830, 4935, 4942, 4927, 5041, 5050, 5053, 
   11076              :         /* 730 */ 5259, 5393, 5403, 8815, 8818, 8837, 6114, 6126, 6129, 6133, 
   11077              :         /* 740 */ 11260, 11266, 11274, 11280, 11289, 11295, 11303, 11309, 11355, 11363, 
   11078              :         /* 750 */ 8604, 7557, 7553, 8796, 8803, 8938, 8943, 9044, 9141, 9158, 
   11079              :         /* 760 */ 9190, 9210, 9215, 9466, 9443, 9422, 9251, 9255, 9546, 9556, 
   11080              :         /* 770 */ 9563, 9572, 9590, 9597, 9578, 9845, 9851, 10259, 10265, 10262, 
   11081              :         /* 780 */ 10273, 10279, 10287, 10293, 10301, 10307, 10317, 10323, 10331, 10337, 
   11082              :         /* 790 */ 10345, 10351, 10359, 10365, 10419, 10622, 10637, 10673, 10917, 10920, 
   11083              :         /* 800 */ 10725, 10739, 10752, 11437, 11452, 11543, 11544, 12193, 221, 2094, 
   11084              :         /* 810 */ 2104, 6249, 2122, 1163, 2596, 3263, 5713, 5715, 5725, 5842, 
   11085              :         /* 820 */ 5853, 5866, 5889, 5899, 5908, 5920, 5946, 6259, 6686, 1782, 
   11086              :         /* 830 */ 1796, 1803, 1825, 1832, 2445, 2671, 2099, 2117, 2126, 2192, 
   11087              :         /* 840 */ 2228, 2234, 4336, 7323, 4344, 10327, 10283, 10341, 10355, 10369, 
   11088              :         /* 850 */ 10297, 10311, 5730, 5740, 5749, 5776, 5786, 5792, 6270, 5801, 
   11089              :         /* 860 */ 5798, 6084, 6092, 6100, 6104, 6087, 6095, 6108, 6120, 239, 
   11090              :         /* 870 */ 729, 2509, 4996, 6033, 6039, 6041, 6288, 6308, 6317, 12099, 
   11091              :         /* 880 */ 3135, 3139, 244, 3156, 3160, 3191, 3199, 3172, 3186, 262, 
   11092              :         /* 890 */ 299, 1485, 1791, 1899, 1906, 1916, 1921, 2203, 3207, 3219, 
   11093              :         /* 900 */ 3213, 3225, 2214, 2883, 2911, 2938, 2922, 2949, 4596, 4568, 
   11094              :         /* 910 */ 4643, 4652, 4695, 4706, 6046, 6057, 12065, 12066, 1710, 1715, 
   11095              :         /* 920 */ 6297, 8002, 11414, 11418, 1738, 1743, 2636, 4234, 249, 302, 
   11096              :         /* 930 */ 2892, 2895, 3232, 3239, 3246, 3252, 4605, 3257, 4661, 4715, 
   11097              :         /* 940 */ 6049, 375, 306, 343, 352, 360, 434, 449, 457, 648, 
   11098              :         /* 950 */ 688, 1006, 1201, 1206, 1304, 1307, 1441, 2499, 6062, 8895, 
   11099              :         /* 960 */ 8901, 9092, 9342, 2616, 6476, 6486, 8069, 8636, 8696, 8697, 
   11100              :         /* 970 */ 2606, 8630, 611, 614, 738, 767, 773, 779, 787, 792, 
   11101              :         /* 980 */ 797, 861, 865, 8907, 8913, 8554, 919, 1396, 5288, 1385, 
   11102              :         /* 990 */ 1388, 1420, 1431, 5265, 5337, 5431, 1455, 1644, 1720, 1748, 
   11103              :         /* 1000 */ 2380, 5437, 5438, 8006, 12072, 4956, 4960, 4988, 4989, 5062, 
   11104              :         /* 1010 */ 4967, 4971, 4979, 4980, 5374, 6081, 8612, 8614, 8621, 8623, 
   11105              :         /* 1020 */ 7561, 7155, 5170, 6987, 6992, 7117, 7123, 7132, 7133, 6235, 
   11106              :         /* 1030 */ 6237, 7161, 7164, 7173, 7177, 7182, 7211, 7216, 7277, 7224, 
   11107              :         /* 1040 */ 7229, 7287, 8333, 8335, 7246, 7247, 7248, 7298, 7267, 7268, 
   11108              :         /* 1050 */ 7269, 7310, 7311, 8364, 8369, 7190, 6241, 6243, 6497, 6499, 
   11109              :         /* 1060 */ 10001, 10007, 10012, 10021, 10023, 10043, 10088, 10091, 10092, 10124, 
   11110              :         /* 1070 */ 10130, 10132, 10133, 10189, 10190, 10211, 10216, 10221, 10251, 11568, 
   11111              :         /* 1080 */ 11570, 11605, 11680, 11683, 11768, 11703, 11709, 11837, 11839, 11901, 11903
   11112              :   };
   11113              : 
   11114        29171 :   fprintf (dump_file, "%s %s:%d, %s:%d\n",
   11115              :           simplify ? "Applying pattern" : "Matching expression", file1, dbg_line_numbers[line1_id], file2, line2);
   11116        19451 : }
   11117              : 
   11118              : #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.