LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-6.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 44.2 % 12116 5355
Test Date: 2026-05-11 19:44:49 Functions: 72.5 % 69 50
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    163653150 : tree_maybe_bit_not (tree t, tree *res_ops)
      11              : {
      12    163653150 :   const tree type = TREE_TYPE (t);
      13    163653150 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    163653150 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    156211964 :   switch (TREE_CODE (t))
      16              :     {
      17     49455060 :     case INTEGER_CST:
      18     49455060 :       {
      19     49455060 :         {
      20     49455060 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21     49455060 :           {
      22     49455060 :             res_ops[0] = captures[0];
      23     49455060 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 8, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27    106756904 :         break;
      28              :       }
      29    106756904 :     default:;
      30              :     }
      31    106756904 : {
      32    106756904 :   tree t_pops[1];
      33    106756904 :   if (tree_bit_not_with_nop (t, t_pops))
      34              :     {
      35       145724 :       tree _p0 = t_pops[0];
      36       145724 :       {
      37       145724 :         tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      38       145724 :         {
      39       145724 :           res_ops[0] = captures[0];
      40       145724 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 9, __FILE__, __LINE__, false);
      41       145724 :           return true;
      42              :         }
      43              :       }
      44              :     }
      45              : }
      46    106611180 : {
      47    106611180 :   tree t_pops[1];
      48    106611180 :   if (tree_maybe_cmp (t, t_pops))
      49              :     {
      50       536378 :       tree _p0 = t_pops[0];
      51       536378 :       {
      52       536378 :         tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      53       536378 :         {
      54       536378 :           res_ops[0] = captures[0];
      55       536378 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 10, __FILE__, __LINE__, false);
      56       536378 :           return true;
      57              :         }
      58              :       }
      59              :     }
      60              : }
      61    106074802 : {
      62    106074802 :   tree t_pops[2];
      63    106074802 :   if (tree_bit_xor_cst (t, t_pops))
      64              :     {
      65         1601 :       tree _p0 = t_pops[0];
      66         1601 :       tree _p1 = t_pops[1];
      67         1601 :       {
      68         1601 :         tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
      69         1601 :         {
      70         1601 :           res_ops[0] = captures[0];
      71         1601 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 11, __FILE__, __LINE__, false);
      72         1601 :           return true;
      73              :         }
      74              :       }
      75              :     }
      76              : }
      77    106073201 :   return false;
      78              : }
      79              : 
      80              : bool
      81         2405 : tree_min_value (tree t)
      82              : {
      83         2405 :   const tree type = TREE_TYPE (t);
      84         2405 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      85         2405 :   if (TREE_SIDE_EFFECTS (t)) return false;
      86         2397 :   if (uniform_integer_cst_p (t))
      87              :     {
      88         2125 :       {
      89         2125 :         {
      90         2125 :  tree int_cst = uniform_integer_cst_p (t);
      91         2125 :  tree inner_type = TREE_TYPE (int_cst);
      92         4250 :             if ((INTEGRAL_TYPE_P (inner_type)
      93           17 :  || POINTER_TYPE_P (inner_type))
      94         4267 :  && wi::eq_p (wi::to_wide (int_cst), wi::min_value (inner_type))
      95              : )
      96              :               {
      97          138 :                 {
      98          138 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 41, __FILE__, __LINE__, false);
      99          138 :                   return true;
     100              :                 }
     101              :               }
     102              :         }
     103              :       }
     104              :     }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109            3 : generic_simplify_1 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
     111              :  const enum tree_code ARG_UNUSED (op))
     112              : {
     113            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114            3 :   if (!flag_trapping_math
     115              : )
     116              :     {
     117            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail72;
     118            2 :       {
     119            2 :         tree res_op0;
     120            2 :         res_op0 = captures[0];
     121            2 :         tree _r;
     122            2 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     123            2 :         if (TREE_SIDE_EFFECTS (captures[1]))
     124            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     125            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 49, __FILE__, __LINE__, true);
     126            2 :         return _r;
     127              :       }
     128            0 : next_after_fail72:;
     129              :     }
     130              :   return NULL_TREE;
     131              : }
     132              : 
     133              : tree
     134           29 : generic_simplify_8 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     135              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     136              :  const enum tree_code ARG_UNUSED (bit_op))
     137              : {
     138           29 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     139           29 :   if (bit_op == BIT_AND_EXPR
     140              : )
     141              :     {
     142            9 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail79;
     143            9 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail79;
     144            9 :       {
     145            9 :         tree _r;
     146            9 :         _r =  build_zero_cst (type);
     147            9 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 56, __FILE__, __LINE__, true);
     148            9 :         return _r;
     149              :       }
     150              : next_after_fail79:;
     151              :     }
     152              :   else
     153              :     {
     154           20 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail80;
     155           20 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail80;
     156           20 :       {
     157           20 :         tree _r;
     158           20 :         _r =  build_minus_one_cst (type);
     159           20 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 57, __FILE__, __LINE__, true);
     160           20 :         return _r;
     161              :       }
     162              : next_after_fail80:;
     163              :     }
     164              :   return NULL_TREE;
     165              : }
     166              : 
     167              : tree
     168            1 : generic_simplify_17 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     169              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     170              : {
     171            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     172            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail92;
     173            1 :   {
     174            1 :     tree res_op0;
     175            1 :     res_op0 = captures[1];
     176            1 :     tree res_op1;
     177            1 :     {
     178            1 :       tree _o1[1], _r1;
     179            1 :       _o1[0] = captures[2];
     180            1 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     181            1 :       res_op1 = _r1;
     182              :     }
     183            1 :     tree _r;
     184            1 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     185            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 65, __FILE__, __LINE__, true);
     186              :     return _r;
     187              :   }
     188            0 : next_after_fail92:;
     189            0 :   return NULL_TREE;
     190              : }
     191              : 
     192              : tree
     193          112 : generic_simplify_28 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     194              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     195              :  const enum tree_code ARG_UNUSED (opo),
     196              :  const enum tree_code ARG_UNUSED (opi))
     197              : {
     198          112 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     199          112 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail103;
     200          112 :   {
     201          112 :     tree res_op0;
     202          112 :     {
     203          112 :       tree _o1[1], _r1;
     204          112 :       _o1[0] = captures[1];
     205          112 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     206          112 :       res_op0 = _r1;
     207              :     }
     208          112 :     tree res_op1;
     209          112 :     res_op1 = captures[2];
     210          112 :     tree _r;
     211          112 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     212          112 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 76, __FILE__, __LINE__, true);
     213              :     return _r;
     214              :   }
     215            0 : next_after_fail103:;
     216            0 :   return NULL_TREE;
     217              : }
     218              : 
     219              : tree
     220          599 : generic_simplify_33 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     221              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     222              :  const enum tree_code ARG_UNUSED (bitop))
     223              : {
     224          599 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     225          599 :   if (!CONSTANT_CLASS_P (captures[0])
     226              : )
     227              :     {
     228          599 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail108;
     229          599 :       {
     230          599 :         tree res_op0;
     231          599 :         res_op0 = captures[0];
     232          599 :         tree res_op1;
     233          599 :         {
     234          599 :           tree _o1[2], _r1;
     235          599 :           _o1[0] = captures[1];
     236          599 :           _o1[1] = captures[2];
     237          599 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     238          599 :           if (EXPR_P (_r1))
     239            0 :             goto next_after_fail108;
     240          599 :           res_op1 = _r1;
     241              :         }
     242          599 :         tree _r;
     243          599 :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     244          599 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 80, __FILE__, __LINE__, true);
     245          599 :         return _r;
     246              :       }
     247              : next_after_fail108:;
     248              :     }
     249              :   else
     250              :     {
     251            0 :       {
     252            0 :  tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
     253            0 :           if (cst1
     254              : )
     255              :             {
     256            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail109;
     257            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail109;
     258            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail109;
     259            0 :               {
     260            0 :                 tree res_op0;
     261            0 :                 res_op0 = captures[1];
     262            0 :                 tree res_op1;
     263            0 :                 res_op1 =  cst1;
     264            0 :                 tree _r;
     265            0 :                 _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     266            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 81, __FILE__, __LINE__, true);
     267            0 :                 return _r;
     268              :               }
     269              : next_after_fail109:;
     270              :             }
     271              :           else
     272              :             {
     273            0 :               {
     274            0 :  tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
     275            0 :                   if (cst2
     276              : )
     277              :                     {
     278            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail110;
     279            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail110;
     280            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail110;
     281            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail110;
     282            0 :                       {
     283            0 :                         tree res_op0;
     284            0 :                         res_op0 = captures[0];
     285            0 :                         tree res_op1;
     286            0 :                         res_op1 =  cst2;
     287            0 :                         tree _r;
     288            0 :                         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     289            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 82, __FILE__, __LINE__, true);
     290            0 :                         return _r;
     291              :                       }
     292              : next_after_fail110:;
     293              :                     }
     294              :               }
     295              :             }
     296              :       }
     297              :     }
     298              :   return NULL_TREE;
     299              : }
     300              : 
     301              : tree
     302           64 : generic_simplify_48 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     303              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     304              :  const enum tree_code ARG_UNUSED (cmp),
     305              :  const enum tree_code ARG_UNUSED (icmp),
     306              :  const enum tree_code ARG_UNUSED (ncmp))
     307              : {
     308           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     309           64 :   {
     310           64 :  enum tree_code ic = invert_tree_comparison
     311           64 :  (cmp, HONOR_NANS (captures[0]));
     312           64 :       if (ic == icmp
     313              : )
     314              :         {
     315           64 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail126;
     316           64 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail126;
     317           64 :           {
     318           64 :             tree res_op0;
     319           64 :             res_op0 = captures[0];
     320           64 :             tree res_op1;
     321           64 :             res_op1 = captures[1];
     322           64 :             tree _r;
     323           64 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
     324           64 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 94, __FILE__, __LINE__, true);
     325           64 :             return _r;
     326              :           }
     327              : next_after_fail126:;
     328              :         }
     329              :       else
     330              :         {
     331            0 :           if (ic == ncmp
     332              : )
     333              :             {
     334            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail127;
     335            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail127;
     336            0 :               {
     337            0 :                 tree res_op0;
     338            0 :                 res_op0 = captures[0];
     339            0 :                 tree res_op1;
     340            0 :                 res_op1 = captures[1];
     341            0 :                 tree _r;
     342            0 :                 _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
     343            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 95, __FILE__, __LINE__, true);
     344            0 :                 return _r;
     345              :               }
     346              : next_after_fail127:;
     347              :             }
     348              :         }
     349              :   }
     350              :   return NULL_TREE;
     351              : }
     352              : 
     353              : tree
     354       241425 : generic_simplify_62 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     355              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     356              :  const enum tree_code ARG_UNUSED (outer_op))
     357              : {
     358       241425 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     359       241425 :   if (!TYPE_SATURATING (type)
     360              : )
     361              :     {
     362       241425 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     363       482843 :  && !FIXED_POINT_TYPE_P (type)
     364              : )
     365              :         {
     366       241418 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     367              : )
     368              :             {
     369       228098 :               if (!CONSTANT_CLASS_P (captures[1])
     370              : )
     371              :                 {
     372       228098 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail149;
     373       228098 :                   {
     374       228098 :                     tree res_op0;
     375       228098 :                     {
     376       228098 :                       tree _o1[2], _r1;
     377       228098 :                       {
     378       228098 :                         tree _o2[1], _r2;
     379       228098 :                         _o2[0] = captures[0];
     380       228098 :                         if (TREE_TYPE (_o2[0]) != type)
     381              :                           {
     382         3551 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     383              :                           }
     384              :                         else
     385              :                           _r2 = _o2[0];
     386       228098 :                         _o1[0] = _r2;
     387              :                       }
     388       228098 :                       _o1[1] = captures[2];
     389       228098 :                       _r1 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     390       228098 :                       if (EXPR_P (_r1))
     391            0 :                         goto next_after_fail149;
     392       228098 :                       res_op0 = _r1;
     393              :                     }
     394       228098 :                     tree res_op1;
     395       228098 :                     {
     396       228098 :                       tree _o1[1], _r1;
     397       228098 :                       _o1[0] = captures[1];
     398       228098 :                       if (TREE_TYPE (_o1[0]) != type)
     399              :                         {
     400         3574 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     401              :                         }
     402              :                       else
     403              :                         _r1 = _o1[0];
     404       228098 :                       res_op1 = _r1;
     405              :                     }
     406       228098 :                     tree _r;
     407       228098 :                     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     408       228098 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 117, __FILE__, __LINE__, true);
     409       228098 :                     return _r;
     410              :                   }
     411              : next_after_fail149:;
     412              :                 }
     413              :             }
     414              :           else
     415              :             {
     416        26640 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     417        26640 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     418              : )
     419              :                 {
     420         2321 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail150;
     421         2321 :                   {
     422         2321 :                     tree res_op0;
     423         2321 :                     {
     424         2321 :                       tree _o1[2], _r1;
     425         2321 :                       {
     426         2321 :                         tree _o2[2], _r2;
     427         2321 :                         _o2[0] = captures[0];
     428         2321 :                         {
     429         2321 :                           tree _o3[1], _r3;
     430         2321 :                           _o3[0] = captures[2];
     431         2321 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     432              :                             {
     433         2321 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     434              :                             }
     435              :                           else
     436              :                             _r3 = _o3[0];
     437         2321 :                           _o2[1] = _r3;
     438              :                         }
     439         2321 :                         _r2 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     440         2321 :                         if (EXPR_P (_r2))
     441            0 :                           goto next_after_fail150;
     442         2321 :                         _o1[0] = _r2;
     443              :                       }
     444         2321 :                       _o1[1] = captures[1];
     445         2321 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     446         2321 :                       res_op0 = _r1;
     447              :                     }
     448         2321 :                     tree _r;
     449         2321 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     450         2321 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 118, __FILE__, __LINE__, true);
     451         2321 :                     return _r;
     452              :                   }
     453              : next_after_fail150:;
     454              :                 }
     455              :               else
     456              :                 {
     457        10999 :                   if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
     458              : )
     459              :                     {
     460        10971 :                       {
     461        10971 :  tree cst = const_binop (outer_op, type, captures[0], captures[2]);
     462        10971 :                           if (cst && !TREE_OVERFLOW (cst)
     463              : )
     464              :                             {
     465        10964 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail151;
     466        10964 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail151;
     467        10964 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail151;
     468        10964 :                               {
     469        10964 :                                 tree res_op0;
     470        10964 :                                 res_op0 =  cst;
     471        10964 :                                 tree res_op1;
     472        10964 :                                 res_op1 = captures[1];
     473        10964 :                                 tree _r;
     474        10964 :                                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     475        10964 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 119, __FILE__, __LINE__, true);
     476        10964 :                                 return _r;
     477              :                               }
     478              : next_after_fail151:;
     479              :                             }
     480              :                       }
     481              :                     }
     482              :                 }
     483              :             }
     484              :         }
     485              :     }
     486              :   return NULL_TREE;
     487              : }
     488              : 
     489              : tree
     490            1 : generic_simplify_85 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     491              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     492              : {
     493            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     494            1 :   if (INTEGRAL_TYPE_P (type)
     495              : )
     496              :     {
     497            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail176;
     498            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail176;
     499            1 :       {
     500            1 :         tree res_op0;
     501            1 :         res_op0 = unshare_expr (captures[1]);
     502            1 :         tree res_op1;
     503            1 :         {
     504            1 :           tree _o1[2], _r1;
     505            1 :           _o1[0] = captures[4];
     506            1 :           _o1[1] = captures[1];
     507            1 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     508            1 :           res_op1 = _r1;
     509              :         }
     510            1 :         tree _r;
     511            1 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     512            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 144, __FILE__, __LINE__, true);
     513            1 :         return _r;
     514              :       }
     515              : next_after_fail176:;
     516              :     }
     517              :   return NULL_TREE;
     518              : }
     519              : 
     520              : tree
     521         2654 : generic_simplify_93 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     522              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     523              : {
     524         2654 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     525         2654 :   if (!TYPE_SATURATING (type)
     526              : )
     527              :     {
     528         2654 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     529         2654 :  && !TYPE_OVERFLOW_SANITIZED (type)
     530              : )
     531              :         {
     532           13 :           {
     533           13 :  tree t1 = type;
     534           13 :  if (INTEGRAL_TYPE_P (type)
     535           21 :  && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
     536            8 :  t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
     537           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail184;
     538           13 :               {
     539           13 :                 tree res_op0;
     540           13 :                 {
     541           13 :                   tree _o1[2], _r1;
     542           13 :                   {
     543           13 :                     tree _o2[1], _r2;
     544           13 :                     _o2[0] = captures[0];
     545           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     546              :                       {
     547            8 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     548              :                       }
     549              :                     else
     550              :                       _r2 = _o2[0];
     551           13 :                     _o1[0] = _r2;
     552              :                   }
     553           13 :                   {
     554           13 :                     tree _o2[1], _r2;
     555           13 :                     _o2[0] = captures[1];
     556           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     557              :                       {
     558            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     559              :                       }
     560              :                     else
     561              :                       _r2 = _o2[0];
     562           13 :                     _o1[1] = _r2;
     563              :                   }
     564           13 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     565           13 :                   res_op0 = _r1;
     566              :                 }
     567           13 :                 tree _r;
     568           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     569           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 151, __FILE__, __LINE__, true);
     570           13 :                 return _r;
     571              :               }
     572            0 : next_after_fail184:;
     573              :           }
     574              :         }
     575              :     }
     576              :   return NULL_TREE;
     577              : }
     578              : 
     579              : tree
     580            9 : generic_simplify_104 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     581              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     582              : {
     583            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     584            9 :   if (INTEGRAL_TYPE_P (type)
     585            9 :  && (
     586              : 
     587            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     588              : )
     589              :     {
     590            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail201;
     591            2 :       {
     592            2 :         tree res_op0;
     593            2 :         {
     594            2 :           tree _o1[1], _r1;
     595            2 :           _o1[0] = captures[2];
     596            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     597              :             {
     598            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     599              :             }
     600              :           else
     601              :             _r1 = _o1[0];
     602            2 :           res_op0 = _r1;
     603              :         }
     604            2 :         tree res_op1;
     605            2 :         res_op1 = captures[1];
     606            2 :         tree res_op2;
     607            2 :         res_op2 = captures[0];
     608            2 :         tree _r;
     609            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     610            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 168, __FILE__, __LINE__, true);
     611            2 :         return _r;
     612              :       }
     613            0 : next_after_fail201:;
     614              :     }
     615              :   return NULL_TREE;
     616              : }
     617              : 
     618              : tree
     619            0 : generic_simplify_110 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     620              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     621              :  const enum tree_code ARG_UNUSED (bitop),
     622              :  const enum tree_code ARG_UNUSED (cmp))
     623              : {
     624            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     625            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     626            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     627            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
     628              : )
     629              :     {
     630            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail207;
     631            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail207;
     632            0 :       {
     633            0 :         tree res_op0;
     634            0 :         {
     635            0 :           tree _o1[2], _r1;
     636            0 :           _o1[0] = captures[0];
     637            0 :           {
     638            0 :             tree _o2[1], _r2;
     639            0 :             _o2[0] = captures[2];
     640            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     641              :               {
     642            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     643              :               }
     644              :             else
     645              :               _r2 = _o2[0];
     646            0 :             _o1[1] = _r2;
     647              :           }
     648            0 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     649            0 :           res_op0 = _r1;
     650              :         }
     651            0 :         tree res_op1;
     652            0 :         res_op1 = captures[1];
     653            0 :         tree _r;
     654            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     655            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 174, __FILE__, __LINE__, true);
     656            0 :         return _r;
     657              :       }
     658              : next_after_fail207:;
     659              :     }
     660              :   return NULL_TREE;
     661              : }
     662              : 
     663              : tree
     664            8 : generic_simplify_121 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     665              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     666              : {
     667            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     668           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     669           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     670              : )
     671              :     {
     672            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail218;
     673            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail218;
     674            0 :       {
     675            0 :         tree _r;
     676            0 :         _r = captures[2];
     677            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 183, __FILE__, __LINE__, true);
     678            0 :         return _r;
     679              :       }
     680              : next_after_fail218:;
     681              :     }
     682              :   return NULL_TREE;
     683              : }
     684              : 
     685              : tree
     686            1 : generic_simplify_130 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     687              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     688              : {
     689            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     690            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail227;
     691            1 :   {
     692            1 :     tree res_op0;
     693            1 :     {
     694            1 :       tree _o1[2], _r1;
     695            1 :       _o1[0] = captures[1];
     696            1 :       _o1[1] = captures[2];
     697            1 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     698            1 :       res_op0 = _r1;
     699              :     }
     700            1 :     tree _r;
     701            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     702            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 189, __FILE__, __LINE__, true);
     703              :     return _r;
     704              :   }
     705            0 : next_after_fail227:;
     706            0 :   return NULL_TREE;
     707              : }
     708              : 
     709              : tree
     710            2 : generic_simplify_141 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     711              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     712              :  const enum tree_code ARG_UNUSED (bitop),
     713              :  const enum tree_code ARG_UNUSED (rbitop))
     714              : {
     715            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     716            2 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail242;
     717            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail242;
     718            2 :   {
     719            2 :     tree _r;
     720            2 :     _r = captures[2];
     721            2 :     if (TREE_SIDE_EFFECTS (captures[1]))
     722            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     723            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 196, __FILE__, __LINE__, true);
     724              :     return _r;
     725              :   }
     726              : next_after_fail242:;
     727              :   return NULL_TREE;
     728              : }
     729              : 
     730              : tree
     731            0 : generic_simplify_146 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     732              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     733              :  const enum tree_code ARG_UNUSED (bitop),
     734              :  const enum tree_code ARG_UNUSED (rbitop))
     735              : {
     736            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     737            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail247;
     738            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail247;
     739            0 :   {
     740            0 :     tree res_op0;
     741            0 :     res_op0 = captures[0];
     742            0 :     tree res_op1;
     743            0 :     res_op1 = captures[2];
     744            0 :     tree _r;
     745            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     746            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
     747              :     return _r;
     748              :   }
     749              : next_after_fail247:;
     750              :   return NULL_TREE;
     751              : }
     752              : 
     753              : tree
     754            4 : generic_simplify_153 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     755              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     756              : {
     757            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     758            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail258;
     759            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail258;
     760            4 :   {
     761            4 :     tree _r;
     762            4 :     _r = captures[2];
     763            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     764            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     765            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 207, __FILE__, __LINE__, true);
     766              :     return _r;
     767              :   }
     768              : next_after_fail258:;
     769              :   return NULL_TREE;
     770              : }
     771              : 
     772              : tree
     773            3 : generic_simplify_156 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     774              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     775              :  const enum tree_code ARG_UNUSED (code2),
     776              :  const enum tree_code ARG_UNUSED (code1))
     777              : {
     778            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     779            3 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     780            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     781            3 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     782            3 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     783            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     784            3 :  && bitwise_equal_p (captures[2], captures[5]))
     785              : )
     786              :     {
     787            3 :       {
     788            3 :  bool one_before = false;
     789            3 :  bool one_after = false;
     790            3 :  int cmp = 0;
     791            3 :  bool allbits = true;
     792            3 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     793            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     794              :  {
     795            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     796            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     797            0 :  auto t2 = wi::to_wide (captures[5]);
     798            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     799            0 :  if (cmp < 0
     800            0 :  && t1 == t2 - 1)
     801              :  one_before = true;
     802            0 :  if (cmp > 0
     803            0 :  && t1 == t2 + 1)
     804              :  one_after = true;
     805              :  }
     806            3 :  bool val;
     807            3 :  switch (code2)
     808              :  {
     809            0 :  case EQ_EXPR: val = (cmp == 0); break;
     810            0 :  case NE_EXPR: val = (cmp != 0); break;
     811            0 :  case LT_EXPR: val = (cmp < 0); break;
     812            3 :  case GT_EXPR: val = (cmp > 0); break;
     813            0 :  case LE_EXPR: val = (cmp <= 0); break;
     814            0 :  case GE_EXPR: val = (cmp >= 0); break;
     815            0 :  default: gcc_unreachable ();
     816              :  }
     817            3 :           if (code1 == EQ_EXPR && val
     818              : )
     819              :             {
     820            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail261;
     821            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail261;
     822            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail261;
     823            0 :               {
     824            0 :                 tree _r;
     825            0 :                 _r = captures[3];
     826            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     827            0 :                 return _r;
     828              :               }
     829              : next_after_fail261:;
     830              :             }
     831              :           else
     832              :             {
     833            3 :               if (code1 == NE_EXPR && val && allbits
     834              : )
     835              :                 {
     836            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail262;
     837            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail262;
     838            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail262;
     839            0 :                   {
     840            0 :                     tree _r;
     841            0 :                     _r =  constant_boolean_node (true, type);
     842            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
     843            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     844            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     845            0 :                     return _r;
     846              :                   }
     847              : next_after_fail262:;
     848              :                 }
     849              :               else
     850              :                 {
     851            3 :                   if (code1 == NE_EXPR && !val && allbits
     852              : )
     853              :                     {
     854            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail263;
     855            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail263;
     856            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail263;
     857            0 :                       {
     858            0 :                         tree _r;
     859            0 :                         _r = captures[0];
     860            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
     861            0 :                         return _r;
     862              :                       }
     863              : next_after_fail263:;
     864              :                     }
     865              :                   else
     866              :                     {
     867            3 :                       if (code1 == EQ_EXPR
     868            3 :  && code2 == GT_EXPR
     869            3 :  && cmp == 0
     870            3 :  && allbits
     871            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     872            3 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     873            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     874              : )
     875              :                         {
     876            3 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail264;
     877            3 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail264;
     878            3 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail264;
     879            3 :                           {
     880            3 :                             tree res_op0;
     881            3 :                             res_op0 = captures[4];
     882            3 :                             tree res_op1;
     883            3 :                             res_op1 = captures[5];
     884            3 :                             tree _r;
     885            3 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     886            3 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     887            3 :                             return _r;
     888              :                           }
     889              : next_after_fail264:;
     890              :                         }
     891              :                       else
     892              :                         {
     893            0 :                           if (code1 == EQ_EXPR
     894            0 :  && code2 == LT_EXPR
     895            0 :  && cmp == 0
     896            0 :  && allbits
     897            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     898            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     899            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     900              : )
     901              :                             {
     902            0 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail265;
     903            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail265;
     904            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail265;
     905            0 :                               {
     906            0 :                                 tree res_op0;
     907            0 :                                 res_op0 = captures[4];
     908            0 :                                 tree res_op1;
     909            0 :                                 res_op1 = captures[5];
     910            0 :                                 tree _r;
     911            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     912            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     913            0 :                                 return _r;
     914              :                               }
     915              : next_after_fail265:;
     916              :                             }
     917              :                           else
     918              :                             {
     919            0 :                               if (code1 == EQ_EXPR
     920            0 :  && code2 == GE_EXPR
     921              :  && one_before
     922            0 :  && allbits
     923            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     924            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     925            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     926              : )
     927              :                                 {
     928            0 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail266;
     929            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail266;
     930            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail266;
     931            0 :                                   {
     932            0 :                                     tree res_op0;
     933            0 :                                     res_op0 = captures[4];
     934            0 :                                     tree res_op1;
     935            0 :                                     {
     936            0 :                                       tree _o1[1], _r1;
     937            0 :                                       _o1[0] = captures[2];
     938            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     939              :                                         {
     940            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     941              :                                         }
     942              :                                       else
     943              :                                         _r1 = _o1[0];
     944            0 :                                       res_op1 = _r1;
     945              :                                     }
     946            0 :                                     tree _r;
     947            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     948            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     949            0 :                                     return _r;
     950              :                                   }
     951              : next_after_fail266:;
     952              :                                 }
     953              :                               else
     954              :                                 {
     955            0 :                                   if (code1 == EQ_EXPR
     956            0 :  && code2 == LE_EXPR
     957              :  && one_after
     958            0 :  && allbits
     959            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     960            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     961            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     962              : )
     963              :                                     {
     964            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail267;
     965            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail267;
     966            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail267;
     967            0 :                                       {
     968            0 :                                         tree res_op0;
     969            0 :                                         res_op0 = captures[4];
     970            0 :                                         tree res_op1;
     971            0 :                                         {
     972            0 :                                           tree _o1[1], _r1;
     973            0 :                                           _o1[0] = captures[2];
     974            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     975              :                                             {
     976            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     977              :                                             }
     978              :                                           else
     979              :                                             _r1 = _o1[0];
     980            0 :                                           res_op1 = _r1;
     981              :                                         }
     982            0 :                                         tree _r;
     983            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     984            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     985            0 :                                         return _r;
     986              :                                       }
     987              : next_after_fail267:;
     988              :                                     }
     989              :                                 }
     990              :                             }
     991              :                         }
     992              :                     }
     993              :                 }
     994              :             }
     995              :       }
     996              :     }
     997              :   return NULL_TREE;
     998              : }
     999              : 
    1000              : tree
    1001           12 : generic_simplify_199 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1002              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1003              :  const combined_fn ARG_UNUSED (TAN),
    1004              :  const combined_fn ARG_UNUSED (COS),
    1005              :  const combined_fn ARG_UNUSED (SIN))
    1006              : {
    1007           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1008           12 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1009              : )
    1010              :     {
    1011           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail339;
    1012           12 :       {
    1013           12 :         tree res_op0;
    1014           12 :         res_op0 = captures[1];
    1015           12 :         tree _r;
    1016           12 :         _r = maybe_build_call_expr_loc (loc, SIN, type, 1, res_op0);
    1017           12 :         if (!_r)
    1018            0 :           goto next_after_fail339;
    1019           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 254, __FILE__, __LINE__, true);
    1020           12 :         return _r;
    1021              :       }
    1022              : next_after_fail339:;
    1023              :     }
    1024              :   return NULL_TREE;
    1025              : }
    1026              : 
    1027              : tree
    1028           64 : generic_simplify_204 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1029              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1030              :  const enum tree_code ARG_UNUSED (cmp))
    1031              : {
    1032           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1033          120 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1034          120 :  && tree_expr_nonzero_p (captures[0])
    1035              : )
    1036              :     {
    1037           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail344;
    1038           12 :       {
    1039           12 :         tree _r;
    1040           12 :         _r =  constant_boolean_node (cmp != EQ_EXPR, type);
    1041           12 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1042            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1043           12 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1044            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1045           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 259, __FILE__, __LINE__, true);
    1046           12 :         return _r;
    1047              :       }
    1048            0 : next_after_fail344:;
    1049              :     }
    1050              :   return NULL_TREE;
    1051              : }
    1052              : 
    1053              : tree
    1054         9128 : generic_simplify_212 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1055              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1056              :  const enum tree_code ARG_UNUSED (neeq),
    1057              :  const enum tree_code ARG_UNUSED (ltge))
    1058              : {
    1059         9128 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1060         9128 :   {
    1061         9128 :  tree itype = signed_type_for (TREE_TYPE (captures[1]));
    1062        18043 :       if (wi::to_wide (captures[2]) == element_precision (itype) - 1
    1063         9128 :  && (!VECTOR_TYPE_P (itype)
    1064           13 :  || (cfun
    1065           13 :  && cfun->after_inlining
    1066            5 :  && VECTOR_BOOLEAN_TYPE_P (type)
    1067            2 :  && (expand_vec_cmp_expr_p (itype, type, ltge)
    1068            2 :  || !expand_vec_cmp_expr_p (TREE_TYPE (captures[0]),
    1069              :  type, neeq))))
    1070              : )
    1071              :         {
    1072          213 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail355;
    1073          213 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail355;
    1074          213 :           {
    1075          213 :             tree res_op0;
    1076          213 :             {
    1077          213 :               tree _o1[1], _r1;
    1078          213 :               _o1[0] = captures[1];
    1079          213 :               if (TREE_TYPE (_o1[0]) != itype)
    1080              :                 {
    1081          161 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1082              :                 }
    1083              :               else
    1084              :                 _r1 = _o1[0];
    1085          213 :               res_op0 = _r1;
    1086              :             }
    1087          213 :             tree res_op1;
    1088          213 :             res_op1 =  build_zero_cst (itype);
    1089          213 :             tree _r;
    1090          213 :             _r = fold_build2_loc (loc, ltge, type, res_op0, res_op1);
    1091          213 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1092            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1093          213 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 269, __FILE__, __LINE__, true);
    1094          213 :             return _r;
    1095              :           }
    1096              : next_after_fail355:;
    1097              :         }
    1098              :   }
    1099              :   return NULL_TREE;
    1100              : }
    1101              : 
    1102              : tree
    1103         1366 : generic_simplify_224 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1104              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1105              :  const enum tree_code ARG_UNUSED (cmp),
    1106              :  const enum tree_code ARG_UNUSED (ocmp))
    1107              : {
    1108         1366 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1109         1366 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1110          374 :  && TREE_CODE (TREE_TYPE (captures[0])) != COMPLEX_TYPE
    1111         1718 :  && (VECTOR_TYPE_P (type) || !VECTOR_TYPE_P (TREE_TYPE (captures[0])))
    1112              : )
    1113              :     {
    1114          352 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail380;
    1115          352 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail380;
    1116          352 :       {
    1117          352 :         tree res_op0;
    1118          352 :         res_op0 = captures[0];
    1119          352 :         tree res_op1;
    1120          352 :         res_op1 = captures[1];
    1121          352 :         tree _r;
    1122          352 :         _r = fold_build2_loc (loc, ocmp, type, res_op0, res_op1);
    1123          352 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 293, __FILE__, __LINE__, true);
    1124          352 :         return _r;
    1125              :       }
    1126              : next_after_fail380:;
    1127              :     }
    1128              :   return NULL_TREE;
    1129              : }
    1130              : 
    1131              : tree
    1132            6 : generic_simplify_232 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1133              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1134              :  const enum tree_code ARG_UNUSED (cmp),
    1135              :  const enum tree_code ARG_UNUSED (icmp))
    1136              : {
    1137            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1138            6 :   {
    1139            6 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1140            6 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1141            6 :       if (c1 < c2
    1142              : )
    1143              :         {
    1144            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail390;
    1145            0 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail390;
    1146            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail390;
    1147            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail390;
    1148            0 :           {
    1149            0 :             tree _r;
    1150            0 :             _r =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
    1151            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1152            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1153            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 303, __FILE__, __LINE__, true);
    1154            0 :             return _r;
    1155              :           }
    1156              : next_after_fail390:;
    1157              :         }
    1158              :       else
    1159              :         {
    1160            6 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail391;
    1161            6 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail391;
    1162            6 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail391;
    1163            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail391;
    1164            6 :           {
    1165            6 :             tree res_op0;
    1166            6 :             res_op0 = captures[1];
    1167            6 :             tree res_op1;
    1168            6 :             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c1 - c2);
    1169            6 :             tree _r;
    1170            6 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1171            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 304, __FILE__, __LINE__, true);
    1172            6 :             return _r;
    1173              :           }
    1174              : next_after_fail391:;
    1175              :         }
    1176              :   }
    1177              :   return NULL_TREE;
    1178              : }
    1179              : 
    1180              : tree
    1181           14 : generic_simplify_242 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1182              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1183              :  const enum tree_code ARG_UNUSED (cmp),
    1184              :  const combined_fn ARG_UNUSED (bswap))
    1185              : {
    1186           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1187           14 :   {
    1188           14 :  tree ctype = TREE_TYPE (captures[0]);
    1189           14 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail410;
    1190           14 :       {
    1191           14 :         tree res_op0;
    1192           14 :         {
    1193           14 :           tree _o1[1], _r1;
    1194           14 :           _o1[0] = captures[1];
    1195           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1196              :             {
    1197            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1198              :             }
    1199              :           else
    1200              :             _r1 = _o1[0];
    1201           14 :           res_op0 = _r1;
    1202              :         }
    1203           14 :         tree res_op1;
    1204           14 :         {
    1205           14 :           tree _o1[1], _r1;
    1206           14 :           _o1[0] = captures[2];
    1207           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1208              :             {
    1209            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1210              :             }
    1211              :           else
    1212              :             _r1 = _o1[0];
    1213           14 :           res_op1 = _r1;
    1214              :         }
    1215           14 :         tree _r;
    1216           14 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1217           14 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 323, __FILE__, __LINE__, true);
    1218              :         return _r;
    1219              :       }
    1220            0 : next_after_fail410:;
    1221              :   }
    1222            0 :   return NULL_TREE;
    1223              : }
    1224              : 
    1225              : tree
    1226       133401 : generic_simplify_250 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1227              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1228              :  const enum tree_code ARG_UNUSED (cmp))
    1229              : {
    1230       133401 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1231       261992 :   if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1232       133667 :  || ! tree_expr_maybe_nan_p (captures[0])
    1233              : )
    1234              :     {
    1235       128399 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail423;
    1236       128399 :       {
    1237       128399 :         tree _r;
    1238       128399 :         _r =  constant_boolean_node (true, type);
    1239       128399 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1240            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1241       128399 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 335, __FILE__, __LINE__, true);
    1242       128399 :         return _r;
    1243              :       }
    1244            0 : next_after_fail423:;
    1245              :     }
    1246              :   else
    1247              :     {
    1248         5002 :       if (cmp != EQ_EXPR
    1249         5002 :  && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1250           79 :  || ! flag_trapping_math)
    1251              : )
    1252              :         {
    1253            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail424;
    1254            0 :           {
    1255            0 :             tree res_op0;
    1256            0 :             res_op0 = unshare_expr (captures[0]);
    1257            0 :             tree res_op1;
    1258            0 :             res_op1 = captures[0];
    1259            0 :             tree _r;
    1260            0 :             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1261            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 336, __FILE__, __LINE__, true);
    1262            0 :             return _r;
    1263              :           }
    1264            0 : next_after_fail424:;
    1265              :         }
    1266              :     }
    1267              :   return NULL_TREE;
    1268              : }
    1269              : 
    1270              : tree
    1271        19014 : generic_simplify_257 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1272              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1273              :  const enum tree_code ARG_UNUSED (cmp))
    1274              : {
    1275        19014 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1276        19014 :   if (flag_associative_math
    1277              : )
    1278              :     {
    1279           13 :       {
    1280           13 :  tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
    1281           13 :           if (tem && !TREE_OVERFLOW (tem)
    1282              : )
    1283              :             {
    1284           13 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail445;
    1285           13 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail445;
    1286           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail445;
    1287           13 :               {
    1288           13 :                 tree res_op0;
    1289           13 :                 res_op0 =  tem;
    1290           13 :                 tree res_op1;
    1291           13 :                 res_op1 = captures[1];
    1292           13 :                 tree _r;
    1293           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1294           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 356, __FILE__, __LINE__, true);
    1295           13 :                 return _r;
    1296              :               }
    1297              : next_after_fail445:;
    1298              :             }
    1299              :       }
    1300              :     }
    1301              :   return NULL_TREE;
    1302              : }
    1303              : 
    1304              : tree
    1305           59 : generic_simplify_263 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1306              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1307              :  const enum tree_code ARG_UNUSED (cmp),
    1308              :  const enum tree_code ARG_UNUSED (scmp))
    1309              : {
    1310           59 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1311           96 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1312           96 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1313           37 :  && (cmp == EQ_EXPR
    1314           37 :  || cmp == NE_EXPR
    1315           36 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1316              : )
    1317              :     {
    1318           23 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail478;
    1319           23 :       {
    1320           23 :         tree res_op0;
    1321           23 :         res_op0 = captures[0];
    1322           23 :         tree res_op1;
    1323           23 :         res_op1 = captures[1];
    1324           23 :         tree _r;
    1325           23 :         _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1326           23 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 389, __FILE__, __LINE__, true);
    1327           23 :         return _r;
    1328              :       }
    1329            0 : next_after_fail478:;
    1330              :     }
    1331              :   return NULL_TREE;
    1332              : }
    1333              : 
    1334              : tree
    1335     17593873 : generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1336              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1337              :  const enum tree_code ARG_UNUSED (cmp))
    1338              : {
    1339     17593873 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1340     34929005 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1341     11475716 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1342            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1343            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1344            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1345            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1346     17593873 :  && single_use (captures[0])
    1347              : )
    1348              :     {
    1349     11475716 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1350      4919333 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1351      1850245 :  || captures[2] != captures[3])
    1352      3069088 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1353              :  || cmp == NE_EXPR
    1354      1369425 :  || cmp == EQ_EXPR)
    1355      2149532 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1356     13593438 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1357         1646 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1358              : )
    1359              :         {
    1360      2117694 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1361              : )
    1362              :             {
    1363      2117694 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail487;
    1364      2117694 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail487;
    1365      2117694 :               {
    1366      2117694 :                 tree res_op0;
    1367      2117694 :                 res_op0 = captures[1];
    1368      2117694 :                 tree res_op1;
    1369      2117694 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1370      2117694 :  wide_int::from (wi::to_wide (captures[2]),
    1371      2117694 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1372              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1373      2117694 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1374      2117694 :  0, TREE_OVERFLOW (captures[2]));
    1375      2117694 :                 tree _r;
    1376      2117694 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1377      2117694 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 391, __FILE__, __LINE__, true);
    1378      2117694 :                 return _r;
    1379              :               }
    1380              : next_after_fail487:;
    1381              :             }
    1382              :           else
    1383              :             {
    1384            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail488;
    1385            0 :               {
    1386            0 :                 tree res_op0;
    1387            0 :                 res_op0 = captures[1];
    1388            0 :                 tree res_op1;
    1389            0 :                 {
    1390            0 :                   tree _o1[1], _r1;
    1391            0 :                   _o1[0] = captures[2];
    1392            0 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1393              :                     {
    1394            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1395              :                     }
    1396              :                   else
    1397              :                     _r1 = _o1[0];
    1398            0 :                   res_op1 = _r1;
    1399              :                 }
    1400            0 :                 tree _r;
    1401            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1402            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 392, __FILE__, __LINE__, true);
    1403            0 :                 return _r;
    1404              :               }
    1405            0 : next_after_fail488:;
    1406              :             }
    1407              :         }
    1408              :       else
    1409              :         {
    1410      9358022 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1411              : )
    1412              :             {
    1413      5609166 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1414      2933558 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1415       395760 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1416       312154 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1417      8459118 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1418      5525542 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1419      5525542 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1420            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1421            0 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1422      5525542 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1423      4430024 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1424      4430024 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1425              : )
    1426              :                 {
    1427      4396968 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail489;
    1428      4396968 :                   {
    1429      4396968 :                     tree res_op0;
    1430      4396968 :                     res_op0 = captures[1];
    1431      4396968 :                     tree res_op1;
    1432      4396968 :                     {
    1433      4396968 :                       tree _o1[1], _r1;
    1434      4396968 :                       _o1[0] = captures[3];
    1435      4396968 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1436              :                         {
    1437      4396950 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1438              :                         }
    1439              :                       else
    1440              :                         _r1 = _o1[0];
    1441      4396968 :                       res_op1 = _r1;
    1442              :                     }
    1443      4396968 :                     tree _r;
    1444      4396968 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1445      4396968 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 393, __FILE__, __LINE__, true);
    1446      4396968 :                     return _r;
    1447              :                   }
    1448            0 : next_after_fail489:;
    1449              :                 }
    1450              :               else
    1451              :                 {
    1452      1212198 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1453        81268 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1454      1293466 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1455              : )
    1456              :                     {
    1457        36533 :                       {
    1458        36533 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1459        36533 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1460        36533 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1461        36533 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1462        36533 :                           if (above || below
    1463              : )
    1464              :                             {
    1465        30433 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1466              : )
    1467              :                                 {
    1468        25871 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail490;
    1469        25871 :                                   {
    1470        25871 :                                     tree _r;
    1471        25871 :                                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    1472        25871 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1473           10 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1474        25871 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    1475            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1476        25871 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 394, __FILE__, __LINE__, true);
    1477        25871 :                                     return _r;
    1478              :                                   }
    1479            0 : next_after_fail490:;
    1480              :                                 }
    1481              :                               else
    1482              :                                 {
    1483         4562 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1484              : )
    1485              :                                     {
    1486         3886 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail491;
    1487         3886 :                                       {
    1488         3886 :                                         tree _r;
    1489         3886 :                                         _r =  constant_boolean_node (above ? true : false, type);
    1490         3886 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1491           10 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1492         3886 :                                         if (TREE_SIDE_EFFECTS (captures[2]))
    1493            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1494         3886 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1495         3886 :                                         return _r;
    1496              :                                       }
    1497            0 : next_after_fail491:;
    1498              :                                     }
    1499              :                                   else
    1500              :                                     {
    1501          676 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1502              : )
    1503              :                                         {
    1504          676 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail492;
    1505          676 :                                           {
    1506          676 :                                             tree _r;
    1507          930 :                                             _r =  constant_boolean_node (above ? false : true, type);
    1508          676 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1509            4 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1510          676 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    1511            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1512          676 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1513          676 :                                             return _r;
    1514              :                                           }
    1515            0 : next_after_fail492:;
    1516              :                                         }
    1517              :                                     }
    1518              :                                 }
    1519              :                             }
    1520              :                       }
    1521              :                     }
    1522              :                 }
    1523              :             }
    1524              :         }
    1525              :     }
    1526              :   else
    1527              :     {
    1528     11704926 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1529      1089774 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1530       544887 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1531      7207693 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1532       544768 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1533              : )
    1534              :         {
    1535       544768 :           {
    1536       544768 :  tree type1 = TREE_TYPE (captures[3]);
    1537       544768 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1538              :  {
    1539       342120 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1540       342120 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1541       342120 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1542       176561 :  type1 = float_type_node;
    1543       342120 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1544       342120 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1545          292 :  type1 = double_type_node;
    1546              :  }
    1547       544768 :  tree newtype
    1548       544768 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1549       544768 :  ? TREE_TYPE (captures[1]) : type1);
    1550       544768 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1551       544768 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1552              : )
    1553              :                 {
    1554        44486 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail493;
    1555        44486 :                   {
    1556        44486 :                     tree res_op0;
    1557        44486 :                     {
    1558        44486 :                       tree _o1[1], _r1;
    1559        44486 :                       _o1[0] = captures[1];
    1560        44486 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1561              :                         {
    1562        11436 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1563              :                         }
    1564              :                       else
    1565              :                         _r1 = _o1[0];
    1566        44486 :                       res_op0 = _r1;
    1567              :                     }
    1568        44486 :                     tree res_op1;
    1569        44486 :                     {
    1570        44486 :                       tree _o1[1], _r1;
    1571        44486 :                       _o1[0] = captures[3];
    1572        44486 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1573              :                         {
    1574        44486 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1575              :                         }
    1576              :                       else
    1577              :                         _r1 = _o1[0];
    1578        44486 :                       res_op1 = _r1;
    1579              :                     }
    1580        44486 :                     tree _r;
    1581        44486 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1582        44486 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1583        44486 :                     return _r;
    1584              :                   }
    1585            0 : next_after_fail493:;
    1586              :                 }
    1587              :           }
    1588              :         }
    1589              :     }
    1590              :   return NULL_TREE;
    1591              : }
    1592              : 
    1593              : tree
    1594            0 : generic_simplify_295 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1595              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1596              :  const enum tree_code ARG_UNUSED (op))
    1597              : {
    1598            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1599            0 :   {
    1600            0 :  HOST_WIDE_INT zero_val = tree_to_shwi (captures[2]);
    1601            0 :  tree type0 = TREE_TYPE (captures[1]);
    1602            0 :  int prec = TYPE_PRECISION (type0);
    1603            0 :       if (prec <= MAX_FIXED_MODE_SIZE
    1604              : )
    1605              :         {
    1606            0 :           if (tree_int_cst_sgn (captures[3]) < 0 || wi::to_widest (captures[3]) >= prec
    1607              : )
    1608              :             {
    1609            0 :               if (zero_val != wi::to_widest (captures[3])
    1610              : )
    1611              :                 {
    1612            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail555;
    1613            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail555;
    1614            0 :                   {
    1615            0 :                     tree _r;
    1616            0 :                     _r =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
    1617            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1618            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1619            0 :                     if (TREE_SIDE_EFFECTS (captures[3]))
    1620            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1621            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 449, __FILE__, __LINE__, true);
    1622            0 :                     return _r;
    1623              :                   }
    1624            0 : next_after_fail555:;
    1625              :                 }
    1626              :             }
    1627              :           else
    1628              :             {
    1629            0 :               if (zero_val < 0 || zero_val >= prec
    1630              : )
    1631              :                 {
    1632            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail556;
    1633            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail556;
    1634            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail556;
    1635            0 :                   {
    1636            0 :                     tree res_op0;
    1637            0 :                     {
    1638            0 :                       tree _o1[2], _r1;
    1639            0 :                       _o1[0] = captures[1];
    1640            0 :                       _o1[1] =  wide_int_to_tree (type0,
    1641            0 :  wi::mask (tree_to_uhwi (captures[3]) + 1,
    1642              :  false, prec));
    1643            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1644            0 :                       res_op0 = _r1;
    1645              :                     }
    1646            0 :                     tree res_op1;
    1647            0 :                     res_op1 =  wide_int_to_tree (type0,
    1648            0 :  wi::shifted_mask (tree_to_uhwi (captures[3]), 1,
    1649              :  false, prec));
    1650            0 :                     tree _r;
    1651            0 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1652            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 450, __FILE__, __LINE__, true);
    1653            0 :                     return _r;
    1654              :                   }
    1655            0 : next_after_fail556:;
    1656              :                 }
    1657              :             }
    1658              :         }
    1659              :   }
    1660            0 :   return NULL_TREE;
    1661              : }
    1662              : 
    1663              : tree
    1664            0 : generic_simplify_306 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1665              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1666              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1667              : {
    1668            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1669            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail570;
    1670            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail570;
    1671            0 :   {
    1672            0 :     tree _r;
    1673            0 :     _r = captures[1];
    1674            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 464, __FILE__, __LINE__, true);
    1675              :     return _r;
    1676              :   }
    1677              : next_after_fail570:;
    1678              :   return NULL_TREE;
    1679              : }
    1680              : 
    1681              : tree
    1682          892 : generic_simplify_313 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1683              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1684              :  const enum tree_code ARG_UNUSED (div))
    1685              : {
    1686          892 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1687         1784 :   if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
    1688          892 :  && !integer_zerop (captures[0])
    1689         1159 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1690              : )
    1691              :     {
    1692          111 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail579;
    1693          111 :       {
    1694          111 :         tree _r;
    1695          111 :         _r =  build_one_cst (type);
    1696          111 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1697            2 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1698          111 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 471, __FILE__, __LINE__, true);
    1699          111 :         return _r;
    1700              :       }
    1701            0 : next_after_fail579:;
    1702              :     }
    1703              :   return NULL_TREE;
    1704              : }
    1705              : 
    1706              : tree
    1707          192 : generic_simplify_319 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1708              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1709              :  const enum tree_code ARG_UNUSED (div))
    1710              : {
    1711          192 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1712          192 :   if (ANY_INTEGRAL_TYPE_P (type)
    1713              : )
    1714              :     {
    1715          192 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1716              : )
    1717              :         {
    1718          164 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail586;
    1719          164 :           {
    1720          164 :             tree _r;
    1721          164 :             _r = captures[1];
    1722          164 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1723            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1724          164 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 478, __FILE__, __LINE__, true);
    1725          164 :             return _r;
    1726              :           }
    1727            0 : next_after_fail586:;
    1728              :         }
    1729              :     }
    1730              :   return NULL_TREE;
    1731              : }
    1732              : 
    1733              : tree
    1734          919 : generic_simplify_322 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1735              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1736              :  const enum tree_code ARG_UNUSED (mod))
    1737              : {
    1738          919 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1739          919 :   if (!integer_zerop (captures[1])
    1740              : )
    1741              :     {
    1742          785 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail589;
    1743          785 :       {
    1744          785 :         tree _r;
    1745          785 :         _r = captures[0];
    1746          785 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1747           74 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1748          785 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 481, __FILE__, __LINE__, true);
    1749          785 :         return _r;
    1750              :       }
    1751            0 : next_after_fail589:;
    1752              :     }
    1753              :   return NULL_TREE;
    1754              : }
    1755              : 
    1756              : tree
    1757            0 : generic_simplify_330 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1758              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1759              : {
    1760            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1761            0 :   if (SCALAR_FLOAT_TYPE_P (type)
    1762            0 :  && ! HONOR_NANS (type)
    1763            0 :  && ! HONOR_INFINITIES (type)
    1764              : )
    1765              :     {
    1766            0 :       if (types_match (type, float_type_node)
    1767              : )
    1768              :         {
    1769            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail597;
    1770            0 :           {
    1771            0 :             tree res_op0;
    1772            0 :             res_op0 =  build_one_cst (type);
    1773            0 :             tree res_op1;
    1774            0 :             {
    1775            0 :               tree _o1[1], _r1;
    1776            0 :               _o1[0] = captures[0];
    1777            0 :               if (TREE_TYPE (_o1[0]) != type)
    1778              :                 {
    1779            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1780              :                 }
    1781              :               else
    1782              :                 _r1 = _o1[0];
    1783            0 :               res_op1 = _r1;
    1784              :             }
    1785            0 :             tree _r;
    1786            0 :             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNF, type, 2, res_op0, res_op1);
    1787            0 :             if (!_r)
    1788            0 :               goto next_after_fail597;
    1789            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 489, __FILE__, __LINE__, true);
    1790            0 :             return _r;
    1791              :           }
    1792              : next_after_fail597:;
    1793              :         }
    1794              :       else
    1795              :         {
    1796            0 :           if (types_match (type, double_type_node)
    1797              : )
    1798              :             {
    1799            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail598;
    1800            0 :               {
    1801            0 :                 tree res_op0;
    1802            0 :                 res_op0 =  build_one_cst (type);
    1803            0 :                 tree res_op1;
    1804            0 :                 {
    1805            0 :                   tree _o1[1], _r1;
    1806            0 :                   _o1[0] = captures[0];
    1807            0 :                   if (TREE_TYPE (_o1[0]) != type)
    1808              :                     {
    1809            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1810              :                     }
    1811              :                   else
    1812              :                     _r1 = _o1[0];
    1813            0 :                   res_op1 = _r1;
    1814              :                 }
    1815            0 :                 tree _r;
    1816            0 :                 _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGN, type, 2, res_op0, res_op1);
    1817            0 :                 if (!_r)
    1818            0 :                   goto next_after_fail598;
    1819            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 490, __FILE__, __LINE__, true);
    1820            0 :                 return _r;
    1821              :               }
    1822              : next_after_fail598:;
    1823              :             }
    1824              :           else
    1825              :             {
    1826            0 :               if (types_match (type, long_double_type_node)
    1827              : )
    1828              :                 {
    1829            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail599;
    1830            0 :                   {
    1831            0 :                     tree res_op0;
    1832            0 :                     res_op0 =  build_one_cst (type);
    1833            0 :                     tree res_op1;
    1834            0 :                     {
    1835            0 :                       tree _o1[1], _r1;
    1836            0 :                       _o1[0] = captures[0];
    1837            0 :                       if (TREE_TYPE (_o1[0]) != type)
    1838              :                         {
    1839            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1840              :                         }
    1841              :                       else
    1842              :                         _r1 = _o1[0];
    1843            0 :                       res_op1 = _r1;
    1844              :                     }
    1845            0 :                     tree _r;
    1846            0 :                     _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNL, type, 2, res_op0, res_op1);
    1847            0 :                     if (!_r)
    1848            0 :                       goto next_after_fail599;
    1849            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 491, __FILE__, __LINE__, true);
    1850            0 :                     return _r;
    1851              :                   }
    1852              : next_after_fail599:;
    1853              :                 }
    1854              :             }
    1855              :         }
    1856              :     }
    1857              :   return NULL_TREE;
    1858              : }
    1859              : 
    1860              : tree
    1861            3 : generic_simplify_350 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1862              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1863              :  const enum tree_code ARG_UNUSED (op))
    1864              : {
    1865            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1866            3 :   if (INTEGRAL_TYPE_P (type)
    1867            3 :  && TYPE_PRECISION (type) > 1
    1868            3 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1869            6 :  && expr_no_side_effects_p (captures[2])
    1870              : )
    1871              :     {
    1872            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail625;
    1873            3 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail625;
    1874            3 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail625;
    1875            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail625;
    1876            3 :       {
    1877            3 :         tree res_op0;
    1878            3 :         {
    1879            3 :           tree _o1[2], _r1;
    1880            3 :           {
    1881            3 :             tree _o2[1], _r2;
    1882            3 :             _o2[0] = captures[0];
    1883            3 :             if (TREE_TYPE (_o2[0]) != type)
    1884              :               {
    1885            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1886              :               }
    1887              :             else
    1888              :               _r2 = _o2[0];
    1889            3 :             _o1[0] = _r2;
    1890              :           }
    1891            3 :           _o1[1] = captures[2];
    1892            3 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1893            3 :           res_op0 = _r1;
    1894              :         }
    1895            3 :         tree res_op1;
    1896            3 :         res_op1 = captures[1];
    1897            3 :         tree _r;
    1898            3 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1899            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 517, __FILE__, __LINE__, true);
    1900            3 :         return _r;
    1901              :       }
    1902              : next_after_fail625:;
    1903              :     }
    1904              :   return NULL_TREE;
    1905              : }
    1906              : 
    1907              : tree
    1908            0 : generic_simplify_361 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1910              : {
    1911            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1912            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail636;
    1913            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail636;
    1914            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail636;
    1915            0 :   {
    1916            0 :     tree _r;
    1917            0 :     _r = captures[2];
    1918            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 528, __FILE__, __LINE__, true);
    1919              :     return _r;
    1920              :   }
    1921              : next_after_fail636:;
    1922              :   return NULL_TREE;
    1923              : }
    1924              : 
    1925              : tree
    1926            9 : generic_simplify_367 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1927              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1928              :  const combined_fn ARG_UNUSED (func))
    1929              : {
    1930            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1931            9 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail643;
    1932            9 :   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail643;
    1933            9 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail643;
    1934            9 :   {
    1935            9 :     tree _r;
    1936            9 :     _r = captures[2];
    1937            9 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1938            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1939            9 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 535, __FILE__, __LINE__, true);
    1940              :     return _r;
    1941              :   }
    1942              : next_after_fail643:;
    1943              :   return NULL_TREE;
    1944              : }
    1945              : 
    1946              : tree
    1947          100 : generic_simplify_375 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1948              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1949              :  const enum tree_code ARG_UNUSED (cmp))
    1950              : {
    1951          100 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1952          100 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1953              : )
    1954              :     {
    1955            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail654;
    1956            0 :       {
    1957            0 :         tree _r;
    1958            0 :         _r =  constant_boolean_node (cmp == LT_EXPR, type);
    1959            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1960            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1961            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1962            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1963            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 544, __FILE__, __LINE__, true);
    1964            0 :         return _r;
    1965              :       }
    1966            0 : next_after_fail654:;
    1967              :     }
    1968              :   return NULL_TREE;
    1969              : }
    1970              : 
    1971              : tree
    1972          435 : generic_simplify_381 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1973              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1974              :  const enum tree_code ARG_UNUSED (op))
    1975              : {
    1976          435 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1977          870 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1978          870 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1979              : )
    1980              :     {
    1981            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail661;
    1982            0 :       {
    1983            0 :         tree res_op0;
    1984            0 :         res_op0 = captures[2];
    1985            0 :         tree res_op1;
    1986            0 :         res_op1 = captures[1];
    1987            0 :         tree _r;
    1988            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1989            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1990            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1991            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 551, __FILE__, __LINE__, true);
    1992            0 :         return _r;
    1993              :       }
    1994            0 : next_after_fail661:;
    1995              :     }
    1996              :   return NULL_TREE;
    1997              : }
    1998              : 
    1999              : tree
    2000           64 : generic_simplify_386 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2001              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2002              :  const enum tree_code ARG_UNUSED (minmax),
    2003              :  const enum tree_code ARG_UNUSED (cmp),
    2004              :  const enum tree_code ARG_UNUSED (comb))
    2005              : {
    2006           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2007           64 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail667;
    2008           64 :   {
    2009           64 :     if (! tree_invariant_p (captures[2])) goto next_after_fail667;
    2010           64 :     tree res_op0;
    2011           64 :     {
    2012           64 :       tree _o1[2], _r1;
    2013           64 :       _o1[0] = captures[0];
    2014           64 :       _o1[1] = unshare_expr (captures[2]);
    2015           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2016           64 :       res_op0 = _r1;
    2017              :     }
    2018           64 :     tree res_op1;
    2019           64 :     {
    2020           64 :       tree _o1[2], _r1;
    2021           64 :       _o1[0] = captures[1];
    2022           64 :       _o1[1] = captures[2];
    2023           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2024           64 :       res_op1 = _r1;
    2025              :     }
    2026           64 :     tree _r;
    2027           64 :     _r = fold_build2_loc (loc, comb, type, res_op0, res_op1);
    2028           64 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 557, __FILE__, __LINE__, true);
    2029              :     return _r;
    2030              :   }
    2031              : next_after_fail667:;
    2032              :   return NULL_TREE;
    2033              : }
    2034              : 
    2035              : tree
    2036            0 : generic_simplify_397 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2037              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2038              :  const enum tree_code ARG_UNUSED (cmp),
    2039              :  const enum tree_code ARG_UNUSED (out))
    2040              : {
    2041            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2042            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2043            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2044              : )
    2045              :     {
    2046            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail710;
    2047            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail710;
    2048            0 :       {
    2049            0 :         tree res_op0;
    2050            0 :         {
    2051            0 :           tree _o1[1], _r1;
    2052            0 :           _o1[0] = captures[0];
    2053            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2054            0 :           res_op0 = _r1;
    2055              :         }
    2056            0 :         tree res_op1;
    2057            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2058            0 :         tree _r;
    2059            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2060            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 583, __FILE__, __LINE__, true);
    2061            0 :         return _r;
    2062              :       }
    2063              : next_after_fail710:;
    2064              :     }
    2065              :   return NULL_TREE;
    2066              : }
    2067              : 
    2068              : tree
    2069       744450 : generic_simplify_404 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2070              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2071              :  const enum tree_code ARG_UNUSED (cmp),
    2072              :  const enum tree_code ARG_UNUSED (icmp))
    2073              : {
    2074       744450 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2075      1486358 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2076       744450 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2077       331913 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > 1
    2078      1820813 :  && (wi::to_wide (captures[2])
    2079      1740189 :  == wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[0])), SIGNED) - 1)
    2080              : )
    2081              :     {
    2082         5179 :       {
    2083         5179 :  tree stype = signed_type_for (TREE_TYPE (captures[0]));
    2084         5179 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail724;
    2085         5179 :           {
    2086         5179 :             tree res_op0;
    2087         5179 :             {
    2088         5179 :               tree _o1[1], _r1;
    2089         5179 :               _o1[0] = captures[0];
    2090         5179 :               if (TREE_TYPE (_o1[0]) != stype)
    2091              :                 {
    2092         5179 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    2093              :                 }
    2094              :               else
    2095              :                 _r1 = _o1[0];
    2096         5179 :               res_op0 = _r1;
    2097              :             }
    2098         5179 :             tree res_op1;
    2099         5179 :             res_op1 =  build_int_cst (stype, 0);
    2100         5179 :             tree _r;
    2101         5179 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    2102         5179 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2103            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2104         5179 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2105            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2106         5179 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 597, __FILE__, __LINE__, true);
    2107         5179 :             return _r;
    2108              :           }
    2109            0 : next_after_fail724:;
    2110              :       }
    2111              :     }
    2112              :   return NULL_TREE;
    2113              : }
    2114              : 
    2115              : tree
    2116            0 : generic_simplify_410 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2117              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2118              :  const enum tree_code ARG_UNUSED (cmp),
    2119              :  const enum tree_code ARG_UNUSED (out))
    2120              : {
    2121            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2122            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2123              : )
    2124              :     {
    2125            0 :       {
    2126            0 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2127            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail730;
    2128            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail730;
    2129            0 :           {
    2130            0 :             tree res_op0;
    2131            0 :             {
    2132            0 :               tree _o1[1], _r1;
    2133            0 :               {
    2134            0 :                 tree _o2[2], _r2;
    2135            0 :                 _o2[0] = captures[2];
    2136            0 :                 _o2[1] = captures[1];
    2137            0 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2138            0 :                 if (!_r2)
    2139            0 :                   goto next_after_fail730;
    2140            0 :                 _o1[0] = _r2;
    2141              :               }
    2142            0 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2143            0 :               res_op0 = _r1;
    2144              :             }
    2145            0 :             tree res_op1;
    2146            0 :             res_op1 =  build_zero_cst (t);
    2147            0 :             tree _r;
    2148            0 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2149            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 585, __FILE__, __LINE__, true);
    2150            0 :             return _r;
    2151              :           }
    2152              : next_after_fail730:;
    2153              :       }
    2154              :     }
    2155              :   return NULL_TREE;
    2156              : }
    2157              : 
    2158              : tree
    2159      1607874 : generic_simplify_416 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2160              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2161              :  const enum tree_code ARG_UNUSED (shift))
    2162              : {
    2163      1607874 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2164      1607874 :   if ((
    2165              : 
    2166      1607874 :  || !sanitize_flags_p (SANITIZE_SHIFT_EXPONENT))
    2167      1605933 :  && (TYPE_UNSIGNED (type)
    2168       384150 :  || shift == LSHIFT_EXPR
    2169       189860 :  || tree_expr_nonnegative_p (captures[0]))
    2170      3025935 :  && wi::ges_p (wi::to_wide (uniform_integer_cst_p (captures[1])),
    2171      3024713 :  element_precision (type))
    2172              : )
    2173              :     {
    2174         1222 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail740;
    2175         1222 :       {
    2176         1222 :         tree _r;
    2177         1222 :         _r =  build_zero_cst (type);
    2178         1222 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2179            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2180         1222 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2181            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2182         1222 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 609, __FILE__, __LINE__, true);
    2183         1222 :         return _r;
    2184              :       }
    2185            0 : next_after_fail740:;
    2186              :     }
    2187              :   return NULL_TREE;
    2188              : }
    2189              : 
    2190              : tree
    2191           67 : generic_simplify_425 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2192              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2193              : {
    2194           67 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2195           67 :   if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
    2196              : )
    2197              :     {
    2198           67 :       if (TYPE_UNSIGNED (type)
    2199              : )
    2200              :         {
    2201            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail752;
    2202            2 :           {
    2203            2 :             tree res_op0;
    2204            2 :             {
    2205            2 :               tree _o1[1], _r1;
    2206            2 :               _o1[0] = captures[0];
    2207            2 :               if (TREE_TYPE (_o1[0]) != type)
    2208              :                 {
    2209            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2210              :                 }
    2211              :               else
    2212              :                 _r1 = _o1[0];
    2213            2 :               res_op0 = _r1;
    2214              :             }
    2215            2 :             tree res_op1;
    2216            2 :             {
    2217            2 :               tree _o1[2], _r1;
    2218            2 :               _o1[0] =  build_minus_one_cst (type);
    2219            2 :               _o1[1] = captures[1];
    2220            2 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2221            2 :               res_op1 = _r1;
    2222              :             }
    2223            2 :             tree _r;
    2224            2 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2225            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 619, __FILE__, __LINE__, true);
    2226            2 :             return _r;
    2227              :           }
    2228            0 : next_after_fail752:;
    2229              :         }
    2230              :       else
    2231              :         {
    2232           65 :           if (INTEGRAL_TYPE_P (type)
    2233              : )
    2234              :             {
    2235           65 :               {
    2236           65 :  int width = element_precision (type) - tree_to_uhwi (captures[1]);
    2237           65 :  tree stype = NULL_TREE;
    2238          130 :  if (width <= MAX_FIXED_MODE_SIZE)
    2239           65 :  stype = build_nonstandard_integer_type (width, 0);
    2240           65 :                   if (stype && (width == 1 || type_has_mode_precision_p (stype))
    2241              : )
    2242              :                     {
    2243           25 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail753;
    2244           25 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail753;
    2245           25 :                       {
    2246           25 :                         tree res_op0;
    2247           25 :                         {
    2248           25 :                           tree _o1[1], _r1;
    2249           25 :                           _o1[0] = captures[0];
    2250           25 :                           if (TREE_TYPE (_o1[0]) != stype)
    2251              :                             {
    2252           25 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    2253              :                             }
    2254              :                           else
    2255              :                             _r1 = _o1[0];
    2256           25 :                           res_op0 = _r1;
    2257              :                         }
    2258           25 :                         tree _r;
    2259           25 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2260           25 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 620, __FILE__, __LINE__, true);
    2261           25 :                         return _r;
    2262              :                       }
    2263              : next_after_fail753:;
    2264              :                     }
    2265              :               }
    2266              :             }
    2267              :         }
    2268              :     }
    2269              :   return NULL_TREE;
    2270              : }
    2271              : 
    2272              : tree
    2273      8904295 : generic_simplify_432 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2274              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2275              :  const enum tree_code ARG_UNUSED (op))
    2276              : {
    2277      8904295 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2278      8904295 :   if (INTEGRAL_TYPE_P (type)
    2279      8047536 :  && op != MULT_EXPR
    2280      8047536 :  && op != RDIV_EXPR
    2281      3998255 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2282      3595018 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2283      3595018 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2284      3545912 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2285      3545904 :  && type_has_mode_precision_p (type)
    2286      3537383 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2287      1133354 :  && types_match (captures[2], type)
    2288      8917904 :  && (types_match (captures[2], captures[4])
    2289        13609 :  || poly_int_tree_p (captures[3]))
    2290              : )
    2291              :     {
    2292        10954 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2293              : )
    2294              :         {
    2295         6017 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail768;
    2296         6017 :           {
    2297         6017 :             tree res_op0;
    2298         6017 :             res_op0 = captures[2];
    2299         6017 :             tree res_op1;
    2300         6017 :             {
    2301         6017 :               tree _o1[1], _r1;
    2302         6017 :               _o1[0] = captures[4];
    2303         6017 :               if (TREE_TYPE (_o1[0]) != type)
    2304              :                 {
    2305         6017 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2306              :                 }
    2307              :               else
    2308              :                 _r1 = _o1[0];
    2309         6017 :               res_op1 = _r1;
    2310              :             }
    2311         6017 :             tree _r;
    2312         6017 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2313         6017 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 631, __FILE__, __LINE__, true);
    2314         6017 :             return _r;
    2315              :           }
    2316            0 : next_after_fail768:;
    2317              :         }
    2318              :       else
    2319              :         {
    2320         4937 :           {
    2321         4937 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2322         4937 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail769;
    2323         4937 :               {
    2324         4937 :                 tree res_op0;
    2325         4937 :                 {
    2326         4937 :                   tree _o1[2], _r1;
    2327         4937 :                   {
    2328         4937 :                     tree _o2[1], _r2;
    2329         4937 :                     _o2[0] = captures[2];
    2330         4937 :                     if (TREE_TYPE (_o2[0]) != utype)
    2331              :                       {
    2332         4937 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2333              :                       }
    2334              :                     else
    2335              :                       _r2 = _o2[0];
    2336         4937 :                     _o1[0] = _r2;
    2337              :                   }
    2338         4937 :                   {
    2339         4937 :                     tree _o2[1], _r2;
    2340         4937 :                     _o2[0] = captures[4];
    2341         4937 :                     if (TREE_TYPE (_o2[0]) != utype)
    2342              :                       {
    2343         4937 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2344              :                       }
    2345              :                     else
    2346              :                       _r2 = _o2[0];
    2347         4937 :                     _o1[1] = _r2;
    2348              :                   }
    2349         4937 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2350         4937 :                   res_op0 = _r1;
    2351              :                 }
    2352         4937 :                 tree _r;
    2353         4937 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2354         4937 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 632, __FILE__, __LINE__, true);
    2355         4937 :                 return _r;
    2356              :               }
    2357            0 : next_after_fail769:;
    2358              :           }
    2359              :         }
    2360              :     }
    2361              :   else
    2362              :     {
    2363      8861266 :       if (FLOAT_TYPE_P (type)
    2364      8925416 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2365        32075 :  == DECIMAL_FLOAT_TYPE_P (type)
    2366              : )
    2367              :         {
    2368        32049 :           {
    2369        32049 :  tree arg0 = strip_float_extensions (captures[2]);
    2370        32049 :  tree arg1 = strip_float_extensions (captures[4]);
    2371        32049 :  tree itype = TREE_TYPE (captures[0]);
    2372        32049 :  tree ty1 = TREE_TYPE (arg0);
    2373        32049 :  tree ty2 = TREE_TYPE (arg1);
    2374        32049 :  enum tree_code code = TREE_CODE (itype);
    2375            0 :               if (FLOAT_TYPE_P (ty1)
    2376        32049 :  && FLOAT_TYPE_P (ty2)
    2377              : )
    2378              :                 {
    2379        32049 :                   {
    2380        32049 :  tree newtype = type;
    2381        32049 :  if (TYPE_MODE (ty1) == SDmode
    2382        31787 :  || TYPE_MODE (ty2) == SDmode
    2383        63836 :  || TYPE_MODE (type) == SDmode)
    2384          262 :  newtype = dfloat32_type_node;
    2385        32049 :  if (TYPE_MODE (ty1) == DDmode
    2386        31917 :  || TYPE_MODE (ty2) == DDmode
    2387        63839 :  || TYPE_MODE (type) == DDmode)
    2388          259 :  newtype = dfloat64_type_node;
    2389        32049 :  if (TYPE_MODE (ty1) == TDmode
    2390        32049 :  || TYPE_MODE (ty2) == TDmode
    2391        63846 :  || TYPE_MODE (type) == TDmode)
    2392          267 :  newtype = dfloat128_type_node;
    2393        32049 :                       if ((newtype == dfloat32_type_node
    2394        32049 :  || newtype == dfloat64_type_node
    2395        31922 :  || newtype == dfloat128_type_node)
    2396          394 :  && newtype == type
    2397        32055 :  && types_match (newtype, type)
    2398              : )
    2399              :                         {
    2400            6 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail770;
    2401            0 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail770;
    2402            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail770;
    2403            0 :                           {
    2404            0 :                             tree res_op0;
    2405            0 :                             {
    2406            0 :                               tree _o1[1], _r1;
    2407            0 :                               _o1[0] = captures[2];
    2408            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2409              :                                 {
    2410            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2411              :                                 }
    2412              :                               else
    2413              :                                 _r1 = _o1[0];
    2414            0 :                               res_op0 = _r1;
    2415              :                             }
    2416            0 :                             tree res_op1;
    2417            0 :                             {
    2418            0 :                               tree _o1[1], _r1;
    2419            0 :                               _o1[0] = captures[4];
    2420            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2421              :                                 {
    2422            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2423              :                                 }
    2424              :                               else
    2425              :                                 _r1 = _o1[0];
    2426            0 :                               res_op1 = _r1;
    2427              :                             }
    2428            0 :                             tree _r;
    2429            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2430            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 633, __FILE__, __LINE__, true);
    2431            0 :                             return _r;
    2432              :                           }
    2433              : next_after_fail770:;
    2434              :                         }
    2435              :                       else
    2436              :                         {
    2437        32043 :                           {
    2438        32043 :  if (element_precision (ty1) > element_precision (newtype))
    2439           14 :  newtype = ty1;
    2440        32043 :  if (element_precision (ty2) > element_precision (newtype))
    2441         4034 :  newtype = ty2;
    2442        32043 :                               if (element_precision (newtype) < element_precision (itype)
    2443        15259 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2444            0 :  || target_supports_op_p (newtype, op, optab_default))
    2445        15259 :  && (flag_unsafe_math_optimizations
    2446        15234 :  || (element_precision (newtype) == element_precision (type)
    2447        15210 :  && real_can_shorten_arithmetic (element_mode (itype),
    2448              :  element_mode (type))
    2449         6609 :  && !excess_precision_type (newtype)))
    2450        35310 :  && !types_match (itype, newtype)
    2451              : )
    2452              :                                 {
    2453         3267 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail771;
    2454         3266 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail771;
    2455         3258 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail771;
    2456         3258 :                                   {
    2457         3258 :                                     tree res_op0;
    2458         3258 :                                     {
    2459         3258 :                                       tree _o1[2], _r1;
    2460         3258 :                                       {
    2461         3258 :                                         tree _o2[1], _r2;
    2462         3258 :                                         _o2[0] = captures[2];
    2463         3258 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2464              :                                           {
    2465            3 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2466              :                                           }
    2467              :                                         else
    2468              :                                           _r2 = _o2[0];
    2469         3258 :                                         _o1[0] = _r2;
    2470              :                                       }
    2471         3258 :                                       {
    2472         3258 :                                         tree _o2[1], _r2;
    2473         3258 :                                         _o2[0] = captures[4];
    2474         3258 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2475              :                                           {
    2476         3258 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2477              :                                           }
    2478              :                                         else
    2479              :                                           _r2 = _o2[0];
    2480         3258 :                                         _o1[1] = _r2;
    2481              :                                       }
    2482         3258 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2483         3258 :                                       res_op0 = _r1;
    2484              :                                     }
    2485         3258 :                                     tree _r;
    2486         3258 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2487         3258 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 634, __FILE__, __LINE__, true);
    2488         3258 :                                     return _r;
    2489              :                                   }
    2490              : next_after_fail771:;
    2491              :                                 }
    2492              :                           }
    2493              :                         }
    2494              :                   }
    2495              :                 }
    2496              :           }
    2497              :         }
    2498              :     }
    2499              :   return NULL_TREE;
    2500              : }
    2501              : 
    2502              : tree
    2503            2 : generic_simplify_463 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2504              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2505              : {
    2506            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2507            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail808;
    2508            2 :   {
    2509            2 :     tree res_op0;
    2510            2 :     {
    2511            2 :       tree _o1[2], _r1;
    2512            2 :       _o1[0] = captures[1];
    2513            2 :       _o1[1] = captures[2];
    2514            2 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2515            2 :       res_op0 = _r1;
    2516              :     }
    2517            2 :     tree _r;
    2518            2 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2519            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 662, __FILE__, __LINE__, true);
    2520              :     return _r;
    2521              :   }
    2522            0 : next_after_fail808:;
    2523            0 :   return NULL_TREE;
    2524              : }
    2525              : 
    2526              : tree
    2527            8 : generic_simplify_469 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2528              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2529              :  const enum tree_code ARG_UNUSED (eqne))
    2530              : {
    2531            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2532            8 :   if (eqne == EQ_EXPR
    2533              : )
    2534              :     {
    2535            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail814;
    2536            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail814;
    2537            4 :       {
    2538            4 :         tree _r;
    2539            4 :         _r =  constant_boolean_node (false, type);
    2540            4 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2541            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2542            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 667, __FILE__, __LINE__, true);
    2543            4 :         return _r;
    2544              :       }
    2545              : next_after_fail814:;
    2546              :     }
    2547              :   else
    2548              :     {
    2549            4 :       if (eqne == NE_EXPR
    2550              : )
    2551              :         {
    2552            4 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail815;
    2553            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail815;
    2554            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail815;
    2555            4 :           {
    2556            4 :             tree _r;
    2557            4 :             _r = captures[0];
    2558            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
    2559            4 :             return _r;
    2560              :           }
    2561              : next_after_fail815:;
    2562              :         }
    2563              :     }
    2564              :   return NULL_TREE;
    2565              : }
    2566              : 
    2567              : tree
    2568          213 : generic_simplify_479 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2569              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2570              :  const enum tree_code ARG_UNUSED (code2),
    2571              :  const enum tree_code ARG_UNUSED (code1))
    2572              : {
    2573          213 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2574          213 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2575            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2576          213 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2577            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2578            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2579            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2580          207 :  && bitwise_equal_p (captures[2], captures[5]))
    2581              : )
    2582              :     {
    2583            6 :       {
    2584            6 :  bool one_before = false;
    2585            6 :  bool one_after = false;
    2586            6 :  int cmp = 0;
    2587            6 :  bool allbits = true;
    2588            6 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2589            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2590              :  {
    2591            6 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2592            6 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2593            6 :  auto t2 = wi::to_wide (captures[5]);
    2594            6 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2595            6 :  if (cmp < 0
    2596            6 :  && t1 == t2 - 1)
    2597              :  one_before = true;
    2598            6 :  if (cmp > 0
    2599            6 :  && t1 == t2 + 1)
    2600              :  one_after = true;
    2601              :  }
    2602            6 :  bool val;
    2603            6 :  switch (code2)
    2604              :  {
    2605            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2606            2 :  case NE_EXPR: val = (cmp != 0); break;
    2607            0 :  case LT_EXPR: val = (cmp < 0); break;
    2608            4 :  case GT_EXPR: val = (cmp > 0); break;
    2609            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2610            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2611            0 :  default: gcc_unreachable ();
    2612              :  }
    2613            6 :           if (code1 == EQ_EXPR && val
    2614              : )
    2615              :             {
    2616            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail852;
    2617            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail852;
    2618            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail852;
    2619            0 :               {
    2620            0 :                 tree _r;
    2621            0 :                 _r = captures[0];
    2622            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
    2623            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2624            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
    2625            0 :                 return _r;
    2626              :               }
    2627              : next_after_fail852:;
    2628              :             }
    2629              :           else
    2630              :             {
    2631            6 :               if (code1 == EQ_EXPR && !val
    2632              : )
    2633              :                 {
    2634            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail853;
    2635            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail853;
    2636            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail853;
    2637            0 :                   {
    2638            0 :                     tree _r;
    2639            0 :                     _r =  constant_boolean_node (false, type);
    2640            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    2641            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2642            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
    2643            0 :                     return _r;
    2644              :                   }
    2645              : next_after_fail853:;
    2646              :                 }
    2647              :               else
    2648              :                 {
    2649            6 :                   if (code1 == NE_EXPR && !val && allbits
    2650              : )
    2651              :                     {
    2652            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail854;
    2653            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail854;
    2654            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail854;
    2655            0 :                       {
    2656            0 :                         tree _r;
    2657            0 :                         _r = captures[3];
    2658            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2659            0 :                         return _r;
    2660              :                       }
    2661              : next_after_fail854:;
    2662              :                     }
    2663              :                   else
    2664              :                     {
    2665            6 :                       if ((code1 == NE_EXPR
    2666            6 :  && code2 == GE_EXPR
    2667            0 :  && cmp == 0
    2668            0 :  && allbits)
    2669            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2670            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2671            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2672              : )
    2673              :                         {
    2674            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail855;
    2675            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail855;
    2676            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail855;
    2677            0 :                           {
    2678            0 :                             tree res_op0;
    2679            0 :                             res_op0 = captures[4];
    2680            0 :                             tree res_op1;
    2681            0 :                             {
    2682            0 :                               tree _o1[1], _r1;
    2683            0 :                               _o1[0] = captures[2];
    2684            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2685              :                                 {
    2686            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2687              :                                 }
    2688              :                               else
    2689              :                                 _r1 = _o1[0];
    2690            0 :                               res_op1 = _r1;
    2691              :                             }
    2692            0 :                             tree _r;
    2693            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2694            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2695            0 :                             return _r;
    2696              :                           }
    2697              : next_after_fail855:;
    2698              :                         }
    2699              :                       else
    2700              :                         {
    2701            6 :                           if ((code1 == NE_EXPR
    2702            6 :  && code2 == LE_EXPR
    2703            0 :  && cmp == 0
    2704            0 :  && allbits)
    2705            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2706            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2707            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2708              : )
    2709              :                             {
    2710            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail856;
    2711            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail856;
    2712            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail856;
    2713            0 :                               {
    2714            0 :                                 tree res_op0;
    2715            0 :                                 res_op0 = captures[4];
    2716            0 :                                 tree res_op1;
    2717            0 :                                 {
    2718            0 :                                   tree _o1[1], _r1;
    2719            0 :                                   _o1[0] = captures[2];
    2720            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2721              :                                     {
    2722            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2723              :                                     }
    2724              :                                   else
    2725              :                                     _r1 = _o1[0];
    2726            0 :                                   res_op1 = _r1;
    2727              :                                 }
    2728            0 :                                 tree _r;
    2729            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2730            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 675, __FILE__, __LINE__, true);
    2731            0 :                                 return _r;
    2732              :                               }
    2733              : next_after_fail856:;
    2734              :                             }
    2735              :                           else
    2736              :                             {
    2737            6 :                               if ((code1 == NE_EXPR
    2738            6 :  && code2 == GT_EXPR
    2739              :  && one_after
    2740            4 :  && allbits)
    2741            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2742            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2743            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2744              : )
    2745              :                                 {
    2746            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail857;
    2747            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail857;
    2748            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail857;
    2749            0 :                                   {
    2750            0 :                                     tree res_op0;
    2751            0 :                                     res_op0 = captures[4];
    2752            0 :                                     tree res_op1;
    2753            0 :                                     {
    2754            0 :                                       tree _o1[1], _r1;
    2755            0 :                                       _o1[0] = captures[2];
    2756            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2757              :                                         {
    2758            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2759              :                                         }
    2760              :                                       else
    2761              :                                         _r1 = _o1[0];
    2762            0 :                                       res_op1 = _r1;
    2763              :                                     }
    2764            0 :                                     tree _r;
    2765            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2766            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2767            0 :                                     return _r;
    2768              :                                   }
    2769              : next_after_fail857:;
    2770              :                                 }
    2771              :                               else
    2772              :                                 {
    2773            6 :                                   if ((code1 == NE_EXPR
    2774            6 :  && code2 == LT_EXPR
    2775              :  && one_before
    2776            0 :  && allbits)
    2777            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2778            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2779            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2780              : )
    2781              :                                     {
    2782            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail858;
    2783            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail858;
    2784            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail858;
    2785            0 :                                       {
    2786            0 :                                         tree res_op0;
    2787            0 :                                         res_op0 = captures[4];
    2788            0 :                                         tree res_op1;
    2789            0 :                                         {
    2790            0 :                                           tree _o1[1], _r1;
    2791            0 :                                           _o1[0] = captures[2];
    2792            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2793              :                                             {
    2794            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2795              :                                             }
    2796              :                                           else
    2797              :                                             _r1 = _o1[0];
    2798            0 :                                           res_op1 = _r1;
    2799              :                                         }
    2800            0 :                                         tree _r;
    2801            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2802            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2803            0 :                                         return _r;
    2804              :                                       }
    2805              : next_after_fail858:;
    2806              :                                     }
    2807              :                                 }
    2808              :                             }
    2809              :                         }
    2810              :                     }
    2811              :                 }
    2812              :             }
    2813              :       }
    2814              :     }
    2815              :   return NULL_TREE;
    2816              : }
    2817              : 
    2818              : tree
    2819          147 : generic_simplify_512 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2820              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2821              : {
    2822          147 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2823          147 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail902;
    2824          147 :   {
    2825          147 :     tree res_op0;
    2826          147 :     {
    2827          147 :       tree _o1[1], _r1;
    2828          147 :       _o1[0] = captures[0];
    2829          147 :       if (TREE_TYPE (_o1[0]) != type)
    2830              :         {
    2831            0 :           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2832              :         }
    2833              :       else
    2834              :         _r1 = _o1[0];
    2835          147 :       res_op0 = _r1;
    2836              :     }
    2837          147 :     tree res_op1;
    2838          147 :     res_op1 =  build_each_one_cst (type);
    2839          147 :     tree _r;
    2840          147 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2841          147 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
    2842              :     return _r;
    2843              :   }
    2844            0 : next_after_fail902:;
    2845            0 :   return NULL_TREE;
    2846              : }
    2847              : 
    2848              : tree
    2849            0 : generic_simplify_519 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2850              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2851              :  const enum tree_code ARG_UNUSED (minmax))
    2852              : {
    2853            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2854            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail910;
    2855            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail910;
    2856            0 :   {
    2857            0 :     tree _r;
    2858            0 :     _r = captures[0];
    2859            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 722, __FILE__, __LINE__, true);
    2860              :     return _r;
    2861              :   }
    2862              : next_after_fail910:;
    2863              :   return NULL_TREE;
    2864              : }
    2865              : 
    2866              : tree
    2867            0 : generic_simplify_527 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2868              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2869              :  const enum tree_code ARG_UNUSED (minmax),
    2870              :  const enum tree_code ARG_UNUSED (cmp))
    2871              : {
    2872            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2873            0 :   {
    2874            0 :  poly_int64 off0, off1;
    2875            0 :  tree base0, base1;
    2876            0 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2877              :  off0, off1,
    2878              : 1
    2879              : );
    2880            0 :       if (equal == 1
    2881              : )
    2882              :         {
    2883            0 :           if (minmax == MIN_EXPR
    2884              : )
    2885              :             {
    2886            0 :               if (known_le (off0, off1)
    2887              : )
    2888              :                 {
    2889            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail923;
    2890            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail923;
    2891            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail923;
    2892            0 :                   {
    2893            0 :                     tree _r;
    2894            0 :                     _r = captures[0];
    2895            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 731, __FILE__, __LINE__, true);
    2896            0 :                     return _r;
    2897              :                   }
    2898            0 : next_after_fail923:;
    2899              :                 }
    2900              :               else
    2901              :                 {
    2902            0 :                   if (known_gt (off0, off1)
    2903              : )
    2904              :                     {
    2905            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail924;
    2906            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail924;
    2907            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail924;
    2908            0 :                       {
    2909            0 :                         tree _r;
    2910            0 :                         _r = captures[2];
    2911            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 732, __FILE__, __LINE__, true);
    2912            0 :                         return _r;
    2913              :                       }
    2914            0 : next_after_fail924:;
    2915              :                     }
    2916              :                 }
    2917              :             }
    2918              :           else
    2919              :             {
    2920            0 :               if (known_ge (off0, off1)
    2921              : )
    2922              :                 {
    2923            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail925;
    2924            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail925;
    2925            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail925;
    2926            0 :                   {
    2927            0 :                     tree _r;
    2928            0 :                     _r = captures[0];
    2929            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 733, __FILE__, __LINE__, true);
    2930            0 :                     return _r;
    2931              :                   }
    2932            0 : next_after_fail925:;
    2933              :                 }
    2934              :               else
    2935              :                 {
    2936            0 :                   if (known_lt (off0, off1)
    2937              : )
    2938              :                     {
    2939            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail926;
    2940            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail926;
    2941            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail926;
    2942            0 :                       {
    2943            0 :                         tree _r;
    2944            0 :                         _r = captures[2];
    2945            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 734, __FILE__, __LINE__, true);
    2946            0 :                         return _r;
    2947              :                       }
    2948            0 : next_after_fail926:;
    2949              :                     }
    2950              :                 }
    2951              :             }
    2952              :         }
    2953              :   }
    2954            0 :   return NULL_TREE;
    2955              : }
    2956              : 
    2957              : tree
    2958            0 : generic_simplify_548 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2959              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2960              :  const combined_fn ARG_UNUSED (cond_len_op))
    2961              : {
    2962            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2963            0 :   {
    2964            0 :  tree op_type = TREE_TYPE (captures[5]);
    2965            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2966            0 :  && element_precision (type) == element_precision (op_type)
    2967              : )
    2968              :         {
    2969            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail953;
    2970            0 :           {
    2971            0 :             tree res_op0;
    2972            0 :             {
    2973            0 :               tree _o1[6], _r1;
    2974            0 :               _o1[0] = captures[2];
    2975            0 :               _o1[1] = captures[3];
    2976            0 :               _o1[2] = captures[4];
    2977            0 :               {
    2978            0 :                 tree _o2[1], _r2;
    2979            0 :                 _o2[0] = captures[1];
    2980            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2981              :                   {
    2982            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2983              :                   }
    2984              :                 else
    2985              :                   _r2 = _o2[0];
    2986            0 :                 _o1[3] = _r2;
    2987              :               }
    2988            0 :               _o1[4] = captures[6];
    2989            0 :               _o1[5] = captures[7];
    2990            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]);
    2991            0 :               if (!_r1)
    2992            0 :                 goto next_after_fail953;
    2993            0 :               res_op0 = _r1;
    2994              :             }
    2995            0 :             tree _r;
    2996            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2997            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2998            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2999            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    3000            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    3001            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 748, __FILE__, __LINE__, true);
    3002            0 :             return _r;
    3003              :           }
    3004              : next_after_fail953:;
    3005              :         }
    3006              :   }
    3007              :   return NULL_TREE;
    3008              : }
    3009              : 
    3010              : tree
    3011            0 : generic_simplify_561 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3012              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3013              :  const enum tree_code ARG_UNUSED (cmp))
    3014              : {
    3015            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3016            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail969;
    3017            0 :   {
    3018            0 :     tree res_op0;
    3019            0 :     res_op0 = unshare_expr (captures[0]);
    3020            0 :     tree res_op1;
    3021            0 :     res_op1 = captures[0];
    3022            0 :     tree _r;
    3023            0 :     _r = fold_build2_loc (loc, UNORDERED_EXPR, type, res_op0, res_op1);
    3024            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 764, __FILE__, __LINE__, true);
    3025              :     return _r;
    3026              :   }
    3027            0 : next_after_fail969:;
    3028            0 :   return NULL_TREE;
    3029              : }
    3030              : 
    3031              : tree
    3032            0 : generic_simplify_568 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3033              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3034              :  const combined_fn ARG_UNUSED (tans),
    3035              :  const combined_fn ARG_UNUSED (atans))
    3036              : {
    3037            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3038            0 :   if (flag_unsafe_math_optimizations
    3039              : )
    3040              :     {
    3041            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail976;
    3042            0 :       {
    3043            0 :         tree _r;
    3044            0 :         _r = captures[0];
    3045            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 771, __FILE__, __LINE__, true);
    3046            0 :         return _r;
    3047              :       }
    3048            0 : next_after_fail976:;
    3049              :     }
    3050              :   return NULL_TREE;
    3051              : }
    3052              : 
    3053              : tree
    3054            0 : generic_simplify_573 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3055              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3056              :  const combined_fn ARG_UNUSED (froms),
    3057              :  const combined_fn ARG_UNUSED (tos))
    3058              : {
    3059            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3060            0 :   if (optimize && canonicalize_math_p ()
    3061            0 :  && targetm.libc_has_function (function_c99_misc, NULL_TREE)
    3062              : )
    3063              :     {
    3064            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail981;
    3065            0 :       {
    3066            0 :         tree res_op0;
    3067            0 :         {
    3068            0 :           tree _o1[1], _r1;
    3069            0 :           _o1[0] = captures[0];
    3070            0 :           _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3071            0 :           if (!_r1)
    3072            0 :             goto next_after_fail981;
    3073            0 :           res_op0 = _r1;
    3074              :         }
    3075            0 :         tree _r;
    3076            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3077            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 776, __FILE__, __LINE__, true);
    3078            0 :         return _r;
    3079              :       }
    3080              : next_after_fail981:;
    3081              :     }
    3082              :   return NULL_TREE;
    3083              : }
    3084              : 
    3085              : tree
    3086            0 : generic_simplify_580 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3087              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3088              :  const combined_fn ARG_UNUSED (floors))
    3089              : {
    3090            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3091            0 :   if (canonicalize_math_p ()
    3092              : )
    3093              :     {
    3094            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail988;
    3095            0 :       {
    3096            0 :         tree res_op0;
    3097            0 :         res_op0 = captures[0];
    3098            0 :         tree _r;
    3099            0 :         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3100            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 783, __FILE__, __LINE__, true);
    3101            0 :         return _r;
    3102              :       }
    3103            0 : next_after_fail988:;
    3104              :     }
    3105              :   return NULL_TREE;
    3106              : }
    3107              : 
    3108              : tree
    3109            0 : generic_simplify_588 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3110              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3111              :  const combined_fn ARG_UNUSED (fmas))
    3112              : {
    3113            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3114            0 :   if (canonicalize_math_after_vectorization_p ()
    3115              : )
    3116              :     {
    3117              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail996;
    3118              :       {
    3119              :         tree res_op0;
    3120              :         res_op0 = captures[0];
    3121              :         tree res_op1;
    3122              :         res_op1 = captures[1];
    3123              :         tree res_op2;
    3124              :         res_op2 = captures[2];
    3125              :         tree _r;
    3126              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    3127              :         if (!_r)
    3128              :           goto next_after_fail996;
    3129              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 791, __FILE__, __LINE__, true);
    3130              :         return _r;
    3131              :       }
    3132            0 : next_after_fail996:;
    3133              :     }
    3134            0 :   return NULL_TREE;
    3135              : }
    3136              : 
    3137              : tree
    3138            0 : generic_simplify_598 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3139              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3140              : {
    3141            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3142            0 :   if (canonicalize_math_after_vectorization_p ()
    3143              : )
    3144              :     {
    3145              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1006;
    3146              :       {
    3147              :         tree res_op0;
    3148              :         res_op0 = captures[0];
    3149              :         tree res_op1;
    3150              :         res_op1 = captures[1];
    3151              :         tree res_op2;
    3152              :         res_op2 = captures[2];
    3153              :         tree res_op3;
    3154              :         res_op3 = captures[3];
    3155              :         tree res_op4;
    3156              :         res_op4 = captures[4];
    3157              :         tree _r;
    3158              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3159              :         if (!_r)
    3160              :           goto next_after_fail1006;
    3161              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 801, __FILE__, __LINE__, true);
    3162              :         return _r;
    3163              :       }
    3164            0 : next_after_fail1006:;
    3165              :     }
    3166            0 :   return NULL_TREE;
    3167              : }
    3168              : 
    3169              : tree
    3170            0 : generic_simplify_608 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3171              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3172              :  const combined_fn ARG_UNUSED (bswap),
    3173              :  const combined_fn ARG_UNUSED (popcount))
    3174              : {
    3175            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3176            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3177            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3178              : )
    3179              :     {
    3180            0 :       {
    3181            0 :  tree type0 = TREE_TYPE (captures[0]);
    3182            0 :  tree type1 = TREE_TYPE (captures[1]);
    3183            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3184            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3185            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3186              : )
    3187              :             {
    3188            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1016;
    3189            0 :               {
    3190            0 :                 tree res_op0;
    3191            0 :                 {
    3192            0 :                   tree _o1[1], _r1;
    3193            0 :                   {
    3194            0 :                     tree _o2[1], _r2;
    3195            0 :                     _o2[0] = captures[2];
    3196            0 :                     if (TREE_TYPE (_o2[0]) != type1)
    3197              :                       {
    3198            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3199              :                       }
    3200              :                     else
    3201              :                       _r2 = _o2[0];
    3202            0 :                     _o1[0] = _r2;
    3203              :                   }
    3204            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3205              :                     {
    3206            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3207              :                     }
    3208              :                   else
    3209              :                     _r1 = _o1[0];
    3210            0 :                   res_op0 = _r1;
    3211              :                 }
    3212            0 :                 tree _r;
    3213            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3214            0 :                 if (!_r)
    3215            0 :                   goto next_after_fail1016;
    3216            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 808, __FILE__, __LINE__, true);
    3217            0 :                 return _r;
    3218              :               }
    3219              : next_after_fail1016:;
    3220              :             }
    3221              :       }
    3222              :     }
    3223              :   return NULL_TREE;
    3224              : }
    3225              : 
    3226              : tree
    3227            0 : generic_simplify_620 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3228              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3229              :  const combined_fn ARG_UNUSED (reduc))
    3230              : {
    3231            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3232            0 :   {
    3233            0 :  tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
    3234            0 :  ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
    3235            0 :  tree elt = ctor_single_nonzero_element (ctor);
    3236            0 :       if (elt
    3237            0 :  && types_match (type, TREE_TYPE (elt))
    3238            0 :  && !HONOR_SNANS (type)
    3239            0 :  && !HONOR_SIGNED_ZEROS (type)
    3240              : )
    3241              :         {
    3242            0 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1029;
    3243            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1029;
    3244            0 :           {
    3245            0 :             tree _r;
    3246            0 :             _r =  elt;
    3247            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 817, __FILE__, __LINE__, true);
    3248            0 :             return _r;
    3249              :           }
    3250              : next_after_fail1029:;
    3251              :         }
    3252              :   }
    3253              :   return NULL_TREE;
    3254              : }
    3255              : 
    3256              : tree
    3257      6377735 : generic_simplify_FLOAT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3258              : {
    3259      6377735 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3260      6377735 :   {
    3261      6377735 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3262     12755470 :     if ((
    3263              : 
    3264              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3265              :  || (
    3266              : 1
    3267      6377735 :  && type == TREE_TYPE (captures[0]))
    3268              : )
    3269              :       {
    3270            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1096;
    3271            0 :         {
    3272            0 :           tree _r;
    3273            0 :           _r = captures[0];
    3274            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 831, __FILE__, __LINE__, true);
    3275            0 :           return _r;
    3276              :         }
    3277            0 : next_after_fail1096:;
    3278              :       }
    3279              :   }
    3280      6377735 :   switch (TREE_CODE (_p0))
    3281              :     {
    3282       544816 :     CASE_CONVERT:
    3283       544816 :       {
    3284       544816 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3285       544816 :         {
    3286       544816 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3287       544816 :           {
    3288       544816 :  tree inside_type = TREE_TYPE (captures[1]);
    3289       544816 :  tree inter_type = TREE_TYPE (captures[0]);
    3290       544816 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    3291       544816 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3292       544816 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3293       544816 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    3294       544816 :  unsigned int inside_prec = element_precision (inside_type);
    3295       544816 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3296       544816 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    3297       544816 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3298       544816 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3299       544816 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    3300       544816 :  unsigned int inter_prec = element_precision (inter_type);
    3301       544816 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3302       544816 :  int final_int = INTEGRAL_TYPE_P (type);
    3303       544816 :  int final_ptr = POINTER_TYPE_P (type);
    3304       544816 :  int final_float = FLOAT_TYPE_P (type);
    3305       544816 :  int final_vec = VECTOR_TYPE_P (type);
    3306       544816 :  unsigned int final_prec = element_precision (type);
    3307       544816 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3308       544816 :               if (((
    3309              : 
    3310              :  && useless_type_conversion_p (type, inside_type))
    3311              :  || (
    3312              : 1
    3313       544816 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3314            0 :  && (((inter_int || inter_ptr) && final_int)
    3315            0 :  || (inter_float && final_float))
    3316       544816 :  && inter_prec >= final_prec
    3317              : )
    3318              :                 {
    3319            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1097;
    3320            0 :                   {
    3321            0 :                     tree res_op0;
    3322            0 :                     res_op0 = captures[1];
    3323            0 :                     tree _r;
    3324            0 :                     _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3325            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 832, __FILE__, __LINE__, true);
    3326            0 :                     return _r;
    3327              :                   }
    3328            0 : next_after_fail1097:;
    3329              :                 }
    3330              :               else
    3331              :                 {
    3332       544816 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3333       544810 :  && (final_int || final_float)
    3334       544810 :  && inter_prec >= inside_prec
    3335       543823 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3336              : )
    3337              :                     {
    3338       541436 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1098;
    3339       541436 :                       {
    3340       541436 :                         tree res_op0;
    3341       541436 :                         res_op0 = captures[1];
    3342       541436 :                         tree _r;
    3343       541436 :                         _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3344       541436 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 833, __FILE__, __LINE__, true);
    3345       541436 :                         return _r;
    3346              :                       }
    3347            0 : next_after_fail1098:;
    3348            0 :                     }
    3349              :                   else
    3350              :                     {
    3351         3380 :                       if (inside_int && inter_int && final_int
    3352            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3353            0 :  && inside_unsignedp && !inter_unsignedp)
    3354            0 :  || final_prec == inter_prec
    3355            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3356            0 :  && !inside_unsignedp && inter_unsignedp))
    3357              : )
    3358              :                         {
    3359            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1099;
    3360            0 :                           {
    3361            0 :                             tree res_op0;
    3362            0 :                             res_op0 = captures[1];
    3363            0 :                             tree _r;
    3364            0 :                             _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3365            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 834, __FILE__, __LINE__, true);
    3366            0 :                             return _r;
    3367              :                           }
    3368            0 : next_after_fail1099:;
    3369            0 :                         }
    3370              :                       else
    3371              :                         {
    3372         3380 :                           if (! inside_float && ! inter_float && ! final_float
    3373              :  && ! inside_vec && ! inter_vec && ! final_vec
    3374            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3375            0 :  && ! (inside_int && inter_int
    3376            0 :  && inter_unsignedp != inside_unsignedp
    3377            0 :  && inter_prec < final_prec)
    3378            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3379            0 :  == (final_unsignedp && final_prec > inter_prec))
    3380            0 :  && ! (inside_ptr && inter_prec != final_prec)
    3381            0 :  && ! (final_ptr && inside_prec != inter_prec)
    3382              : )
    3383              :                             {
    3384            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1100;
    3385            0 :                               {
    3386            0 :                                 tree res_op0;
    3387            0 :                                 res_op0 = captures[1];
    3388            0 :                                 tree _r;
    3389            0 :                                 _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3390            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 835, __FILE__, __LINE__, true);
    3391            0 :                                 return _r;
    3392              :                               }
    3393            0 : next_after_fail1100:;
    3394            0 :                             }
    3395              :                           else
    3396              :                             {
    3397         3380 :                               if (inside_int && inter_int && final_int
    3398         3374 :  && final_prec <= inside_prec
    3399            0 :  && inter_prec >= inside_prec
    3400              : )
    3401              :                                 {
    3402            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1101;
    3403            0 :                                   {
    3404            0 :                                     tree res_op0;
    3405            0 :                                     res_op0 = captures[1];
    3406            0 :                                     tree _r;
    3407            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3408            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 836, __FILE__, __LINE__, true);
    3409            0 :                                     return _r;
    3410              :                                   }
    3411            0 : next_after_fail1101:;
    3412            0 :                                 }
    3413              :                               else
    3414              :                                 {
    3415              :                                   if (0
    3416              :  && final_int && inter_int && inside_int
    3417              :  && final_prec >= inside_prec
    3418              :  && inside_prec > inter_prec
    3419              :  && inter_unsignedp
    3420              : )
    3421              :                                     {
    3422              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1102;
    3423              :                                       {
    3424              :                                         tree res_op0;
    3425              :                                         {
    3426              :                                           tree _o1[2], _r1;
    3427              :                                           _o1[0] = captures[1];
    3428              :                                           _o1[1] =  wide_int_to_tree
    3429              :  (inside_type,
    3430              :  wi::mask (inter_prec, false,
    3431              :  TYPE_PRECISION (inside_type)));
    3432              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3433              :                                           res_op0 = _r1;
    3434              :                                         }
    3435              :                                         tree _r;
    3436              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3437              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
    3438              :                                         return _r;
    3439              :                                       }
    3440              : next_after_fail1102:;
    3441              :                                     }
    3442              :                                   else
    3443              :                                     {
    3444              :                                       if (0
    3445              :  && inside_int && inter_float && final_int &&
    3446              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    3447              :  >= inside_prec - !inside_unsignedp
    3448              : )
    3449              :                                         {
    3450              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1103;
    3451              :                                           {
    3452              :                                             tree res_op0;
    3453              :                                             res_op0 = captures[1];
    3454              :                                             tree _r;
    3455              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3456              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 838, __FILE__, __LINE__, true);
    3457              :                                             return _r;
    3458              :                                           }
    3459              : next_after_fail1103:;
    3460              :                                         }
    3461              :                                     }
    3462              :                                 }
    3463              :                             }
    3464              :                         }
    3465              :                     }
    3466              :                 }
    3467              :           }
    3468              :         }
    3469         3380 :         break;
    3470              :       }
    3471            0 :     case FLOAT_EXPR:
    3472            0 :       {
    3473            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3474            0 :         {
    3475            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3476            0 :           {
    3477            0 :  tree inside_type = TREE_TYPE (captures[1]);
    3478            0 :  tree inter_type = TREE_TYPE (captures[0]);
    3479            0 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    3480            0 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3481            0 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3482            0 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    3483            0 :  unsigned int inside_prec = element_precision (inside_type);
    3484            0 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3485            0 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    3486            0 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3487            0 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3488            0 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    3489            0 :  unsigned int inter_prec = element_precision (inter_type);
    3490            0 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3491            0 :  int final_int = INTEGRAL_TYPE_P (type);
    3492            0 :  int final_ptr = POINTER_TYPE_P (type);
    3493            0 :  int final_float = FLOAT_TYPE_P (type);
    3494            0 :  int final_vec = VECTOR_TYPE_P (type);
    3495            0 :  unsigned int final_prec = element_precision (type);
    3496            0 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3497            0 :               if (((
    3498              : 
    3499              :  && useless_type_conversion_p (type, inside_type))
    3500              :  || (
    3501              : 1
    3502            0 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3503            0 :  && (((inter_int || inter_ptr) && final_int)
    3504            0 :  || (inter_float && final_float))
    3505            0 :  && inter_prec >= final_prec
    3506              : )
    3507              :                 {
    3508            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1104;
    3509            0 :                   {
    3510            0 :                     tree res_op0;
    3511            0 :                     res_op0 = captures[1];
    3512            0 :                     tree _r;
    3513            0 :                     _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3514            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 832, __FILE__, __LINE__, true);
    3515            0 :                     return _r;
    3516              :                   }
    3517            0 : next_after_fail1104:;
    3518              :                 }
    3519              :               else
    3520              :                 {
    3521            0 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3522            0 :  && (final_int || final_float)
    3523            0 :  && inter_prec >= inside_prec
    3524            0 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3525              : )
    3526              :                     {
    3527            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1105;
    3528            0 :                       {
    3529            0 :                         tree res_op0;
    3530            0 :                         res_op0 = captures[1];
    3531            0 :                         tree _r;
    3532            0 :                         _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3533            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 833, __FILE__, __LINE__, true);
    3534            0 :                         return _r;
    3535              :                       }
    3536            0 : next_after_fail1105:;
    3537            0 :                     }
    3538              :                   else
    3539              :                     {
    3540            0 :                       if (inside_int && inter_int && final_int
    3541            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3542            0 :  && inside_unsignedp && !inter_unsignedp)
    3543            0 :  || final_prec == inter_prec
    3544            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3545            0 :  && !inside_unsignedp && inter_unsignedp))
    3546              : )
    3547              :                         {
    3548            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1106;
    3549            0 :                           {
    3550            0 :                             tree res_op0;
    3551            0 :                             res_op0 = captures[1];
    3552            0 :                             tree _r;
    3553            0 :                             _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3554            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 834, __FILE__, __LINE__, true);
    3555            0 :                             return _r;
    3556              :                           }
    3557            0 : next_after_fail1106:;
    3558            0 :                         }
    3559              :                       else
    3560              :                         {
    3561            0 :                           if (! inside_float && ! inter_float && ! final_float
    3562              :  && ! inside_vec && ! inter_vec && ! final_vec
    3563            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3564            0 :  && ! (inside_int && inter_int
    3565            0 :  && inter_unsignedp != inside_unsignedp
    3566            0 :  && inter_prec < final_prec)
    3567            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3568            0 :  == (final_unsignedp && final_prec > inter_prec))
    3569            0 :  && ! (inside_ptr && inter_prec != final_prec)
    3570            0 :  && ! (final_ptr && inside_prec != inter_prec)
    3571              : )
    3572              :                             {
    3573            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1107;
    3574            0 :                               {
    3575            0 :                                 tree res_op0;
    3576            0 :                                 res_op0 = captures[1];
    3577            0 :                                 tree _r;
    3578            0 :                                 _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3579            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 835, __FILE__, __LINE__, true);
    3580            0 :                                 return _r;
    3581              :                               }
    3582            0 : next_after_fail1107:;
    3583            0 :                             }
    3584              :                           else
    3585              :                             {
    3586            0 :                               if (inside_int && inter_int && final_int
    3587            0 :  && final_prec <= inside_prec
    3588            0 :  && inter_prec >= inside_prec
    3589              : )
    3590              :                                 {
    3591            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1108;
    3592            0 :                                   {
    3593            0 :                                     tree res_op0;
    3594            0 :                                     res_op0 = captures[1];
    3595            0 :                                     tree _r;
    3596            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3597            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 836, __FILE__, __LINE__, true);
    3598            0 :                                     return _r;
    3599              :                                   }
    3600            0 : next_after_fail1108:;
    3601            0 :                                 }
    3602              :                               else
    3603              :                                 {
    3604              :                                   if (0
    3605              :  && final_int && inter_int && inside_int
    3606              :  && final_prec >= inside_prec
    3607              :  && inside_prec > inter_prec
    3608              :  && inter_unsignedp
    3609              : )
    3610              :                                     {
    3611              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1109;
    3612              :                                       {
    3613              :                                         tree res_op0;
    3614              :                                         {
    3615              :                                           tree _o1[2], _r1;
    3616              :                                           _o1[0] = captures[1];
    3617              :                                           _o1[1] =  wide_int_to_tree
    3618              :  (inside_type,
    3619              :  wi::mask (inter_prec, false,
    3620              :  TYPE_PRECISION (inside_type)));
    3621              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3622              :                                           res_op0 = _r1;
    3623              :                                         }
    3624              :                                         tree _r;
    3625              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3626              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
    3627              :                                         return _r;
    3628              :                                       }
    3629              : next_after_fail1109:;
    3630              :                                     }
    3631              :                                   else
    3632              :                                     {
    3633              :                                       if (0
    3634              :  && inside_int && inter_float && final_int &&
    3635              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    3636              :  >= inside_prec - !inside_unsignedp
    3637              : )
    3638              :                                         {
    3639              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1110;
    3640              :                                           {
    3641              :                                             tree res_op0;
    3642              :                                             res_op0 = captures[1];
    3643              :                                             tree _r;
    3644              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3645              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 838, __FILE__, __LINE__, true);
    3646              :                                             return _r;
    3647              :                                           }
    3648              : next_after_fail1110:;
    3649              :                                         }
    3650              :                                     }
    3651              :                                 }
    3652              :                             }
    3653              :                         }
    3654              :                     }
    3655              :                 }
    3656              :           }
    3657              :         }
    3658            0 :         break;
    3659              :       }
    3660              :     default:;
    3661              :     }
    3662              :   return NULL_TREE;
    3663              : }
    3664              : 
    3665              : tree
    3666     32388294 : generic_simplify_MINUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3667              : {
    3668     32388294 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3669     32388294 :   if (integer_zerop (_p1))
    3670              :     {
    3671      1982319 :       {
    3672      1982319 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3673      1982319 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1264;
    3674      1982319 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1264;
    3675      1982319 :         {
    3676      1982319 :           tree res_op0;
    3677      1982319 :           res_op0 = captures[0];
    3678      1982319 :           tree _r;
    3679      1982319 :           _r = non_lvalue_loc (loc, res_op0);
    3680      1982319 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3681      1982319 :           return _r;
    3682              :         }
    3683              : next_after_fail1264:;
    3684              :       }
    3685              :     }
    3686     30405975 :   if (real_zerop (_p1))
    3687              :     {
    3688         1140 :       {
    3689         1140 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3690         1140 :         if (fold_real_zero_addition_p (type, captures[0], captures[1], 1)
    3691              : )
    3692              :           {
    3693          752 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1265;
    3694          752 :             {
    3695          752 :               tree res_op0;
    3696          752 :               res_op0 = captures[0];
    3697          752 :               tree _r;
    3698          752 :               _r = non_lvalue_loc (loc, res_op0);
    3699          752 :               if (TREE_SIDE_EFFECTS (captures[1]))
    3700            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3701          752 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    3702          752 :               return _r;
    3703              :             }
    3704            0 : next_after_fail1265:;
    3705              :           }
    3706              :       }
    3707              :     }
    3708     30405223 :   switch (TREE_CODE (_p0))
    3709              :     {
    3710      2261026 :     case PLUS_EXPR:
    3711      2261026 :       {
    3712      2261026 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3713      2261026 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3714      2261026 :         switch (TREE_CODE (_q21))
    3715              :           {
    3716       149003 :           case REAL_CST:
    3717       149003 :             {
    3718       149003 :               switch (TREE_CODE (_p1))
    3719              :                 {
    3720           11 :                 case REAL_CST:
    3721           11 :                   {
    3722           11 :                     {
    3723           11 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3724           11 :                       tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR);
    3725           11 :                       if (res) return res;
    3726              :                     }
    3727            8 :                     break;
    3728              :                   }
    3729              :                 default:;
    3730              :                 }
    3731              :               break;
    3732              :             }
    3733              :           default:;
    3734              :           }
    3735              :         break;
    3736              :       }
    3737      1215219 :     case MINUS_EXPR:
    3738      1215219 :       {
    3739      1215219 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3740      1215219 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3741      1215219 :         switch (TREE_CODE (_q21))
    3742              :           {
    3743        93674 :           case REAL_CST:
    3744        93674 :             {
    3745        93674 :               switch (TREE_CODE (_p1))
    3746              :                 {
    3747           40 :                 case REAL_CST:
    3748           40 :                   {
    3749           40 :                     {
    3750           40 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3751           40 :                       tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, MINUS_EXPR, MINUS_EXPR);
    3752           40 :                       if (res) return res;
    3753              :                     }
    3754           38 :                     break;
    3755              :                   }
    3756              :                 default:;
    3757              :                 }
    3758              :               break;
    3759              :             }
    3760              :           default:;
    3761              :           }
    3762              :         break;
    3763              :       }
    3764     30405218 :     default:;
    3765              :     }
    3766     30405218 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    3767              :     {
    3768       204732 :       {
    3769       204732 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3770       203990 :         if (!FLOAT_TYPE_P (type)
    3771       204760 :  || (!tree_expr_maybe_nan_p (captures[0])
    3772          107 :  && !tree_expr_maybe_infinite_p (captures[0])
    3773           15 :  && (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3774            1 :  || !HONOR_SIGNED_ZEROS (type)))
    3775              : )
    3776              :           {
    3777       203976 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1266;
    3778       203976 :             {
    3779       203976 :               tree _r;
    3780       203976 :               _r =  build_zero_cst (type);
    3781       203976 :               if (TREE_SIDE_EFFECTS (captures[0]))
    3782           36 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3783       203976 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 909, __FILE__, __LINE__, true);
    3784       203976 :               return _r;
    3785              :             }
    3786            0 : next_after_fail1266:;
    3787              :           }
    3788              :       }
    3789              :     }
    3790     30201242 :   switch (TREE_CODE (_p0))
    3791              :     {
    3792      8329029 :     CASE_CONVERT:
    3793      8329029 :       {
    3794      8329029 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3795      8329029 :         switch (TREE_CODE (_p1))
    3796              :           {
    3797      4136117 :           CASE_CONVERT:
    3798      4136117 :             {
    3799      4136117 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3800      4136117 :               switch (TREE_CODE (_q40))
    3801              :                 {
    3802       102344 :                 case MULT_EXPR:
    3803       102344 :                   {
    3804       102344 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3805       102344 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    3806       102344 :                     switch (TREE_CODE (_q50))
    3807              :                       {
    3808           21 :                       case TRUNC_DIV_EXPR:
    3809           21 :                         {
    3810           21 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3811           21 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    3812           21 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q20, 0))
    3813              :                             {
    3814           21 :                               if ((_q51 == _q61 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q61, 0))
    3815              :                                 {
    3816           21 :                                   {
    3817           21 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q61 };
    3818           21 :                                     tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    3819           21 :                                     if (res) return res;
    3820              :                                   }
    3821              :                                 }
    3822              :                             }
    3823              :                           break;
    3824              :                         }
    3825       102323 :                       default:;
    3826              :                       }
    3827       102323 :                     switch (TREE_CODE (_q51))
    3828              :                       {
    3829            0 :                       case TRUNC_DIV_EXPR:
    3830            0 :                         {
    3831            0 :                           tree _q70 = TREE_OPERAND (_q51, 0);
    3832            0 :                           tree _q71 = TREE_OPERAND (_q51, 1);
    3833            0 :                           if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q20, 0))
    3834              :                             {
    3835            0 :                               if ((_q71 == _q50 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q50, 0))
    3836              :                                 {
    3837            0 :                                   {
    3838            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q50 };
    3839            0 :                                     tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    3840            0 :                                     if (res) return res;
    3841              :                                   }
    3842              :                                 }
    3843              :                             }
    3844              :                           break;
    3845              :                         }
    3846              :                       default:;
    3847              :                       }
    3848              :                     break;
    3849              :                   }
    3850              :                 default:;
    3851              :                 }
    3852              :               break;
    3853              :             }
    3854       148610 :           case MULT_EXPR:
    3855       148610 :             {
    3856       148610 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3857       148610 :               tree _q41 = TREE_OPERAND (_p1, 1);
    3858       148610 :               switch (TREE_CODE (_q40))
    3859              :                 {
    3860         1733 :                 case TRUNC_DIV_EXPR:
    3861         1733 :                   {
    3862         1733 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3863         1733 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    3864         1733 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    3865              :                       {
    3866           10 :                         if ((_q41 == _q51 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q51, 0))
    3867              :                           {
    3868           10 :                             {
    3869           10 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q20, _q51 };
    3870           10 :                               tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    3871           10 :                               if (res) return res;
    3872              :                             }
    3873              :                           }
    3874              :                       }
    3875              :                     break;
    3876              :                   }
    3877       148600 :                 default:;
    3878              :                 }
    3879       148600 :               switch (TREE_CODE (_q41))
    3880              :                 {
    3881            0 :                 case TRUNC_DIV_EXPR:
    3882            0 :                   {
    3883            0 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    3884            0 :                     tree _q61 = TREE_OPERAND (_q41, 1);
    3885            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q20, 0))
    3886              :                       {
    3887            0 :                         if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || operand_equal_p (_q61, _q40, 0))
    3888              :                           {
    3889            0 :                             {
    3890            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q40 };
    3891            0 :                               tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    3892            0 :                               if (res) return res;
    3893              :                             }
    3894              :                           }
    3895              :                       }
    3896              :                     break;
    3897              :                   }
    3898              :                 default:;
    3899              :                 }
    3900              :               break;
    3901              :             }
    3902              :           default:;
    3903              :           }
    3904              :         break;
    3905              :       }
    3906     30201211 :     default:;
    3907              :     }
    3908     30201211 :   switch (TREE_CODE (_p1))
    3909              :     {
    3910      7437365 :     CASE_CONVERT:
    3911      7437365 :       {
    3912      7437365 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3913      7437365 :         switch (TREE_CODE (_q30))
    3914              :           {
    3915       136781 :           case MULT_EXPR:
    3916       136781 :             {
    3917       136781 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3918       136781 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3919       136781 :               switch (TREE_CODE (_q40))
    3920              :                 {
    3921           12 :                 case TRUNC_DIV_EXPR:
    3922           12 :                   {
    3923           12 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3924           12 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    3925           12 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _p0, 0))
    3926              :                       {
    3927            2 :                         if ((_q41 == _q51 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q51, 0))
    3928              :                           {
    3929            2 :                             {
    3930            2 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q51 };
    3931            2 :                               tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    3932            2 :                               if (res) return res;
    3933              :                             }
    3934              :                           }
    3935              :                       }
    3936              :                     break;
    3937              :                   }
    3938       136779 :                 default:;
    3939              :                 }
    3940       136779 :               switch (TREE_CODE (_q41))
    3941              :                 {
    3942            0 :                 case TRUNC_DIV_EXPR:
    3943            0 :                   {
    3944            0 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    3945            0 :                     tree _q61 = TREE_OPERAND (_q41, 1);
    3946            0 :                     if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _p0, 0))
    3947              :                       {
    3948            0 :                         if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || operand_equal_p (_q61, _q40, 0))
    3949              :                           {
    3950            0 :                             {
    3951            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _p0, _q40 };
    3952            0 :                               tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    3953            0 :                               if (res) return res;
    3954              :                             }
    3955              :                           }
    3956              :                       }
    3957              :                     break;
    3958              :                   }
    3959              :                 default:;
    3960              :                 }
    3961              :               break;
    3962              :             }
    3963              :           default:;
    3964              :           }
    3965              :         break;
    3966              :       }
    3967      2016519 :     case MULT_EXPR:
    3968      2016519 :       {
    3969      2016519 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3970      2016519 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3971      2016519 :         switch (TREE_CODE (_q30))
    3972              :           {
    3973         2176 :           case TRUNC_DIV_EXPR:
    3974         2176 :             {
    3975         2176 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3976         2176 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3977         2176 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
    3978              :                 {
    3979           52 :                   if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _q41, 0))
    3980              :                     {
    3981           52 :                       {
    3982           52 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _p0, _q41 };
    3983           52 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    3984           52 :                         if (res) return res;
    3985              :                       }
    3986              :                     }
    3987              :                 }
    3988              :               break;
    3989              :             }
    3990      2016467 :           default:;
    3991              :           }
    3992      2016467 :         switch (TREE_CODE (_q31))
    3993              :           {
    3994            0 :           case TRUNC_DIV_EXPR:
    3995            0 :             {
    3996            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    3997            0 :               tree _q51 = TREE_OPERAND (_q31, 1);
    3998            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _p0, 0))
    3999              :                 {
    4000            0 :                   if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q30, 0))
    4001              :                     {
    4002            0 :                       {
    4003            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q30 };
    4004            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    4005            0 :                         if (res) return res;
    4006              :                       }
    4007              :                     }
    4008              :                 }
    4009              :               break;
    4010              :             }
    4011              :           default:;
    4012              :           }
    4013              :         break;
    4014              :       }
    4015     30201157 :     default:;
    4016              :     }
    4017     30201157 :   switch (TREE_CODE (_p0))
    4018              :     {
    4019      1833818 :     case MULT_EXPR:
    4020      1833818 :       {
    4021      1833818 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4022      1833818 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4023      1833818 :         switch (TREE_CODE (_q21))
    4024              :           {
    4025          609 :           case PLUS_EXPR:
    4026          609 :             {
    4027          609 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4028          609 :               tree _q41 = TREE_OPERAND (_q21, 1);
    4029          609 :               switch (TREE_CODE (_q40))
    4030              :                 {
    4031            0 :                 case TRUNC_DIV_EXPR:
    4032            0 :                   {
    4033            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4034            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    4035            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4036              :                       {
    4037            0 :                         if (integer_onep (_q41))
    4038              :                           {
    4039            0 :                             if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4040              :                               {
    4041            0 :                                 {
    4042            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q50 };
    4043            0 :                                   tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
    4044            0 :                                   if (res) return res;
    4045              :                                 }
    4046              :                               }
    4047              :                           }
    4048              :                       }
    4049              :                     break;
    4050              :                   }
    4051              :                 default:;
    4052              :                 }
    4053              :               break;
    4054              :             }
    4055      1833818 :           default:;
    4056              :           }
    4057      1833818 :         switch (TREE_CODE (_q20))
    4058              :           {
    4059       102673 :           case PLUS_EXPR:
    4060       102673 :             {
    4061       102673 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4062       102673 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4063       102673 :               switch (TREE_CODE (_q30))
    4064              :                 {
    4065            1 :                 case TRUNC_DIV_EXPR:
    4066            1 :                   {
    4067            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4068            1 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    4069            1 :                     if (integer_onep (_q31))
    4070              :                       {
    4071            1 :                         if ((_q21 == _q41 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q41, 0) && types_match (_q21, _q41)))
    4072              :                           {
    4073            1 :                             if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4074              :                               {
    4075            1 :                                 {
    4076            1 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q20, _q30, _q40 };
    4077            1 :                                   tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
    4078            1 :                                   if (res) return res;
    4079              :                                 }
    4080              :                               }
    4081              :                           }
    4082              :                       }
    4083              :                     break;
    4084              :                   }
    4085              :                 default:;
    4086              :                 }
    4087              :               break;
    4088              :             }
    4089              :           default:;
    4090              :           }
    4091              :         break;
    4092              :       }
    4093         1266 :     case LSHIFT_EXPR:
    4094         1266 :       {
    4095         1266 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4096         1266 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4097         1266 :         switch (TREE_CODE (_p1))
    4098              :           {
    4099            0 :           case LSHIFT_EXPR:
    4100            0 :             {
    4101            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4102            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4103            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4104              :                 {
    4105            0 :                   {
    4106            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    4107            0 :                     tree res = generic_simplify_55 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    4108            0 :                     if (res) return res;
    4109              :                   }
    4110              :                 }
    4111              :               break;
    4112              :             }
    4113              :           default:;
    4114              :           }
    4115              :         break;
    4116              :       }
    4117         1183 :     case BIT_AND_EXPR:
    4118         1183 :       {
    4119         1183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4120         1183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4121         1183 :         switch (TREE_CODE (_q21))
    4122              :           {
    4123            0 :           case BIT_NOT_EXPR:
    4124            0 :             {
    4125            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4126            0 :               switch (TREE_CODE (_p1))
    4127              :                 {
    4128            0 :                 case BIT_AND_EXPR:
    4129            0 :                   {
    4130            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4131            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4132            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4133              :                       {
    4134            0 :                         if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
    4135              :                           {
    4136            0 :                             {
    4137            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
    4138            0 :                               tree res = generic_simplify_86 (loc, type, _p0, _p1, captures);
    4139            0 :                               if (res) return res;
    4140              :                             }
    4141              :                           }
    4142              :                       }
    4143            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4144              :                       {
    4145            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    4146              :                           {
    4147            0 :                             {
    4148            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
    4149            0 :                               tree res = generic_simplify_86 (loc, type, _p0, _p1, captures);
    4150            0 :                               if (res) return res;
    4151              :                             }
    4152              :                           }
    4153              :                       }
    4154              :                     break;
    4155              :                   }
    4156              :                 default:;
    4157              :                 }
    4158              :               break;
    4159              :             }
    4160         1183 :           default:;
    4161              :           }
    4162         1183 :         switch (TREE_CODE (_q20))
    4163              :           {
    4164           27 :           case BIT_NOT_EXPR:
    4165           27 :             {
    4166           27 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4167           27 :               switch (TREE_CODE (_p1))
    4168              :                 {
    4169           21 :                 case BIT_AND_EXPR:
    4170           21 :                   {
    4171           21 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4172           21 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    4173           21 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    4174              :                       {
    4175            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    4176              :                           {
    4177            0 :                             {
    4178            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
    4179            0 :                               tree res = generic_simplify_86 (loc, type, _p0, _p1, captures);
    4180            0 :                               if (res) return res;
    4181              :                             }
    4182              :                           }
    4183              :                       }
    4184           21 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4185              :                       {
    4186           21 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    4187              :                           {
    4188           21 :                             {
    4189           21 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
    4190           21 :                               tree res = generic_simplify_86 (loc, type, _p0, _p1, captures);
    4191           21 :                               if (res) return res;
    4192              :                             }
    4193              :                           }
    4194              :                       }
    4195              :                     break;
    4196              :                   }
    4197              :                 default:;
    4198              :                 }
    4199              :               break;
    4200              :             }
    4201         1162 :           default:;
    4202              :           }
    4203         1162 :         switch (TREE_CODE (_q21))
    4204              :           {
    4205         1122 :           case INTEGER_CST:
    4206         1122 :             {
    4207         1122 :               switch (TREE_CODE (_p1))
    4208              :                 {
    4209           22 :                 case BIT_AND_EXPR:
    4210           22 :                   {
    4211           22 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4212           22 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4213           22 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4214              :                       {
    4215            0 :                         switch (TREE_CODE (_q51))
    4216              :                           {
    4217            0 :                           case INTEGER_CST:
    4218            0 :                             {
    4219            0 :                               {
    4220            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    4221            0 :                                 if (~wi::to_wide (captures[2]) == wi::to_wide (captures[4])
    4222              : )
    4223              :                                   {
    4224            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1267;
    4225            0 :                                     {
    4226            0 :                                       if (! tree_invariant_p (captures[4])) goto next_after_fail1267;
    4227            0 :                                       tree res_op0;
    4228            0 :                                       {
    4229            0 :                                         tree _o1[2], _r1;
    4230            0 :                                         _o1[0] = captures[1];
    4231            0 :                                         _o1[1] = unshare_expr (captures[4]);
    4232            0 :                                         _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4233            0 :                                         res_op0 = _r1;
    4234              :                                       }
    4235            0 :                                       tree res_op1;
    4236            0 :                                       res_op1 = captures[4];
    4237            0 :                                       tree _r;
    4238            0 :                                       _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    4239            0 :                                       if (TREE_SIDE_EFFECTS (captures[2]))
    4240            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4241            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    4242            0 :                                       return _r;
    4243              :                                     }
    4244            0 : next_after_fail1267:;
    4245              :                                   }
    4246              :                               }
    4247            0 :                               break;
    4248              :                             }
    4249              :                           default:;
    4250              :                           }
    4251              :                       }
    4252              :                     break;
    4253              :                   }
    4254              :                 default:;
    4255              :                 }
    4256              :               break;
    4257              :             }
    4258         1162 :           default:;
    4259              :           }
    4260         1162 :         switch (TREE_CODE (_p1))
    4261              :           {
    4262           25 :           case BIT_AND_EXPR:
    4263           25 :             {
    4264           25 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4265           25 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4266           25 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4267              :                 {
    4268            0 :                   switch (TREE_CODE (_q51))
    4269              :                     {
    4270            0 :                     case BIT_NOT_EXPR:
    4271            0 :                       {
    4272            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4273            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
    4274              :                           {
    4275            0 :                             {
    4276            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4277            0 :                               tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
    4278            0 :                               if (res) return res;
    4279              :                             }
    4280              :                           }
    4281              :                         break;
    4282              :                       }
    4283              :                     default:;
    4284              :                     }
    4285              :                 }
    4286           25 :               switch (TREE_CODE (_q50))
    4287              :                 {
    4288            0 :                 case BIT_NOT_EXPR:
    4289            0 :                   {
    4290            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    4291            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    4292              :                       {
    4293            0 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4294              :                           {
    4295            0 :                             {
    4296            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4297            0 :                               tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
    4298            0 :                               if (res) return res;
    4299              :                             }
    4300              :                           }
    4301              :                       }
    4302            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4303              :                       {
    4304            0 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4305              :                           {
    4306            0 :                             {
    4307            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
    4308            0 :                               tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
    4309            0 :                               if (res) return res;
    4310              :                             }
    4311              :                           }
    4312              :                       }
    4313              :                     break;
    4314              :                   }
    4315           25 :                 default:;
    4316              :                 }
    4317           25 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4318              :                 {
    4319            0 :                   switch (TREE_CODE (_q51))
    4320              :                     {
    4321            0 :                     case BIT_NOT_EXPR:
    4322            0 :                       {
    4323            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4324            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4325              :                           {
    4326            0 :                             {
    4327            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
    4328            0 :                               tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
    4329            0 :                               if (res) return res;
    4330              :                             }
    4331              :                           }
    4332              :                         break;
    4333              :                       }
    4334              :                     default:;
    4335              :                     }
    4336              :                 }
    4337              :               break;
    4338              :             }
    4339            2 :           case PLUS_EXPR:
    4340            2 :             {
    4341            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4342            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4343            2 :               switch (TREE_CODE (_q50))
    4344              :                 {
    4345            2 :                 case BIT_IOR_EXPR:
    4346            2 :                   {
    4347            2 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    4348            2 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    4349            2 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4350              :                       {
    4351            2 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    4352              :                           {
    4353            2 :                             if (integer_onep (_q51))
    4354              :                               {
    4355            2 :                                 {
    4356            2 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4357            2 :                                   tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4358            2 :                                   if (res) return res;
    4359              :                                 }
    4360              :                               }
    4361              :                           }
    4362              :                       }
    4363            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    4364              :                       {
    4365            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    4366              :                           {
    4367            0 :                             if (integer_onep (_q51))
    4368              :                               {
    4369            0 :                                 {
    4370            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4371            0 :                                   tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4372            0 :                                   if (res) return res;
    4373              :                                 }
    4374              :                               }
    4375              :                           }
    4376              :                       }
    4377              :                     break;
    4378              :                   }
    4379            0 :                 default:;
    4380              :                 }
    4381            0 :             {
    4382            0 :               tree _q50_pops[1];
    4383            0 :               if (tree_nop_convert (_q50, _q50_pops))
    4384              :                 {
    4385            0 :                   tree _q60 = _q50_pops[0];
    4386            0 :                   switch (TREE_CODE (_q60))
    4387              :                     {
    4388            0 :                     case BIT_IOR_EXPR:
    4389            0 :                       {
    4390            0 :                         tree _q70 = TREE_OPERAND (_q60, 0);
    4391            0 :                         tree _q71 = TREE_OPERAND (_q60, 1);
    4392            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4393              :                           {
    4394            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    4395              :                               {
    4396            0 :                                 if (integer_onep (_q51))
    4397              :                                   {
    4398            0 :                                     {
    4399            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4400            0 :                                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4401            0 :                                       if (res) return res;
    4402              :                                     }
    4403              :                                   }
    4404              :                               }
    4405              :                           }
    4406            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
    4407              :                           {
    4408            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    4409              :                               {
    4410            0 :                                 if (integer_onep (_q51))
    4411              :                                   {
    4412            0 :                                     {
    4413            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4414            0 :                                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4415            0 :                                       if (res) return res;
    4416              :                                     }
    4417              :                                   }
    4418              :                               }
    4419              :                           }
    4420              :                         break;
    4421              :                       }
    4422              :                     default:;
    4423              :                     }
    4424              :                 }
    4425              :             }
    4426            0 :               break;
    4427              :             }
    4428         1160 :           default:;
    4429              :           }
    4430         1160 :       {
    4431         1160 :         tree _p1_pops[1];
    4432         1160 :         if (tree_nop_convert (_p1, _p1_pops))
    4433              :           {
    4434            7 :             tree _q50 = _p1_pops[0];
    4435            7 :             switch (TREE_CODE (_q50))
    4436              :               {
    4437            0 :               case PLUS_EXPR:
    4438            0 :                 {
    4439            0 :                   tree _q60 = TREE_OPERAND (_q50, 0);
    4440            0 :                   tree _q61 = TREE_OPERAND (_q50, 1);
    4441            0 :                   switch (TREE_CODE (_q60))
    4442              :                     {
    4443            0 :                     case BIT_IOR_EXPR:
    4444            0 :                       {
    4445            0 :                         tree _q70 = TREE_OPERAND (_q60, 0);
    4446            0 :                         tree _q71 = TREE_OPERAND (_q60, 1);
    4447            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4448              :                           {
    4449            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    4450              :                               {
    4451            0 :                                 if (integer_onep (_q61))
    4452              :                                   {
    4453            0 :                                     {
    4454            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4455            0 :                                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4456            0 :                                       if (res) return res;
    4457              :                                     }
    4458              :                                   }
    4459              :                               }
    4460              :                           }
    4461            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
    4462              :                           {
    4463            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    4464              :                               {
    4465            0 :                                 if (integer_onep (_q61))
    4466              :                                   {
    4467            0 :                                     {
    4468            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4469            0 :                                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4470            0 :                                       if (res) return res;
    4471              :                                     }
    4472              :                                   }
    4473              :                               }
    4474              :                           }
    4475              :                         break;
    4476              :                       }
    4477            0 :                     default:;
    4478              :                     }
    4479            0 :                 {
    4480            0 :                   tree _q60_pops[1];
    4481            0 :                   if (tree_nop_convert (_q60, _q60_pops))
    4482              :                     {
    4483            0 :                       tree _q70 = _q60_pops[0];
    4484            0 :                       switch (TREE_CODE (_q70))
    4485              :                         {
    4486            0 :                         case BIT_IOR_EXPR:
    4487            0 :                           {
    4488            0 :                             tree _q80 = TREE_OPERAND (_q70, 0);
    4489            0 :                             tree _q81 = TREE_OPERAND (_q70, 1);
    4490            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    4491              :                               {
    4492            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
    4493              :                                   {
    4494            0 :                                     if (integer_onep (_q61))
    4495              :                                       {
    4496            0 :                                         {
    4497            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4498            0 :                                           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4499            0 :                                           if (res) return res;
    4500              :                                         }
    4501              :                                       }
    4502              :                                   }
    4503              :                               }
    4504            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
    4505              :                               {
    4506            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    4507              :                                   {
    4508            0 :                                     if (integer_onep (_q61))
    4509              :                                       {
    4510            0 :                                         {
    4511            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4512            0 :                                           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    4513            0 :                                           if (res) return res;
    4514              :                                         }
    4515              :                                       }
    4516              :                                   }
    4517              :                               }
    4518              :                             break;
    4519              :                           }
    4520              :                         default:;
    4521              :                         }
    4522              :                     }
    4523              :                 }
    4524            0 :                   break;
    4525              :                 }
    4526              :               default:;
    4527              :               }
    4528              :           }
    4529              :       }
    4530         1160 :         break;
    4531              :       }
    4532         2849 :     case BIT_NOT_EXPR:
    4533         2849 :       {
    4534         2849 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4535         2849 :         switch (TREE_CODE (_p1))
    4536              :           {
    4537           22 :           case BIT_NOT_EXPR:
    4538           22 :             {
    4539           22 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4540           22 :               {
    4541           22 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4542           22 :                 if (!TYPE_OVERFLOW_SANITIZED (type)
    4543              : )
    4544              :                   {
    4545            9 :                     {
    4546            9 :  tree utype = unsigned_type_for (type);
    4547            9 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1268;
    4548            9 :                         {
    4549            9 :                           tree res_op0;
    4550            9 :                           {
    4551            9 :                             tree _o1[2], _r1;
    4552            9 :                             {
    4553            9 :                               tree _o2[1], _r2;
    4554            9 :                               _o2[0] = captures[1];
    4555            9 :                               if (TREE_TYPE (_o2[0]) != utype)
    4556              :                                 {
    4557            9 :                                   _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    4558              :                                 }
    4559              :                               else
    4560              :                                 _r2 = _o2[0];
    4561            9 :                               _o1[0] = _r2;
    4562              :                             }
    4563            9 :                             {
    4564            9 :                               tree _o2[1], _r2;
    4565            9 :                               _o2[0] = captures[0];
    4566            9 :                               if (TREE_TYPE (_o2[0]) != utype)
    4567              :                                 {
    4568            9 :                                   _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    4569              :                                 }
    4570              :                               else
    4571              :                                 _r2 = _o2[0];
    4572            9 :                               _o1[1] = _r2;
    4573              :                             }
    4574            9 :                             _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4575            9 :                             res_op0 = _r1;
    4576              :                           }
    4577            9 :                           tree _r;
    4578            9 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4579            9 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    4580            9 :                           return _r;
    4581              :                         }
    4582            0 : next_after_fail1268:;
    4583              :                     }
    4584              :                   }
    4585              :               }
    4586           13 :               break;
    4587              :             }
    4588              :           default:;
    4589              :           }
    4590              :         break;
    4591              :       }
    4592      2259221 :     case PLUS_EXPR:
    4593      2259221 :       {
    4594      2259221 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4595      2259221 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4596      2259221 :         switch (TREE_CODE (_p1))
    4597              :           {
    4598           14 :           case BIT_IOR_EXPR:
    4599           14 :             {
    4600           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4601           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4602           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4603              :                 {
    4604           13 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4605              :                     {
    4606           13 :                       {
    4607           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4608           13 :                         if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
    4609           13 :  && !TYPE_SATURATING (type)
    4610              : )
    4611              :                           {
    4612            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1269;
    4613            0 :                             {
    4614            0 :                               tree res_op0;
    4615            0 :                               res_op0 = captures[0];
    4616            0 :                               tree res_op1;
    4617            0 :                               res_op1 = captures[1];
    4618            0 :                               tree _r;
    4619            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    4620            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 912, __FILE__, __LINE__, true);
    4621            0 :                               return _r;
    4622              :                             }
    4623            0 : next_after_fail1269:;
    4624              :                           }
    4625              :                       }
    4626              :                     }
    4627              :                 }
    4628              :               break;
    4629              :             }
    4630           80 :           case BIT_AND_EXPR:
    4631           80 :             {
    4632           80 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4633           80 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4634           80 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4635              :                 {
    4636           25 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4637              :                     {
    4638           13 :                       {
    4639           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4640           13 :                         if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
    4641           13 :  && !TYPE_SATURATING (type)
    4642              : )
    4643              :                           {
    4644            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1270;
    4645            0 :                             {
    4646            0 :                               tree res_op0;
    4647            0 :                               res_op0 = captures[0];
    4648            0 :                               tree res_op1;
    4649            0 :                               res_op1 = captures[1];
    4650            0 :                               tree _r;
    4651            0 :                               _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    4652            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 913, __FILE__, __LINE__, true);
    4653            0 :                               return _r;
    4654              :                             }
    4655            0 : next_after_fail1270:;
    4656              :                           }
    4657              :                       }
    4658              :                     }
    4659              :                 }
    4660              :               break;
    4661              :             }
    4662      2259221 :           default:;
    4663              :           }
    4664      2259221 :         switch (TREE_CODE (_q20))
    4665              :           {
    4666          593 :           case BIT_AND_EXPR:
    4667          593 :             {
    4668          593 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4669          593 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4670          593 :               if (integer_all_onesp (_q21))
    4671              :                 {
    4672            1 :                   switch (TREE_CODE (_p1))
    4673              :                     {
    4674            1 :                     case BIT_IOR_EXPR:
    4675            1 :                       {
    4676            1 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4677            1 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    4678            1 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    4679              :                           {
    4680            1 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4681              :                               {
    4682            1 :                                 {
    4683            1 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    4684            1 :                                   tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4685            1 :                                   if (res) return res;
    4686              :                                 }
    4687              :                               }
    4688              :                           }
    4689            0 :                         if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    4690              :                           {
    4691            0 :                             if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    4692              :                               {
    4693            0 :                                 {
    4694            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    4695            0 :                                   tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4696            0 :                                   if (res) return res;
    4697              :                                 }
    4698              :                               }
    4699              :                           }
    4700              :                         break;
    4701              :                       }
    4702            0 :                     default:;
    4703              :                     }
    4704            0 :                 {
    4705            0 :                   tree _p1_pops[1];
    4706            0 :                   if (tree_nop_convert (_p1, _p1_pops))
    4707              :                     {
    4708            0 :                       tree _q70 = _p1_pops[0];
    4709            0 :                       switch (TREE_CODE (_q70))
    4710              :                         {
    4711            0 :                         case BIT_IOR_EXPR:
    4712            0 :                           {
    4713            0 :                             tree _q80 = TREE_OPERAND (_q70, 0);
    4714            0 :                             tree _q81 = TREE_OPERAND (_q70, 1);
    4715            0 :                             if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    4716              :                               {
    4717            0 :                                 if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
    4718              :                                   {
    4719            0 :                                     {
    4720            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    4721            0 :                                       tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4722            0 :                                       if (res) return res;
    4723              :                                     }
    4724              :                                   }
    4725              :                               }
    4726            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
    4727              :                               {
    4728            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    4729              :                                   {
    4730            0 :                                     {
    4731            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    4732            0 :                                       tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4733            0 :                                       if (res) return res;
    4734              :                                     }
    4735              :                                   }
    4736              :                               }
    4737              :                             break;
    4738              :                           }
    4739              :                         default:;
    4740              :                         }
    4741              :                     }
    4742              :                 }
    4743              :                 }
    4744              :               break;
    4745              :             }
    4746      2259220 :           default:;
    4747              :           }
    4748      2259220 :       {
    4749      2259220 :         tree _q20_pops[1];
    4750      2259220 :         if (tree_nop_convert (_q20, _q20_pops))
    4751              :           {
    4752       538589 :             tree _q30 = _q20_pops[0];
    4753       538589 :             switch (TREE_CODE (_q30))
    4754              :               {
    4755            0 :               case BIT_AND_EXPR:
    4756            0 :                 {
    4757            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4758            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    4759            0 :                   if (integer_all_onesp (_q21))
    4760              :                     {
    4761            0 :                       switch (TREE_CODE (_p1))
    4762              :                         {
    4763            0 :                         case BIT_IOR_EXPR:
    4764            0 :                           {
    4765            0 :                             tree _q80 = TREE_OPERAND (_p1, 0);
    4766            0 :                             tree _q81 = TREE_OPERAND (_p1, 1);
    4767            0 :                             if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    4768              :                               {
    4769            0 :                                 if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    4770              :                                   {
    4771            0 :                                     {
    4772            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    4773            0 :                                       tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4774            0 :                                       if (res) return res;
    4775              :                                     }
    4776              :                                   }
    4777              :                               }
    4778            0 :                             if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    4779              :                               {
    4780            0 :                                 if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    4781              :                                   {
    4782            0 :                                     {
    4783            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    4784            0 :                                       tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4785            0 :                                       if (res) return res;
    4786              :                                     }
    4787              :                                   }
    4788              :                               }
    4789              :                             break;
    4790              :                           }
    4791            0 :                         default:;
    4792              :                         }
    4793            0 :                     {
    4794            0 :                       tree _p1_pops[1];
    4795            0 :                       if (tree_nop_convert (_p1, _p1_pops))
    4796              :                         {
    4797            0 :                           tree _q80 = _p1_pops[0];
    4798            0 :                           switch (TREE_CODE (_q80))
    4799              :                             {
    4800            0 :                             case BIT_IOR_EXPR:
    4801            0 :                               {
    4802            0 :                                 tree _q90 = TREE_OPERAND (_q80, 0);
    4803            0 :                                 tree _q91 = TREE_OPERAND (_q80, 1);
    4804            0 :                                 if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
    4805              :                                   {
    4806            0 :                                     if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
    4807              :                                       {
    4808            0 :                                         {
    4809            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    4810            0 :                                           tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4811            0 :                                           if (res) return res;
    4812              :                                         }
    4813              :                                       }
    4814              :                                   }
    4815            0 :                                 if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
    4816              :                                   {
    4817            0 :                                     if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
    4818              :                                       {
    4819            0 :                                         {
    4820            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    4821            0 :                                           tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4822            0 :                                           if (res) return res;
    4823              :                                         }
    4824              :                                       }
    4825              :                                   }
    4826              :                                 break;
    4827              :                               }
    4828              :                             default:;
    4829              :                             }
    4830              :                         }
    4831              :                     }
    4832              :                     }
    4833              :                   break;
    4834              :                 }
    4835              :               default:;
    4836              :               }
    4837              :           }
    4838              :       }
    4839      2259220 :         break;
    4840              :       }
    4841           77 :     case BIT_IOR_EXPR:
    4842           77 :       {
    4843           77 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4844           77 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4845           77 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4846              :           {
    4847            5 :             {
    4848            5 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4849            5 :               tree res = generic_simplify_90 (loc, type, _p0, _p1, captures);
    4850            5 :               if (res) return res;
    4851              :             }
    4852              :           }
    4853           72 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4854              :           {
    4855            0 :             {
    4856            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4857            0 :               tree res = generic_simplify_90 (loc, type, _p0, _p1, captures);
    4858            0 :               if (res) return res;
    4859              :             }
    4860              :           }
    4861           72 :         switch (TREE_CODE (_p1))
    4862              :           {
    4863            0 :           case BIT_XOR_EXPR:
    4864            0 :             {
    4865            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4866            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4867            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4868              :                 {
    4869            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4870              :                     {
    4871            0 :                       {
    4872            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4873            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1271;
    4874            0 :                         {
    4875            0 :                           tree res_op0;
    4876            0 :                           res_op0 = captures[0];
    4877            0 :                           tree res_op1;
    4878            0 :                           res_op1 = captures[1];
    4879            0 :                           tree _r;
    4880            0 :                           _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    4881            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 914, __FILE__, __LINE__, true);
    4882            0 :                           return _r;
    4883              :                         }
    4884            0 : next_after_fail1271:;
    4885              :                       }
    4886              :                     }
    4887              :                 }
    4888              :               break;
    4889              :             }
    4890            0 :           case BIT_AND_EXPR:
    4891            0 :             {
    4892            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4893            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4894            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4895              :                 {
    4896            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4897              :                     {
    4898            0 :                       {
    4899            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4900            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1272;
    4901            0 :                         {
    4902            0 :                           tree res_op0;
    4903            0 :                           res_op0 = captures[0];
    4904            0 :                           tree res_op1;
    4905            0 :                           res_op1 = captures[1];
    4906            0 :                           tree _r;
    4907            0 :                           _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    4908            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 915, __FILE__, __LINE__, true);
    4909            0 :                           return _r;
    4910              :                         }
    4911            0 : next_after_fail1272:;
    4912              :                       }
    4913              :                     }
    4914              :                 }
    4915              :               break;
    4916              :             }
    4917              :           default:;
    4918              :           }
    4919              :         break;
    4920              :       }
    4921     30201118 :     default:;
    4922              :     }
    4923     30201118 : {
    4924     30201118 :   tree _p0_pops[1];
    4925     30201118 :   if (tree_nop_convert (_p0, _p0_pops))
    4926              :     {
    4927      7223221 :       tree _q20 = _p0_pops[0];
    4928      7223221 :       switch (TREE_CODE (_q20))
    4929              :         {
    4930      1007098 :         case PLUS_EXPR:
    4931      1007098 :           {
    4932      1007098 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4933      1007098 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4934      1007098 :             switch (TREE_CODE (_q30))
    4935              :               {
    4936            8 :               case BIT_AND_EXPR:
    4937            8 :                 {
    4938            8 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4939            8 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    4940            8 :                   if (integer_all_onesp (_q31))
    4941              :                     {
    4942            0 :                       switch (TREE_CODE (_p1))
    4943              :                         {
    4944            0 :                         case BIT_IOR_EXPR:
    4945            0 :                           {
    4946            0 :                             tree _q80 = TREE_OPERAND (_p1, 0);
    4947            0 :                             tree _q81 = TREE_OPERAND (_p1, 1);
    4948            0 :                             if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    4949              :                               {
    4950            0 :                                 if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    4951              :                                   {
    4952            0 :                                     {
    4953            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
    4954            0 :                                       tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4955            0 :                                       if (res) return res;
    4956              :                                     }
    4957              :                                   }
    4958              :                               }
    4959            0 :                             if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    4960              :                               {
    4961            0 :                                 if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    4962              :                                   {
    4963            0 :                                     {
    4964            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
    4965            0 :                                       tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4966            0 :                                       if (res) return res;
    4967              :                                     }
    4968              :                                   }
    4969              :                               }
    4970              :                             break;
    4971              :                           }
    4972            0 :                         default:;
    4973              :                         }
    4974            0 :                     {
    4975            0 :                       tree _p1_pops[1];
    4976            0 :                       if (tree_nop_convert (_p1, _p1_pops))
    4977              :                         {
    4978            0 :                           tree _q80 = _p1_pops[0];
    4979            0 :                           switch (TREE_CODE (_q80))
    4980              :                             {
    4981            0 :                             case BIT_IOR_EXPR:
    4982            0 :                               {
    4983            0 :                                 tree _q90 = TREE_OPERAND (_q80, 0);
    4984            0 :                                 tree _q91 = TREE_OPERAND (_q80, 1);
    4985            0 :                                 if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
    4986              :                                   {
    4987            0 :                                     if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
    4988              :                                       {
    4989            0 :                                         {
    4990            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
    4991            0 :                                           tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    4992            0 :                                           if (res) return res;
    4993              :                                         }
    4994              :                                       }
    4995              :                                   }
    4996            0 :                                 if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
    4997              :                                   {
    4998            0 :                                     if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
    4999              :                                       {
    5000            0 :                                         {
    5001            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
    5002            0 :                                           tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    5003            0 :                                           if (res) return res;
    5004              :                                         }
    5005              :                                       }
    5006              :                                   }
    5007              :                                 break;
    5008              :                               }
    5009              :                             default:;
    5010              :                             }
    5011              :                         }
    5012              :                     }
    5013              :                     }
    5014              :                   break;
    5015              :                 }
    5016      1007098 :               default:;
    5017              :               }
    5018      1007098 :           {
    5019      1007098 :             tree _q30_pops[1];
    5020      1007098 :             if (tree_nop_convert (_q30, _q30_pops))
    5021              :               {
    5022        43729 :                 tree _q40 = _q30_pops[0];
    5023        43729 :                 switch (TREE_CODE (_q40))
    5024              :                   {
    5025            0 :                   case BIT_AND_EXPR:
    5026            0 :                     {
    5027            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    5028            0 :                       tree _q51 = TREE_OPERAND (_q40, 1);
    5029            0 :                       if (integer_all_onesp (_q31))
    5030              :                         {
    5031            0 :                           switch (TREE_CODE (_p1))
    5032              :                             {
    5033            0 :                             case BIT_IOR_EXPR:
    5034            0 :                               {
    5035            0 :                                 tree _q90 = TREE_OPERAND (_p1, 0);
    5036            0 :                                 tree _q91 = TREE_OPERAND (_p1, 1);
    5037            0 :                                 if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    5038              :                                   {
    5039            0 :                                     if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
    5040              :                                       {
    5041            0 :                                         {
    5042            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
    5043            0 :                                           tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    5044            0 :                                           if (res) return res;
    5045              :                                         }
    5046              :                                       }
    5047              :                                   }
    5048            0 :                                 if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
    5049              :                                   {
    5050            0 :                                     if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
    5051              :                                       {
    5052            0 :                                         {
    5053            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
    5054            0 :                                           tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    5055            0 :                                           if (res) return res;
    5056              :                                         }
    5057              :                                       }
    5058              :                                   }
    5059              :                                 break;
    5060              :                               }
    5061            0 :                             default:;
    5062              :                             }
    5063            0 :                         {
    5064            0 :                           tree _p1_pops[1];
    5065            0 :                           if (tree_nop_convert (_p1, _p1_pops))
    5066              :                             {
    5067            0 :                               tree _q90 = _p1_pops[0];
    5068            0 :                               switch (TREE_CODE (_q90))
    5069              :                                 {
    5070            0 :                                 case BIT_IOR_EXPR:
    5071            0 :                                   {
    5072            0 :                                     tree _q100 = TREE_OPERAND (_q90, 0);
    5073            0 :                                     tree _q101 = TREE_OPERAND (_q90, 1);
    5074            0 :                                     if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
    5075              :                                       {
    5076            0 :                                         if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
    5077              :                                           {
    5078            0 :                                             {
    5079            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
    5080            0 :                                               tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    5081            0 :                                               if (res) return res;
    5082              :                                             }
    5083              :                                           }
    5084              :                                       }
    5085            0 :                                     if ((_q100 == _q51 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q51, 0) && types_match (_q100, _q51)))
    5086              :                                       {
    5087            0 :                                         if ((_q101 == _q50 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q50, 0) && types_match (_q101, _q50)))
    5088              :                                           {
    5089            0 :                                             {
    5090            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
    5091            0 :                                               tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    5092            0 :                                               if (res) return res;
    5093              :                                             }
    5094              :                                           }
    5095              :                                       }
    5096              :                                     break;
    5097              :                                   }
    5098              :                                 default:;
    5099              :                                 }
    5100              :                             }
    5101              :                         }
    5102              :                         }
    5103              :                       break;
    5104              :                     }
    5105              :                   default:;
    5106              :                   }
    5107              :               }
    5108              :           }
    5109      1007098 :             break;
    5110              :           }
    5111           14 :         case BIT_AND_EXPR:
    5112           14 :           {
    5113           14 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5114           14 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5115           14 :             switch (TREE_CODE (_p1))
    5116              :               {
    5117            0 :               case PLUS_EXPR:
    5118            0 :                 {
    5119            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5120            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    5121            0 :                   switch (TREE_CODE (_q60))
    5122              :                     {
    5123            0 :                     case BIT_IOR_EXPR:
    5124            0 :                       {
    5125            0 :                         tree _q70 = TREE_OPERAND (_q60, 0);
    5126            0 :                         tree _q71 = TREE_OPERAND (_q60, 1);
    5127            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    5128              :                           {
    5129            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5130              :                               {
    5131            0 :                                 if (integer_onep (_q61))
    5132              :                                   {
    5133            0 :                                     {
    5134            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5135            0 :                                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5136            0 :                                       if (res) return res;
    5137              :                                     }
    5138              :                                   }
    5139              :                               }
    5140              :                           }
    5141            0 :                         if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    5142              :                           {
    5143            0 :                             if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    5144              :                               {
    5145            0 :                                 if (integer_onep (_q61))
    5146              :                                   {
    5147            0 :                                     {
    5148            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5149            0 :                                       tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5150            0 :                                       if (res) return res;
    5151              :                                     }
    5152              :                                   }
    5153              :                               }
    5154              :                           }
    5155              :                         break;
    5156              :                       }
    5157            0 :                     default:;
    5158              :                     }
    5159            0 :                 {
    5160            0 :                   tree _q60_pops[1];
    5161            0 :                   if (tree_nop_convert (_q60, _q60_pops))
    5162              :                     {
    5163            0 :                       tree _q70 = _q60_pops[0];
    5164            0 :                       switch (TREE_CODE (_q70))
    5165              :                         {
    5166            0 :                         case BIT_IOR_EXPR:
    5167            0 :                           {
    5168            0 :                             tree _q80 = TREE_OPERAND (_q70, 0);
    5169            0 :                             tree _q81 = TREE_OPERAND (_q70, 1);
    5170            0 :                             if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    5171              :                               {
    5172            0 :                                 if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
    5173              :                                   {
    5174            0 :                                     if (integer_onep (_q61))
    5175              :                                       {
    5176            0 :                                         {
    5177            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5178            0 :                                           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5179            0 :                                           if (res) return res;
    5180              :                                         }
    5181              :                                       }
    5182              :                                   }
    5183              :                               }
    5184            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
    5185              :                               {
    5186            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    5187              :                                   {
    5188            0 :                                     if (integer_onep (_q61))
    5189              :                                       {
    5190            0 :                                         {
    5191            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5192            0 :                                           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5193            0 :                                           if (res) return res;
    5194              :                                         }
    5195              :                                       }
    5196              :                                   }
    5197              :                               }
    5198              :                             break;
    5199              :                           }
    5200              :                         default:;
    5201              :                         }
    5202              :                     }
    5203              :                 }
    5204            0 :                   break;
    5205              :                 }
    5206           14 :               default:;
    5207              :               }
    5208           14 :           {
    5209           14 :             tree _p1_pops[1];
    5210           14 :             if (tree_nop_convert (_p1, _p1_pops))
    5211              :               {
    5212           14 :                 tree _q60 = _p1_pops[0];
    5213           14 :                 switch (TREE_CODE (_q60))
    5214              :                   {
    5215            0 :                   case PLUS_EXPR:
    5216            0 :                     {
    5217            0 :                       tree _q70 = TREE_OPERAND (_q60, 0);
    5218            0 :                       tree _q71 = TREE_OPERAND (_q60, 1);
    5219            0 :                       switch (TREE_CODE (_q70))
    5220              :                         {
    5221            0 :                         case BIT_IOR_EXPR:
    5222            0 :                           {
    5223            0 :                             tree _q80 = TREE_OPERAND (_q70, 0);
    5224            0 :                             tree _q81 = TREE_OPERAND (_q70, 1);
    5225            0 :                             if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    5226              :                               {
    5227            0 :                                 if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
    5228              :                                   {
    5229            0 :                                     if (integer_onep (_q71))
    5230              :                                       {
    5231            0 :                                         {
    5232            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
    5233            0 :                                           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5234            0 :                                           if (res) return res;
    5235              :                                         }
    5236              :                                       }
    5237              :                                   }
    5238              :                               }
    5239            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
    5240              :                               {
    5241            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    5242              :                                   {
    5243            0 :                                     if (integer_onep (_q71))
    5244              :                                       {
    5245            0 :                                         {
    5246            0 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
    5247            0 :                                           tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5248            0 :                                           if (res) return res;
    5249              :                                         }
    5250              :                                       }
    5251              :                                   }
    5252              :                               }
    5253              :                             break;
    5254              :                           }
    5255            0 :                         default:;
    5256              :                         }
    5257            0 :                     {
    5258            0 :                       tree _q70_pops[1];
    5259            0 :                       if (tree_nop_convert (_q70, _q70_pops))
    5260              :                         {
    5261            0 :                           tree _q80 = _q70_pops[0];
    5262            0 :                           switch (TREE_CODE (_q80))
    5263              :                             {
    5264            0 :                             case BIT_IOR_EXPR:
    5265            0 :                               {
    5266            0 :                                 tree _q90 = TREE_OPERAND (_q80, 0);
    5267            0 :                                 tree _q91 = TREE_OPERAND (_q80, 1);
    5268            0 :                                 if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5269              :                                   {
    5270            0 :                                     if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5271              :                                       {
    5272            0 :                                         if (integer_onep (_q71))
    5273              :                                           {
    5274            0 :                                             {
    5275            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
    5276            0 :                                               tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5277            0 :                                               if (res) return res;
    5278              :                                             }
    5279              :                                           }
    5280              :                                       }
    5281              :                                   }
    5282            0 :                                 if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
    5283              :                                   {
    5284            0 :                                     if ((_q91 == _q30 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q30, 0) && types_match (_q91, _q30)))
    5285              :                                       {
    5286            0 :                                         if (integer_onep (_q71))
    5287              :                                           {
    5288            0 :                                             {
    5289            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
    5290            0 :                                               tree res = generic_simplify_88 (loc, type, _p0, _p1, captures);
    5291            0 :                                               if (res) return res;
    5292              :                                             }
    5293              :                                           }
    5294              :                                       }
    5295              :                                   }
    5296              :                                 break;
    5297              :                               }
    5298              :                             default:;
    5299              :                             }
    5300              :                         }
    5301              :                     }
    5302            0 :                       break;
    5303              :                     }
    5304              :                   default:;
    5305              :                   }
    5306              :               }
    5307              :           }
    5308           14 :             break;
    5309              :           }
    5310              :         default:;
    5311              :         }
    5312              :     }
    5313              : }
    5314     30201118 :   if (tree_negate_expr_p (_p1))
    5315              :     {
    5316      7380378 :       {
    5317      7380378 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5318      7380378 :         if (!FIXED_POINT_TYPE_P (type)
    5319              : )
    5320              :           {
    5321      7380378 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1273;
    5322      7380378 :             {
    5323      7380378 :               tree res_op0;
    5324      7380378 :               res_op0 = captures[0];
    5325      7380378 :               tree res_op1;
    5326      7380378 :               {
    5327      7380378 :                 tree _o1[1], _r1;
    5328      7380378 :                 _o1[0] = captures[1];
    5329      7380378 :                 _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5330      7380378 :                 res_op1 = _r1;
    5331              :               }
    5332      7380378 :               tree _r;
    5333      7380378 :               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    5334      7380378 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 916, __FILE__, __LINE__, true);
    5335      7380378 :               return _r;
    5336              :             }
    5337            0 : next_after_fail1273:;
    5338              :           }
    5339              :       }
    5340              :     }
    5341     22820740 :   switch (TREE_CODE (_p0))
    5342              :     {
    5343      4966321 :     CASE_CONVERT:
    5344      4966321 :       {
    5345      4966321 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5346      4966321 :         switch (TREE_CODE (_p1))
    5347              :           {
    5348      4136096 :           CASE_CONVERT:
    5349      4136096 :             {
    5350      4136096 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5351      4136096 :               switch (TREE_CODE (_q40))
    5352              :                 {
    5353           15 :                 case BIT_AND_EXPR:
    5354           15 :                   {
    5355           15 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5356           15 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5357           15 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    5358              :                       {
    5359            0 :                         {
    5360            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p1, _q40, _q51, _q20 };
    5361            0 :                           tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
    5362            0 :                           if (res) return res;
    5363              :                         }
    5364              :                       }
    5365           15 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    5366              :                       {
    5367            1 :                         {
    5368            1 :                           tree captures[5] ATTRIBUTE_UNUSED = { _q51, _p1, _q40, _q50, _q20 };
    5369            1 :                           tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
    5370            1 :                           if (res) return res;
    5371              :                         }
    5372              :                       }
    5373              :                     break;
    5374              :                   }
    5375              :                 default:;
    5376              :                 }
    5377              :               break;
    5378              :             }
    5379         4919 :           case BIT_AND_EXPR:
    5380         4919 :             {
    5381         4919 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5382         4919 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5383         4919 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
    5384              :                 {
    5385            0 :                   {
    5386            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _p1, _q41, _q20 };
    5387            0 :                     tree res = generic_simplify_92 (loc, type, _p0, _p1, captures);
    5388            0 :                     if (res) return res;
    5389              :                   }
    5390              :                 }
    5391         4919 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
    5392              :                 {
    5393           21 :                   {
    5394           21 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _p1, _q40, _q20 };
    5395           21 :                     tree res = generic_simplify_92 (loc, type, _p0, _p1, captures);
    5396           21 :                     if (res) return res;
    5397              :                   }
    5398              :                 }
    5399              :               break;
    5400              :             }
    5401      4966299 :           default:;
    5402              :           }
    5403      4966299 :         switch (TREE_CODE (_q20))
    5404              :           {
    5405       107116 :           case ADDR_EXPR:
    5406       107116 :             {
    5407       107116 :               switch (TREE_CODE (_p1))
    5408              :                 {
    5409        98970 :                 CASE_CONVERT:
    5410        98970 :                   {
    5411        98970 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    5412        98970 :                     switch (TREE_CODE (_q40))
    5413              :                       {
    5414        26534 :                       case POINTER_PLUS_EXPR:
    5415        26534 :                         {
    5416        26534 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    5417        26534 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    5418        26534 :                           {
    5419        26534 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
    5420        26534 :                             if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    5421              : )
    5422              :                               {
    5423        26534 :                                 {
    5424        26534 :  poly_int64 diff;
    5425        26534 :                                     if (ptr_difference_const (captures[0], captures[1], &diff)
    5426              : )
    5427              :                                       {
    5428        11934 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1274;
    5429        11934 :                                         {
    5430        11934 :                                           tree res_op0;
    5431        11934 :                                           res_op0 =  build_int_cst_type (type, diff);
    5432        11934 :                                           tree res_op1;
    5433        11934 :                                           {
    5434        11934 :                                             tree _o1[1], _r1;
    5435        11934 :                                             _o1[0] = captures[2];
    5436        11934 :                                             if (TREE_TYPE (_o1[0]) != type)
    5437              :                                               {
    5438        11934 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    5439              :                                               }
    5440              :                                             else
    5441              :                                               _r1 = _o1[0];
    5442        11934 :                                             res_op1 = _r1;
    5443              :                                           }
    5444        11934 :                                           tree _r;
    5445        11934 :                                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    5446        11934 :                                           if (TREE_SIDE_EFFECTS (captures[0]))
    5447            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5448        11934 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
    5449            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5450        11934 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 917, __FILE__, __LINE__, true);
    5451        11934 :                                           return _r;
    5452              :                                         }
    5453            0 : next_after_fail1274:;
    5454              :                                       }
    5455              :                                 }
    5456              :                               }
    5457              :                           }
    5458        14600 :                           break;
    5459              :                         }
    5460        87036 :                       default:;
    5461              :                       }
    5462        87036 :                     {
    5463        87036 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5464        87036 :                       if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    5465              : )
    5466              :                         {
    5467        87036 :                           {
    5468        87036 :  poly_int64 diff;
    5469        87036 :                               if (ptr_difference_const (captures[0], captures[1], &diff)
    5470              : )
    5471              :                                 {
    5472        54019 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1275;
    5473        54019 :                                   {
    5474        54019 :                                     tree _r;
    5475        54019 :                                     _r =  build_int_cst_type (type, diff);
    5476        54019 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    5477            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5478        54019 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    5479            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5480        54019 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 918, __FILE__, __LINE__, true);
    5481        54019 :                                     return _r;
    5482              :                                   }
    5483            0 : next_after_fail1275:;
    5484              :                                 }
    5485              :                           }
    5486              :                         }
    5487              :                     }
    5488        33017 :                     break;
    5489              :                   }
    5490              :                 default:;
    5491              :                 }
    5492              :               break;
    5493              :             }
    5494       100784 :           case POINTER_PLUS_EXPR:
    5495       100784 :             {
    5496       100784 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5497       100784 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5498       100784 :               switch (TREE_CODE (_p1))
    5499              :                 {
    5500        99694 :                 CASE_CONVERT:
    5501        99694 :                   {
    5502        99694 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5503        99694 :                     switch (TREE_CODE (_q60))
    5504              :                       {
    5505         5419 :                       case ADDR_EXPR:
    5506         5419 :                         {
    5507         5419 :                           {
    5508         5419 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
    5509         5419 :                             if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    5510              : )
    5511              :                               {
    5512         5419 :                                 {
    5513         5419 :  poly_int64 diff;
    5514         5419 :                                     if (ptr_difference_const (captures[0], captures[2], &diff)
    5515              : )
    5516              :                                       {
    5517         1154 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1276;
    5518         1154 :                                         {
    5519         1154 :                                           tree res_op0;
    5520         1154 :                                           {
    5521         1154 :                                             tree _o1[1], _r1;
    5522         1154 :                                             _o1[0] = captures[1];
    5523         1154 :                                             if (TREE_TYPE (_o1[0]) != type)
    5524              :                                               {
    5525          881 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    5526              :                                               }
    5527              :                                             else
    5528              :                                               _r1 = _o1[0];
    5529         1154 :                                             res_op0 = _r1;
    5530              :                                           }
    5531         1154 :                                           tree res_op1;
    5532         1154 :                                           res_op1 =  build_int_cst_type (type, diff);
    5533         1154 :                                           tree _r;
    5534         1154 :                                           _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    5535         1154 :                                           if (TREE_SIDE_EFFECTS (captures[0]))
    5536            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5537         1154 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
    5538            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    5539         1154 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 919, __FILE__, __LINE__, true);
    5540         1154 :                                           return _r;
    5541              :                                         }
    5542            0 : next_after_fail1276:;
    5543              :                                       }
    5544              :                                 }
    5545              :                               }
    5546              :                           }
    5547         4265 :                           break;
    5548              :                         }
    5549              :                       default:;
    5550              :                       }
    5551              :                     break;
    5552              :                   }
    5553              :                 default:;
    5554              :                 }
    5555              :               break;
    5556              :             }
    5557      4899192 :           default:;
    5558              :           }
    5559      4899192 :         switch (TREE_CODE (_p1))
    5560              :           {
    5561      4068988 :           CASE_CONVERT:
    5562      4068988 :             {
    5563      4068988 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5564      4068988 :               switch (TREE_CODE (_q40))
    5565              :                 {
    5566        48292 :                 case ADDR_EXPR:
    5567        48292 :                   {
    5568        48292 :                     {
    5569        48292 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5570        48292 :                       if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    5571              : )
    5572              :                         {
    5573        48271 :                           {
    5574        48271 :  poly_int64 diff;
    5575        48271 :                               if (ptr_difference_const (captures[0], captures[1], &diff)
    5576              : )
    5577              :                                 {
    5578            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1277;
    5579            0 :                                   {
    5580            0 :                                     tree _r;
    5581            0 :                                     _r =  build_int_cst_type (type, diff);
    5582            0 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    5583            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5584            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    5585            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5586            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    5587            0 :                                     return _r;
    5588              :                                   }
    5589            0 : next_after_fail1277:;
    5590              :                                 }
    5591              :                           }
    5592              :                         }
    5593              :                     }
    5594        48292 :                     break;
    5595              :                   }
    5596              :                 default:;
    5597              :                 }
    5598              :               break;
    5599              :             }
    5600              :           default:;
    5601              :           }
    5602              :         break;
    5603              :       }
    5604     22753611 :     default:;
    5605              :     }
    5606     22753611 : if (integer_onep (_p0))
    5607              :   {
    5608       106159 :     switch (TREE_CODE (_p1))
    5609              :       {
    5610        27600 :       case SSA_NAME:
    5611        27600 :         {
    5612        27600 :           {
    5613        27600 :             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5614        27600 :             if (INTEGRAL_TYPE_P (type)
    5615        27600 :  && ssa_name_has_boolean_range (captures[1])
    5616              : )
    5617              :               {
    5618          217 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1278;
    5619          217 :                 {
    5620          217 :                   tree res_op0;
    5621          217 :                   res_op0 = captures[1];
    5622          217 :                   tree res_op1;
    5623          217 :                   res_op1 = captures[0];
    5624          217 :                   tree _r;
    5625          217 :                   _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    5626          217 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 921, __FILE__, __LINE__, true);
    5627          217 :                   return _r;
    5628              :                 }
    5629            0 : next_after_fail1278:;
    5630              :               }
    5631              :           }
    5632        27383 :           break;
    5633              :         }
    5634              :       default:;
    5635              :       }
    5636              :   }
    5637     22753394 :   switch (TREE_CODE (_p1))
    5638              :     {
    5639      7370255 :     CASE_CONVERT:
    5640      7370255 :       {
    5641      7370255 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5642      7370255 :         switch (TREE_CODE (_q30))
    5643              :           {
    5644           14 :           case BIT_AND_EXPR:
    5645           14 :             {
    5646           14 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5647           14 :               tree _q41 = TREE_OPERAND (_q30, 1);
    5648           14 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
    5649              :                 {
    5650            0 :                   {
    5651            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _q30, _q41, _p0 };
    5652            0 :                     tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
    5653            0 :                     if (res) return res;
    5654              :                   }
    5655              :                 }
    5656           14 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    5657              :                 {
    5658            0 :                   {
    5659            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
    5660            0 :                     tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
    5661            0 :                     if (res) return res;
    5662              :                   }
    5663              :                 }
    5664              :               break;
    5665              :             }
    5666              :           default:;
    5667              :           }
    5668              :         break;
    5669              :       }
    5670         6983 :     case BIT_AND_EXPR:
    5671         6983 :       {
    5672         6983 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5673         6983 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5674         6983 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    5675              :           {
    5676          217 :             {
    5677          217 :               tree captures[5] ATTRIBUTE_UNUSED = { _q30, _p1, _p1, _q31, _p0 };
    5678          217 :               tree res = generic_simplify_92 (loc, type, _p0, _p1, captures);
    5679          217 :               if (res) return res;
    5680              :             }
    5681              :           }
    5682         6766 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    5683              :           {
    5684           38 :             {
    5685           38 :               tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
    5686           38 :               tree res = generic_simplify_92 (loc, type, _p0, _p1, captures);
    5687           38 :               if (res) return res;
    5688              :             }
    5689              :           }
    5690              :         break;
    5691              :       }
    5692     22753139 :     default:;
    5693              :     }
    5694     22753139 :   switch (TREE_CODE (_p0))
    5695              :     {
    5696      1746829 :     case PLUS_EXPR:
    5697      1746829 :       {
    5698      1746829 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5699      1746829 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5700      1746829 :         switch (TREE_CODE (_p1))
    5701              :           {
    5702       472374 :           case PLUS_EXPR:
    5703       472374 :             {
    5704       472374 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5705       472374 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5706       472374 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5707              :                 {
    5708       171725 :                   {
    5709       171725 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5710       343450 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5711       343450 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5712        40237 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5713              : )
    5714              :                       {
    5715       171719 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1279;
    5716       171719 :                         {
    5717       171719 :                           tree res_op0;
    5718       171719 :                           res_op0 = captures[0];
    5719       171719 :                           tree res_op1;
    5720       171719 :                           res_op1 = captures[2];
    5721       171719 :                           tree _r;
    5722       171719 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    5723       171719 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5724            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5725       171719 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5726       171719 :                           return _r;
    5727              :                         }
    5728            0 : next_after_fail1279:;
    5729              :                       }
    5730              :                   }
    5731              :                 }
    5732       300655 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5733              :                 {
    5734          353 :                   {
    5735          353 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5736          706 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5737          706 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5738          243 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5739              : )
    5740              :                       {
    5741          353 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1280;
    5742          353 :                         {
    5743          353 :                           tree res_op0;
    5744          353 :                           res_op0 = captures[0];
    5745          353 :                           tree res_op1;
    5746          353 :                           res_op1 = captures[2];
    5747          353 :                           tree _r;
    5748          353 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    5749          353 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5750            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5751          353 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5752          353 :                           return _r;
    5753              :                         }
    5754            0 : next_after_fail1280:;
    5755              :                       }
    5756              :                   }
    5757              :                 }
    5758       300302 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5759              :                 {
    5760          183 :                   {
    5761          183 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5762          366 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5763          366 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5764           94 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5765              : )
    5766              :                       {
    5767          183 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1281;
    5768          183 :                         {
    5769          183 :                           tree res_op0;
    5770          183 :                           res_op0 = captures[0];
    5771          183 :                           tree res_op1;
    5772          183 :                           res_op1 = captures[2];
    5773          183 :                           tree _r;
    5774          183 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    5775          183 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5776            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5777          183 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5778          183 :                           return _r;
    5779              :                         }
    5780            0 : next_after_fail1281:;
    5781              :                       }
    5782              :                   }
    5783              :                 }
    5784       300119 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5785              :                 {
    5786       172309 :                   {
    5787       172309 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5788       344618 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5789       344618 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5790       138909 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5791              : )
    5792              :                       {
    5793       172309 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1282;
    5794       172309 :                         {
    5795       172309 :                           tree res_op0;
    5796       172309 :                           res_op0 = captures[0];
    5797       172309 :                           tree res_op1;
    5798       172309 :                           res_op1 = captures[2];
    5799       172309 :                           tree _r;
    5800       172309 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    5801       172309 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5802            2 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5803       172309 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    5804       172309 :                           return _r;
    5805              :                         }
    5806            0 : next_after_fail1282:;
    5807              :                       }
    5808              :                   }
    5809              :                 }
    5810              :               break;
    5811              :             }
    5812              :           default:;
    5813              :           }
    5814              :         break;
    5815              :       }
    5816       954379 :     case MINUS_EXPR:
    5817       954379 :       {
    5818       954379 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5819       954379 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5820       954379 :         switch (TREE_CODE (_p1))
    5821              :           {
    5822         3919 :           case MINUS_EXPR:
    5823         3919 :             {
    5824         3919 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5825         3919 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5826         3919 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5827              :                 {
    5828         3877 :                   {
    5829         3877 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5830         7754 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5831         7754 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5832            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5833              : )
    5834              :                       {
    5835         3877 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1283;
    5836         3877 :                         {
    5837         3877 :                           tree res_op0;
    5838         3877 :                           res_op0 = captures[0];
    5839         3877 :                           tree res_op1;
    5840         3877 :                           res_op1 = captures[2];
    5841         3877 :                           tree _r;
    5842         3877 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    5843         3877 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5844            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5845         3877 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
    5846         3877 :                           return _r;
    5847              :                         }
    5848            0 : next_after_fail1283:;
    5849              :                       }
    5850              :                   }
    5851              :                 }
    5852           42 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5853              :                 {
    5854            0 :                   {
    5855            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5856            0 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5857            0 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5858            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5859              : )
    5860              :                       {
    5861            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1284;
    5862            0 :                         {
    5863            0 :                           tree res_op0;
    5864            0 :                           res_op0 = captures[2];
    5865            0 :                           tree res_op1;
    5866            0 :                           res_op1 = captures[1];
    5867            0 :                           tree _r;
    5868            0 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    5869            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5870            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5871            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 924, __FILE__, __LINE__, true);
    5872            0 :                           return _r;
    5873              :                         }
    5874            0 : next_after_fail1284:;
    5875              :                       }
    5876              :                   }
    5877              :                 }
    5878              :               break;
    5879              :             }
    5880              :           default:;
    5881              :           }
    5882              :         break;
    5883              :       }
    5884           59 :     case POINTER_DIFF_EXPR:
    5885           59 :       {
    5886           59 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5887           59 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5888           59 :         switch (TREE_CODE (_p1))
    5889              :           {
    5890            0 :           case POINTER_DIFF_EXPR:
    5891            0 :             {
    5892            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5893            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5894            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5895              :                 {
    5896            0 :                   {
    5897            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5898            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5899            0 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
    5900              : )
    5901              :                       {
    5902            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1285;
    5903            0 :                         {
    5904            0 :                           tree res_op0;
    5905            0 :                           res_op0 = captures[1];
    5906            0 :                           tree res_op1;
    5907            0 :                           res_op1 = captures[3];
    5908            0 :                           tree _r;
    5909            0 :                           _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
    5910            0 :                           if (TREE_SIDE_EFFECTS (captures[2]))
    5911            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    5912            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    5913            0 :                           return _r;
    5914              :                         }
    5915            0 : next_after_fail1285:;
    5916              :                       }
    5917              :                   }
    5918              :                 }
    5919            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5920              :                 {
    5921            0 :                   {
    5922            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5923            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5924            0 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    5925              : )
    5926              :                       {
    5927            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1286;
    5928            0 :                         {
    5929            0 :                           tree res_op0;
    5930            0 :                           res_op0 = captures[3];
    5931            0 :                           tree res_op1;
    5932            0 :                           res_op1 = captures[2];
    5933            0 :                           tree _r;
    5934            0 :                           _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
    5935            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5936            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5937            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 926, __FILE__, __LINE__, true);
    5938            0 :                           return _r;
    5939              :                         }
    5940            0 : next_after_fail1286:;
    5941              :                       }
    5942              :                   }
    5943              :                 }
    5944              :               break;
    5945              :             }
    5946              :           default:;
    5947              :           }
    5948              :         break;
    5949              :       }
    5950     22404698 :     default:;
    5951              :     }
    5952     22404698 :   switch (TREE_CODE (_p1))
    5953              :     {
    5954      7370255 :     CASE_CONVERT:
    5955      7370255 :       {
    5956      7370255 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5957      7370255 :         switch (TREE_CODE (_q30))
    5958              :           {
    5959         2609 :           case NEGATE_EXPR:
    5960         2609 :             {
    5961         2609 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5962         2609 :               {
    5963         2609 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    5964         2609 :                 tree res = generic_simplify_93 (loc, type, _p0, _p1, captures);
    5965         2609 :                 if (res) return res;
    5966              :               }
    5967         2601 :               break;
    5968              :             }
    5969              :           default:;
    5970              :           }
    5971              :         break;
    5972              :       }
    5973           45 :     case NEGATE_EXPR:
    5974           45 :       {
    5975           45 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5976           45 :         {
    5977           45 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5978           45 :           tree res = generic_simplify_93 (loc, type, _p0, _p1, captures);
    5979           45 :           if (res) return res;
    5980              :         }
    5981           40 :         break;
    5982              :       }
    5983     22404685 :     default:;
    5984              :     }
    5985     22404685 :   switch (TREE_CODE (_p0))
    5986              :     {
    5987      1402265 :     case PLUS_EXPR:
    5988      1402265 :       {
    5989      1402265 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5990      1402265 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5991      1402265 :         {
    5992      1402265 :           tree _q20_pops[1];
    5993      1402265 :           if (tree_nop_convert (_q20, _q20_pops))
    5994              :             {
    5995       328719 :               tree _q30 = _q20_pops[0];
    5996       328719 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5997              :                 {
    5998          338 :                   {
    5999          338 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    6000          338 :                     tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6001          338 :                     if (res) return res;
    6002              :                   }
    6003              :                 }
    6004              :             }
    6005              :         }
    6006      1401927 :         {
    6007      1401927 :           tree _q21_pops[1];
    6008      1401927 :           if (tree_nop_convert (_q21, _q21_pops))
    6009              :             {
    6010       483010 :               tree _q40 = _q21_pops[0];
    6011       483010 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6012              :                 {
    6013           89 :                   {
    6014           89 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6015           89 :                     tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6016           89 :                     if (res) return res;
    6017              :                   }
    6018              :                 }
    6019              :             }
    6020              :         }
    6021      1401838 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6022              :           {
    6023        53204 :             {
    6024        53204 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6025        53204 :               tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6026        53204 :               if (res) return res;
    6027              :             }
    6028              :           }
    6029      1348634 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6030              :           {
    6031         1683 :             {
    6032         1683 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6033         1683 :               tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6034         1683 :               if (res) return res;
    6035              :             }
    6036              :           }
    6037              :         break;
    6038              :       }
    6039       950502 :     case MINUS_EXPR:
    6040       950502 :       {
    6041       950502 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6042       950502 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6043       950502 :         {
    6044       950502 :           tree _q20_pops[1];
    6045       950502 :           if (tree_nop_convert (_q20, _q20_pops))
    6046              :             {
    6047        84202 :               tree _q30 = _q20_pops[0];
    6048        84202 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6049              :                 {
    6050            0 :                   {
    6051            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    6052            0 :                     tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
    6053            0 :                     if (res) return res;
    6054              :                   }
    6055              :                 }
    6056              :             }
    6057              :         }
    6058       950502 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6059              :           {
    6060          178 :             {
    6061          178 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6062          178 :               tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
    6063          178 :               if (res) return res;
    6064              :             }
    6065              :           }
    6066              :         break;
    6067              :       }
    6068     22349204 :     default:;
    6069              :     }
    6070     22349204 : {
    6071     22349204 :   tree _p0_pops[1];
    6072     22349204 :   if (tree_nop_convert (_p0, _p0_pops))
    6073              :     {
    6074      4327822 :       tree _q20 = _p0_pops[0];
    6075      4327822 :       switch (TREE_CODE (_q20))
    6076              :         {
    6077       351927 :         case PLUS_EXPR:
    6078       351927 :           {
    6079       351927 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6080       351927 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6081       351927 :             {
    6082       351927 :               tree _q30_pops[1];
    6083       351927 :               if (tree_nop_convert (_q30, _q30_pops))
    6084              :                 {
    6085        31231 :                   tree _q40 = _q30_pops[0];
    6086        31231 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6087              :                     {
    6088          638 :                       {
    6089          638 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
    6090          638 :                         tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6091          638 :                         if (res) return res;
    6092              :                       }
    6093              :                     }
    6094              :                 }
    6095              :             }
    6096       351289 :             {
    6097       351289 :               tree _q31_pops[1];
    6098       351289 :               if (tree_nop_convert (_q31, _q31_pops))
    6099              :                 {
    6100         2147 :                   tree _q50 = _q31_pops[0];
    6101         2147 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6102              :                     {
    6103           52 :                       {
    6104           52 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6105           52 :                         tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6106           52 :                         if (res) return res;
    6107              :                       }
    6108              :                     }
    6109              :                 }
    6110              :             }
    6111       351237 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6112              :               {
    6113           10 :                 {
    6114           10 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6115           10 :                   tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6116           10 :                   if (res) return res;
    6117              :                 }
    6118              :               }
    6119       351227 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6120              :               {
    6121            0 :                 {
    6122            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6123            0 :                   tree res = generic_simplify_94 (loc, type, _p0, _p1, captures);
    6124            0 :                   if (res) return res;
    6125              :                 }
    6126              :               }
    6127              :             break;
    6128              :           }
    6129          768 :         case MINUS_EXPR:
    6130          768 :           {
    6131          768 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6132          768 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6133          768 :             {
    6134          768 :               tree _q30_pops[1];
    6135          768 :               if (tree_nop_convert (_q30, _q30_pops))
    6136              :                 {
    6137            0 :                   tree _q40 = _q30_pops[0];
    6138            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6139              :                     {
    6140            0 :                       {
    6141            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
    6142            0 :                         tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
    6143            0 :                         if (res) return res;
    6144              :                       }
    6145              :                     }
    6146              :                 }
    6147              :             }
    6148          768 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6149              :               {
    6150            0 :                 {
    6151            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6152            0 :                   tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
    6153            0 :                   if (res) return res;
    6154              :                 }
    6155              :               }
    6156              :             break;
    6157              :           }
    6158              :         default:;
    6159              :         }
    6160              :     }
    6161              : }
    6162     22348504 :   switch (TREE_CODE (_p1))
    6163              :     {
    6164      1259737 :     case PLUS_EXPR:
    6165      1259737 :       {
    6166      1259737 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6167      1259737 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6168      1259737 :         {
    6169      1259737 :           tree _q30_pops[1];
    6170      1259737 :           if (tree_nop_convert (_q30, _q30_pops))
    6171              :             {
    6172       331144 :               tree _q40 = _q30_pops[0];
    6173       331144 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6174              :                 {
    6175           71 :                   {
    6176           71 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6177           71 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6178           71 :                     if (res) return res;
    6179              :                   }
    6180              :                 }
    6181              :             }
    6182              :         }
    6183      1259666 :         {
    6184      1259666 :           tree _q31_pops[1];
    6185      1259666 :           if (tree_nop_convert (_q31, _q31_pops))
    6186              :             {
    6187        61943 :               tree _q50 = _q31_pops[0];
    6188        61943 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6189              :                 {
    6190            0 :                   {
    6191            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6192            0 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6193            0 :                     if (res) return res;
    6194              :                   }
    6195              :                 }
    6196              :             }
    6197              :         }
    6198      1259666 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6199              :           {
    6200        38043 :             {
    6201        38043 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6202        38043 :               tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6203        38043 :               if (res) return res;
    6204              :             }
    6205              :           }
    6206      1221623 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6207              :           {
    6208         1457 :             {
    6209         1457 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6210         1457 :               tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6211         1457 :               if (res) return res;
    6212              :             }
    6213              :           }
    6214              :         break;
    6215              :       }
    6216        80740 :     case MINUS_EXPR:
    6217        80740 :       {
    6218        80740 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6219        80740 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6220        80740 :         {
    6221        80740 :           tree _q30_pops[1];
    6222        80740 :           if (tree_nop_convert (_q30, _q30_pops))
    6223              :             {
    6224           61 :               tree _q40 = _q30_pops[0];
    6225           61 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6226              :                 {
    6227            0 :                   {
    6228            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6229            0 :                     tree res = generic_simplify_97 (loc, type, _p0, _p1, captures);
    6230            0 :                     if (res) return res;
    6231              :                   }
    6232              :                 }
    6233              :             }
    6234              :         }
    6235        80740 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6236              :           {
    6237          337 :             {
    6238          337 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6239          337 :               tree res = generic_simplify_97 (loc, type, _p0, _p1, captures);
    6240          337 :               if (res) return res;
    6241              :             }
    6242              :           }
    6243              :         break;
    6244              :       }
    6245     22308596 :     default:;
    6246              :     }
    6247     22308596 : {
    6248     22308596 :   tree _p1_pops[1];
    6249     22308596 :   if (tree_nop_convert (_p1, _p1_pops))
    6250              :     {
    6251      6681018 :       tree _q30 = _p1_pops[0];
    6252      6681018 :       switch (TREE_CODE (_q30))
    6253              :         {
    6254       661434 :         case PLUS_EXPR:
    6255       661434 :           {
    6256       661434 :             tree _q40 = TREE_OPERAND (_q30, 0);
    6257       661434 :             tree _q41 = TREE_OPERAND (_q30, 1);
    6258       661434 :             {
    6259       661434 :               tree _q40_pops[1];
    6260       661434 :               if (tree_nop_convert (_q40, _q40_pops))
    6261              :                 {
    6262        65143 :                   tree _q50 = _q40_pops[0];
    6263        65143 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6264              :                     {
    6265          152 :                       {
    6266          152 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    6267          152 :                         tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6268          152 :                         if (res) return res;
    6269              :                       }
    6270              :                     }
    6271              :                 }
    6272              :             }
    6273       661282 :             {
    6274       661282 :               tree _q41_pops[1];
    6275       661282 :               if (tree_nop_convert (_q41, _q41_pops))
    6276              :                 {
    6277        17616 :                   tree _q60 = _q41_pops[0];
    6278        17616 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6279              :                     {
    6280            0 :                       {
    6281            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6282            0 :                         tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6283            0 :                         if (res) return res;
    6284              :                       }
    6285              :                     }
    6286              :                 }
    6287              :             }
    6288       661282 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6289              :               {
    6290            7 :                 {
    6291            7 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    6292            7 :                   tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6293            7 :                   if (res) return res;
    6294              :                 }
    6295              :               }
    6296       661275 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6297              :               {
    6298            0 :                 {
    6299            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6300            0 :                   tree res = generic_simplify_96 (loc, type, _p0, _p1, captures);
    6301            0 :                   if (res) return res;
    6302              :                 }
    6303              :               }
    6304              :             break;
    6305              :           }
    6306         7532 :         case MINUS_EXPR:
    6307         7532 :           {
    6308         7532 :             tree _q40 = TREE_OPERAND (_q30, 0);
    6309         7532 :             tree _q41 = TREE_OPERAND (_q30, 1);
    6310         7532 :             {
    6311         7532 :               tree _q40_pops[1];
    6312         7532 :               if (tree_nop_convert (_q40, _q40_pops))
    6313              :                 {
    6314         6712 :                   tree _q50 = _q40_pops[0];
    6315         6712 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6316              :                     {
    6317            0 :                       {
    6318            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    6319            0 :                         tree res = generic_simplify_97 (loc, type, _p0, _p1, captures);
    6320            0 :                         if (res) return res;
    6321              :                       }
    6322              :                     }
    6323              :                 }
    6324              :             }
    6325         7532 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6326              :               {
    6327            2 :                 {
    6328            2 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    6329            2 :                   tree res = generic_simplify_97 (loc, type, _p0, _p1, captures);
    6330            2 :                   if (res) return res;
    6331              :                 }
    6332              :               }
    6333              :             break;
    6334              :           }
    6335              :         default:;
    6336              :         }
    6337              :     }
    6338              : }
    6339     22308435 :   switch (TREE_CODE (_p0))
    6340              :     {
    6341      1346962 :     case PLUS_EXPR:
    6342      1346962 :       {
    6343      1346962 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6344      1346962 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6345      1346962 :         switch (TREE_CODE (_p1))
    6346              :           {
    6347            0 :           case MINUS_EXPR:
    6348            0 :             {
    6349            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6350            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6351            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6352              :                 {
    6353            0 :                   {
    6354            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    6355            0 :                     tree res = generic_simplify_98 (loc, type, _p0, _p1, captures);
    6356            0 :                     if (res) return res;
    6357              :                   }
    6358              :                 }
    6359            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6360              :                 {
    6361            0 :                   {
    6362            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    6363            0 :                     tree res = generic_simplify_98 (loc, type, _p0, _p1, captures);
    6364            0 :                     if (res) return res;
    6365              :                   }
    6366              :                 }
    6367              :               break;
    6368              :             }
    6369      1346962 :           default:;
    6370              :           }
    6371      1346962 :         if (CONSTANT_CLASS_P (_q21))
    6372              :           {
    6373       565776 :             if (CONSTANT_CLASS_P (_p1))
    6374              :               {
    6375           13 :                 {
    6376           13 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6377           13 :                   tree res = generic_simplify_61 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, MINUS_EXPR);
    6378           13 :                   if (res) return res;
    6379              :                 }
    6380              :               }
    6381              :           }
    6382              :         break;
    6383              :       }
    6384       950321 :     case MINUS_EXPR:
    6385       950321 :       {
    6386       950321 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6387       950321 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6388       950321 :         if (CONSTANT_CLASS_P (_q21))
    6389              :           {
    6390        93646 :             if (CONSTANT_CLASS_P (_p1))
    6391              :               {
    6392           12 :                 {
    6393           12 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6394           12 :                   tree res = generic_simplify_61 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, MINUS_EXPR);
    6395           12 :                   if (res) return res;
    6396              :                 }
    6397              :               }
    6398              :           }
    6399       950321 :         if (CONSTANT_CLASS_P (_q20))
    6400              :           {
    6401         2928 :             if (CONSTANT_CLASS_P (_p1))
    6402              :               {
    6403            1 :                 {
    6404            1 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6405            1 :                   tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    6406            1 :                   if (res) return res;
    6407              :                 }
    6408              :               }
    6409              :           }
    6410              :         break;
    6411              :       }
    6412      4884525 :     CASE_CONVERT:
    6413      4884525 :       {
    6414      4884525 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6415      4884525 :         switch (TREE_CODE (_p1))
    6416              :           {
    6417      4068978 :           CASE_CONVERT:
    6418      4068978 :             {
    6419      4068978 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6420      4068978 :               {
    6421      4068978 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6422      4068978 :                 tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    6423      4068978 :                 if (res) return res;
    6424              :               }
    6425      4054695 :               break;
    6426              :             }
    6427      4870242 :           default:;
    6428              :           }
    6429      4870242 :         switch (TREE_CODE (_q20))
    6430              :           {
    6431          288 :           case NEGATE_EXPR:
    6432          288 :             {
    6433          288 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6434          288 :               if (integer_each_onep (_p1))
    6435              :                 {
    6436            0 :                   {
    6437            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6438            0 :                     tree res = generic_simplify_100 (loc, type, _p0, _p1, captures);
    6439            0 :                     if (res) return res;
    6440              :                   }
    6441              :                 }
    6442              :               break;
    6443              :             }
    6444       401194 :           case PLUS_EXPR:
    6445       401194 :             {
    6446       401194 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6447       401194 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6448       401194 :               switch (TREE_CODE (_p1))
    6449              :                 {
    6450       384529 :                 CASE_CONVERT:
    6451       384529 :                   {
    6452       384529 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    6453       384529 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
    6454              :                       {
    6455         6258 :                         {
    6456         6258 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
    6457         6258 :                           tree res = generic_simplify_101 (loc, type, _p0, _p1, captures);
    6458         6258 :                           if (res) return res;
    6459              :                         }
    6460              :                       }
    6461       378385 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    6462              :                       {
    6463           32 :                         {
    6464           32 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
    6465           32 :                           tree res = generic_simplify_101 (loc, type, _p0, _p1, captures);
    6466           32 :                           if (res) return res;
    6467              :                         }
    6468              :                       }
    6469              :                     break;
    6470              :                   }
    6471       395018 :                 default:;
    6472              :                 }
    6473       395018 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
    6474              :                 {
    6475         3863 :                   {
    6476         3863 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
    6477         3863 :                     tree res = generic_simplify_101 (loc, type, _p0, _p1, captures);
    6478         3863 :                     if (res) return res;
    6479              :                   }
    6480              :                 }
    6481       391155 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    6482              :                 {
    6483          960 :                   {
    6484          960 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
    6485          960 :                     tree res = generic_simplify_101 (loc, type, _p0, _p1, captures);
    6486          960 :                     if (res) return res;
    6487              :                   }
    6488              :                 }
    6489              :               break;
    6490              :             }
    6491        99630 :           case POINTER_PLUS_EXPR:
    6492        99630 :             {
    6493        99630 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6494        99630 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6495        99630 :               switch (TREE_CODE (_p1))
    6496              :                 {
    6497        98540 :                 CASE_CONVERT:
    6498        98540 :                   {
    6499        98540 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    6500        98540 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
    6501              :                       {
    6502        11317 :                         {
    6503        11317 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
    6504        11317 :                           if (!TYPE_SATURATING (type)
    6505              : )
    6506              :                             {
    6507        11317 :                               if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    6508        22634 :  && !FIXED_POINT_TYPE_P (type)
    6509              : )
    6510              :                                 {
    6511        11317 :                                   if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
    6512        11317 :  || (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6513            0 :  && TREE_CODE (captures[1]) == INTEGER_CST
    6514            0 :  && tree_int_cst_sign_bit (captures[1]) == 0)
    6515              : )
    6516              :                                     {
    6517        11317 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1287;
    6518        11317 :                                       {
    6519        11317 :                                         tree res_op0;
    6520        11317 :                                         res_op0 = captures[1];
    6521        11317 :                                         tree _r;
    6522        11317 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    6523        11317 :                                         if (TREE_SIDE_EFFECTS (captures[2]))
    6524           11 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    6525        11317 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    6526        11317 :                                         return _r;
    6527              :                                       }
    6528            0 : next_after_fail1287:;
    6529              :                                     }
    6530              :                                 }
    6531              :                             }
    6532              :                         }
    6533              :                       }
    6534              :                     break;
    6535              :                   }
    6536              :                 default:;
    6537              :                 }
    6538              :               break;
    6539              :             }
    6540      4847926 :           default:;
    6541              :           }
    6542      4847926 :         switch (TREE_CODE (_p1))
    6543              :           {
    6544      4032507 :           CASE_CONVERT:
    6545      4032507 :             {
    6546      4032507 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6547      4032507 :               switch (TREE_CODE (_q40))
    6548              :                 {
    6549       483853 :                 case PLUS_EXPR:
    6550       483853 :                   {
    6551       483853 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6552       483853 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6553       483853 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    6554              :                       {
    6555         2145 :                         {
    6556         2145 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    6557         2145 :                           tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
    6558         2145 :                           if (res) return res;
    6559              :                         }
    6560              :                       }
    6561       481780 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
    6562              :                       {
    6563           18 :                         {
    6564           18 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
    6565           18 :                           tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
    6566           18 :                           if (res) return res;
    6567              :                         }
    6568              :                       }
    6569              :                     break;
    6570              :                   }
    6571              :                 default:;
    6572              :                 }
    6573              :               break;
    6574              :             }
    6575              :           default:;
    6576              :           }
    6577              :         break;
    6578              :       }
    6579       139726 :     case NEGATE_EXPR:
    6580       139726 :       {
    6581       139726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6582       139726 :         if (integer_each_onep (_p1))
    6583              :           {
    6584           41 :             {
    6585           41 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6586           41 :               tree res = generic_simplify_100 (loc, type, _p0, _p1, captures);
    6587           41 :               if (res) return res;
    6588              :             }
    6589              :           }
    6590              :         break;
    6591              :       }
    6592     22269704 :     default:;
    6593              :     }
    6594     22269704 : {
    6595     22269704 :   tree _p0_pops[1];
    6596     22269704 :   if (tree_nop_convert (_p0, _p0_pops))
    6597              :     {
    6598      4280475 :       tree _q20 = _p0_pops[0];
    6599      4280475 :       switch (TREE_CODE (_q20))
    6600              :         {
    6601       332878 :         case PLUS_EXPR:
    6602       332878 :           {
    6603       332878 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6604       332878 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6605       332878 :             if (CONSTANT_CLASS_P (_q31))
    6606              :               {
    6607       326349 :                 if (CONSTANT_CLASS_P (_p1))
    6608              :                   {
    6609            0 :                     {
    6610            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6611            0 :                       tree res = generic_simplify_61 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, MINUS_EXPR);
    6612            0 :                       if (res) return res;
    6613              :                     }
    6614              :                   }
    6615              :               }
    6616              :             break;
    6617              :           }
    6618          768 :         case MINUS_EXPR:
    6619          768 :           {
    6620          768 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6621          768 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6622          768 :             if (CONSTANT_CLASS_P (_q31))
    6623              :               {
    6624            0 :                 if (CONSTANT_CLASS_P (_p1))
    6625              :                   {
    6626            0 :                     {
    6627            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6628            0 :                       tree res = generic_simplify_61 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, MINUS_EXPR);
    6629            0 :                       if (res) return res;
    6630              :                     }
    6631              :                   }
    6632              :               }
    6633          768 :             if (CONSTANT_CLASS_P (_q30))
    6634              :               {
    6635           18 :                 if (CONSTANT_CLASS_P (_p1))
    6636              :                   {
    6637            0 :                     {
    6638            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6639            0 :                       tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    6640            0 :                       if (res) return res;
    6641              :                     }
    6642              :                   }
    6643              :               }
    6644              :             break;
    6645              :           }
    6646              :         default:;
    6647              :         }
    6648              :     }
    6649              : }
    6650     22269704 : if (CONSTANT_CLASS_P (_p0))
    6651              :   {
    6652      5596023 :     switch (TREE_CODE (_p1))
    6653              :       {
    6654          823 :       case MINUS_EXPR:
    6655          823 :         {
    6656          823 :           tree _q30 = TREE_OPERAND (_p1, 0);
    6657          823 :           tree _q31 = TREE_OPERAND (_p1, 1);
    6658          823 :           if (CONSTANT_CLASS_P (_q30))
    6659              :             {
    6660          639 :               {
    6661          639 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6662          639 :                 tree res = generic_simplify_99 (loc, type, _p0, _p1, captures);
    6663          639 :                 if (res) return res;
    6664              :               }
    6665              :             }
    6666              :           break;
    6667              :         }
    6668      5595393 :       default:;
    6669              :       }
    6670      5595393 :   {
    6671      5595393 :     tree _p1_pops[1];
    6672      5595393 :     if (tree_nop_convert (_p1, _p1_pops))
    6673              :       {
    6674      1839597 :         tree _q30 = _p1_pops[0];
    6675      1839597 :         switch (TREE_CODE (_q30))
    6676              :           {
    6677         7207 :           case MINUS_EXPR:
    6678         7207 :             {
    6679         7207 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6680         7207 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6681         7207 :               if (CONSTANT_CLASS_P (_q40))
    6682              :                 {
    6683           29 :                   {
    6684           29 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6685           29 :                     tree res = generic_simplify_99 (loc, type, _p0, _p1, captures);
    6686           29 :                     if (res) return res;
    6687              :                   }
    6688              :                 }
    6689              :               break;
    6690              :             }
    6691              :           default:;
    6692              :           }
    6693              :       }
    6694              :   }
    6695              :   }
    6696     22269045 : if (integer_all_onesp (_p0))
    6697              :   {
    6698      1315234 :     {
    6699      1315234 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    6700      1315234 :       if (!TYPE_SATURATING (type)
    6701              : )
    6702              :         {
    6703      1315234 :           if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    6704      2630468 :  && !FIXED_POINT_TYPE_P (type)
    6705              : )
    6706              :             {
    6707      1315234 :               if (TREE_CODE (type) != COMPLEX_TYPE
    6708              : )
    6709              :                 {
    6710      1315232 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1288;
    6711      1315232 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1288;
    6712      1315232 :                   {
    6713      1315232 :                     tree res_op0;
    6714      1315232 :                     res_op0 = captures[0];
    6715      1315232 :                     tree _r;
    6716      1315232 :                     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    6717      1315232 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    6718      1315232 :                     return _r;
    6719              :                   }
    6720              : next_after_fail1288:;
    6721              :                 }
    6722              :             }
    6723              :         }
    6724              :     }
    6725              :   }
    6726     20953813 :   switch (TREE_CODE (_p1))
    6727              :     {
    6728      6986812 :     CASE_CONVERT:
    6729      6986812 :       {
    6730      6986812 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6731      6986812 :         switch (TREE_CODE (_q30))
    6732              :           {
    6733       666616 :           case PLUS_EXPR:
    6734       666616 :             {
    6735       666616 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6736       666616 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6737       666616 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
    6738              :                 {
    6739            0 :                   {
    6740            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
    6741            0 :                     tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
    6742            0 :                     if (res) return res;
    6743              :                   }
    6744              :                 }
    6745       666616 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    6746              :                 {
    6747         7898 :                   {
    6748         7898 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
    6749         7898 :                     tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
    6750         7898 :                     if (res) return res;
    6751              :                   }
    6752              :                 }
    6753              :               break;
    6754              :             }
    6755              :           default:;
    6756              :           }
    6757              :         break;
    6758              :       }
    6759     20946112 :     default:;
    6760              :     }
    6761     20946112 :   switch (TREE_CODE (_p0))
    6762              :     {
    6763      4845835 :     CASE_CONVERT:
    6764      4845835 :       {
    6765      4845835 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6766      4845835 :         switch (TREE_CODE (_p1))
    6767              :           {
    6768      4030416 :           CASE_CONVERT:
    6769      4030416 :             {
    6770      4030416 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6771      4030416 :               switch (TREE_CODE (_q40))
    6772              :                 {
    6773       371691 :                 case POINTER_PLUS_EXPR:
    6774       371691 :                   {
    6775       371691 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6776       371691 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6777       371691 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    6778              :                       {
    6779         2162 :                         {
    6780         2162 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    6781         2162 :                           if (!TYPE_SATURATING (type)
    6782              : )
    6783              :                             {
    6784         2162 :                               if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    6785         4324 :  && !FIXED_POINT_TYPE_P (type)
    6786              : )
    6787              :                                 {
    6788         2162 :                                   if (INTEGRAL_TYPE_P (type)
    6789         2162 :  && TYPE_OVERFLOW_UNDEFINED (type)
    6790            0 :  && TREE_CODE (captures[1]) != INTEGER_CST
    6791         2162 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
    6792              : )
    6793              :                                     {
    6794            0 :                                       {
    6795            0 :  tree utype = unsigned_type_for (type);
    6796            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1289;
    6797            0 :                                           {
    6798            0 :                                             tree res_op0;
    6799            0 :                                             {
    6800            0 :                                               tree _o1[1], _r1;
    6801            0 :                                               {
    6802            0 :                                                 tree _o2[1], _r2;
    6803            0 :                                                 _o2[0] = captures[1];
    6804            0 :                                                 if (TREE_TYPE (_o2[0]) != utype)
    6805              :                                                   {
    6806            0 :                                                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    6807              :                                                   }
    6808              :                                                 else
    6809              :                                                   _r2 = _o2[0];
    6810            0 :                                                 _o1[0] = _r2;
    6811              :                                               }
    6812            0 :                                               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    6813            0 :                                               res_op0 = _r1;
    6814              :                                             }
    6815            0 :                                             tree _r;
    6816            0 :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    6817            0 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    6818            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    6819            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    6820            0 :                                             return _r;
    6821              :                                           }
    6822            0 : next_after_fail1289:;
    6823              :                                       }
    6824              :                                     }
    6825              :                                   else
    6826              :                                     {
    6827         2162 :                                       if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
    6828         2162 :  || (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6829            0 :  && TREE_CODE (captures[1]) == INTEGER_CST
    6830            0 :  && tree_int_cst_sign_bit (captures[1]) == 0)
    6831              : )
    6832              :                                         {
    6833         2162 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1290;
    6834         2162 :                                           {
    6835         2162 :                                             tree res_op0;
    6836         2162 :                                             {
    6837         2162 :                                               tree _o1[1], _r1;
    6838         2162 :                                               _o1[0] = captures[1];
    6839         2162 :                                               if (TREE_TYPE (_o1[0]) != type)
    6840              :                                                 {
    6841         2158 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    6842              :                                                 }
    6843              :                                               else
    6844              :                                                 _r1 = _o1[0];
    6845         2162 :                                               res_op0 = _r1;
    6846              :                                             }
    6847         2162 :                                             tree _r;
    6848         2162 :                                             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    6849         2162 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    6850            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    6851         2162 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    6852         2162 :                                             return _r;
    6853              :                                           }
    6854            0 : next_after_fail1290:;
    6855              :                                         }
    6856              :                                     }
    6857              :                                 }
    6858              :                             }
    6859              :                         }
    6860              :                       }
    6861              :                     break;
    6862              :                   }
    6863              :                 default:;
    6864              :                 }
    6865              :               break;
    6866              :             }
    6867      4843673 :           default:;
    6868              :           }
    6869      4843673 :         switch (TREE_CODE (_q20))
    6870              :           {
    6871       390195 :           case PLUS_EXPR:
    6872       390195 :             {
    6873       390195 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6874       390195 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6875       390195 :               switch (TREE_CODE (_p1))
    6876              :                 {
    6877       373658 :                 CASE_CONVERT:
    6878       373658 :                   {
    6879       373658 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    6880       373658 :                     switch (TREE_CODE (_q60))
    6881              :                       {
    6882       202475 :                       case PLUS_EXPR:
    6883       202475 :                         {
    6884       202475 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    6885       202475 :                           tree _q71 = TREE_OPERAND (_q60, 1);
    6886       202475 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
    6887              :                             {
    6888         5415 :                               {
    6889         5415 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
    6890         5415 :                                 tree res = generic_simplify_103 (loc, type, _p0, _p1, captures);
    6891         5415 :                                 if (res) return res;
    6892              :                               }
    6893              :                             }
    6894       197060 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
    6895              :                             {
    6896           70 :                               {
    6897           70 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
    6898           70 :                                 tree res = generic_simplify_103 (loc, type, _p0, _p1, captures);
    6899           70 :                                 if (res) return res;
    6900              :                               }
    6901              :                             }
    6902       196990 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
    6903              :                             {
    6904           90 :                               {
    6905           90 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
    6906           90 :                                 tree res = generic_simplify_103 (loc, type, _p0, _p1, captures);
    6907           90 :                                 if (res) return res;
    6908              :                               }
    6909              :                             }
    6910       196900 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
    6911              :                             {
    6912       147069 :                               {
    6913       147069 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
    6914       147069 :                                 tree res = generic_simplify_103 (loc, type, _p0, _p1, captures);
    6915       147069 :                                 if (res) return res;
    6916              :                               }
    6917              :                             }
    6918              :                           break;
    6919              :                         }
    6920              :                       default:;
    6921              :                       }
    6922              :                     break;
    6923              :                   }
    6924              :                 default:;
    6925              :                 }
    6926              :               break;
    6927              :             }
    6928        88313 :           case POINTER_PLUS_EXPR:
    6929        88313 :             {
    6930        88313 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6931        88313 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6932        88313 :               switch (TREE_CODE (_p1))
    6933              :                 {
    6934        87223 :                 CASE_CONVERT:
    6935        87223 :                   {
    6936        87223 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    6937        87223 :                     switch (TREE_CODE (_q60))
    6938              :                       {
    6939        50710 :                       case POINTER_PLUS_EXPR:
    6940        50710 :                         {
    6941        50710 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    6942        50710 :                           tree _q71 = TREE_OPERAND (_q60, 1);
    6943        50710 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
    6944              :                             {
    6945        10018 :                               {
    6946        10018 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
    6947        10018 :                                 if (!TYPE_SATURATING (type)
    6948              : )
    6949              :                                   {
    6950        10018 :                                     if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    6951        20036 :  && !FIXED_POINT_TYPE_P (type)
    6952              : )
    6953              :                                       {
    6954        10018 :                                         if (INTEGRAL_TYPE_P (type)
    6955        10018 :  && TYPE_OVERFLOW_UNDEFINED (type)
    6956        10018 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
    6957              : )
    6958              :                                           {
    6959            0 :                                             {
    6960            0 :  tree utype = unsigned_type_for (type);
    6961            0 :                                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1291;
    6962            0 :                                                 {
    6963            0 :                                                   tree res_op0;
    6964            0 :                                                   {
    6965            0 :                                                     tree _o1[2], _r1;
    6966            0 :                                                     {
    6967            0 :                                                       tree _o2[1], _r2;
    6968            0 :                                                       _o2[0] = captures[1];
    6969            0 :                                                       if (TREE_TYPE (_o2[0]) != utype)
    6970              :                                                         {
    6971            0 :                                                           _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    6972              :                                                         }
    6973              :                                                       else
    6974              :                                                         _r2 = _o2[0];
    6975            0 :                                                       _o1[0] = _r2;
    6976              :                                                     }
    6977            0 :                                                     {
    6978            0 :                                                       tree _o2[1], _r2;
    6979            0 :                                                       _o2[0] = captures[2];
    6980            0 :                                                       if (TREE_TYPE (_o2[0]) != utype)
    6981              :                                                         {
    6982            0 :                                                           _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    6983              :                                                         }
    6984              :                                                       else
    6985              :                                                         _r2 = _o2[0];
    6986            0 :                                                       _o1[1] = _r2;
    6987              :                                                     }
    6988            0 :                                                     _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    6989            0 :                                                     res_op0 = _r1;
    6990              :                                                   }
    6991            0 :                                                   tree _r;
    6992            0 :                                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    6993            0 :                                                   if (TREE_SIDE_EFFECTS (captures[3]))
    6994            0 :                                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    6995            0 :                                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 931, __FILE__, __LINE__, true);
    6996            0 :                                                   return _r;
    6997              :                                                 }
    6998            0 : next_after_fail1291:;
    6999              :                                             }
    7000              :                                           }
    7001              :                                         else
    7002              :                                           {
    7003        10018 :                                             if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
    7004        10018 :  || (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7005            0 :  && TREE_CODE (captures[1]) == INTEGER_CST
    7006            0 :  && tree_int_cst_sign_bit (captures[1]) == 0
    7007            0 :  && TREE_CODE (captures[2]) == INTEGER_CST
    7008            0 :  && tree_int_cst_sign_bit (captures[2]) == 0)
    7009              : )
    7010              :                                               {
    7011        10018 :                                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1292;
    7012        10018 :                                                 {
    7013        10018 :                                                   tree res_op0;
    7014        10018 :                                                   {
    7015        10018 :                                                     tree _o1[1], _r1;
    7016        10018 :                                                     _o1[0] = captures[1];
    7017        10018 :                                                     if (TREE_TYPE (_o1[0]) != type)
    7018              :                                                       {
    7019         9948 :                                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    7020              :                                                       }
    7021              :                                                     else
    7022              :                                                       _r1 = _o1[0];
    7023        10018 :                                                     res_op0 = _r1;
    7024              :                                                   }
    7025        10018 :                                                   tree res_op1;
    7026        10018 :                                                   {
    7027        10018 :                                                     tree _o1[1], _r1;
    7028        10018 :                                                     _o1[0] = captures[2];
    7029        10018 :                                                     if (TREE_TYPE (_o1[0]) != type)
    7030              :                                                       {
    7031         9965 :                                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    7032              :                                                       }
    7033              :                                                     else
    7034              :                                                       _r1 = _o1[0];
    7035        10018 :                                                     res_op1 = _r1;
    7036              :                                                   }
    7037        10018 :                                                   tree _r;
    7038        10018 :                                                   _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    7039        10018 :                                                   if (TREE_SIDE_EFFECTS (captures[3]))
    7040            0 :                                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    7041        10018 :                                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    7042        10018 :                                                   return _r;
    7043              :                                                 }
    7044            0 : next_after_fail1292:;
    7045              :                                               }
    7046              :                                           }
    7047              :                                       }
    7048              :                                   }
    7049              :                               }
    7050              :                             }
    7051              :                           break;
    7052              :                         }
    7053              :                       default:;
    7054              :                       }
    7055              :                     break;
    7056              :                   }
    7057              :                 default:;
    7058              :                 }
    7059              :               break;
    7060              :             }
    7061              :           default:;
    7062              :           }
    7063              :         break;
    7064              :       }
    7065      1463208 :     case MULT_EXPR:
    7066      1463208 :       {
    7067      1463208 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7068      1463208 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7069      1463208 :         switch (TREE_CODE (_p1))
    7070              :           {
    7071       690793 :           case MULT_EXPR:
    7072       690793 :             {
    7073       690793 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7074       690793 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7075       690793 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7076              :                 {
    7077         3956 :                   {
    7078         3956 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    7079         3956 :                     tree res = generic_simplify_69 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7080         3956 :                     if (res) return res;
    7081              :                   }
    7082              :                 }
    7083       689586 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7084              :                 {
    7085        13723 :                   {
    7086        13723 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    7087        13723 :                     tree res = generic_simplify_69 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7088        13723 :                     if (res) return res;
    7089              :                   }
    7090              :                 }
    7091       675863 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7092              :                 {
    7093        33939 :                   {
    7094        33939 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    7095        33939 :                     tree res = generic_simplify_69 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7096        33939 :                     if (res) return res;
    7097              :                   }
    7098              :                 }
    7099       642001 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7100              :                 {
    7101       207009 :                   {
    7102       207009 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    7103       207009 :                     tree res = generic_simplify_69 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7104       207009 :                     if (res) return res;
    7105              :                   }
    7106              :                 }
    7107              :               break;
    7108              :             }
    7109              :           default:;
    7110              :           }
    7111              :         break;
    7112              :       }
    7113     20547527 :     default:;
    7114              :     }
    7115     20547527 :   switch (TREE_CODE (_p1))
    7116              :     {
    7117      1744097 :     case MULT_EXPR:
    7118      1744097 :       {
    7119      1744097 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7120      1744097 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7121      1744097 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7122              :           {
    7123         3890 :             {
    7124         3890 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    7125         3890 :               tree res = generic_simplify_70 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7126         3890 :               if (res) return res;
    7127              :             }
    7128              :           }
    7129      1740251 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7130              :           {
    7131         1332 :             {
    7132         1332 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    7133         1332 :               tree res = generic_simplify_70 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7134         1332 :               if (res) return res;
    7135              :             }
    7136              :           }
    7137              :         break;
    7138              :       }
    7139     20542448 :     default:;
    7140              :     }
    7141     20542448 :   switch (TREE_CODE (_p0))
    7142              :     {
    7143      1212782 :     case MULT_EXPR:
    7144      1212782 :       {
    7145      1212782 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7146      1212782 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7147      1212782 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7148              :           {
    7149        60665 :             {
    7150        60665 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7151        60665 :               tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7152        60665 :               if (res) return res;
    7153              :             }
    7154              :           }
    7155      1152289 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7156              :           {
    7157          632 :             {
    7158          632 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7159          632 :               tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7160          632 :               if (res) return res;
    7161              :             }
    7162              :           }
    7163              :         break;
    7164              :       }
    7165     20481856 :     default:;
    7166              :     }
    7167     20481856 :   switch (TREE_CODE (_p1))
    7168              :     {
    7169      1739018 :     case MULT_EXPR:
    7170      1739018 :       {
    7171      1739018 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7172      1739018 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7173      1739018 :         switch (TREE_CODE (_q30))
    7174              :           {
    7175        75821 :           case MINUS_EXPR:
    7176        75821 :             {
    7177        75821 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7178        75821 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7179        75821 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7180              :                 {
    7181           19 :                   if (tree_zero_one_valued_p (_q31))
    7182              :                     {
    7183            0 :                       {
    7184            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
    7185            0 :                         tree res = generic_simplify_104 (loc, type, _p0, _p1, captures);
    7186            0 :                         if (res) return res;
    7187              :                       }
    7188              :                     }
    7189              :                 }
    7190              :               break;
    7191              :             }
    7192      1739018 :           default:;
    7193              :           }
    7194      1739018 :       if (tree_zero_one_valued_p (_q30))
    7195              :         {
    7196         1204 :           switch (TREE_CODE (_q31))
    7197              :             {
    7198            9 :             case MINUS_EXPR:
    7199            9 :               {
    7200            9 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    7201            9 :                 tree _q51 = TREE_OPERAND (_q31, 1);
    7202            9 :                 if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7203              :                   {
    7204            9 :                     {
    7205            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
    7206            9 :                       tree res = generic_simplify_104 (loc, type, _p0, _p1, captures);
    7207            9 :                       if (res) return res;
    7208              :                     }
    7209              :                   }
    7210              :                 break;
    7211              :               }
    7212              :             default:;
    7213              :             }
    7214              :         }
    7215              :         break;
    7216              :       }
    7217     20481854 :     default:;
    7218              :     }
    7219     20481854 :   switch (TREE_CODE (_p0))
    7220              :     {
    7221            0 :     case VEC_COND_EXPR:
    7222            0 :       {
    7223            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7224            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7225            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7226            0 :         switch (TREE_CODE (_p1))
    7227              :           {
    7228            0 :           case VEC_COND_EXPR:
    7229            0 :             {
    7230            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7231            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7232            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7233            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7234              :                 {
    7235            0 :                   {
    7236            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7237            0 :                     if (VECTOR_TYPE_P (type)
    7238            0 :  && (TREE_CODE_CLASS (MINUS_EXPR) != tcc_comparison
    7239              :  || types_match (type, TREE_TYPE (captures[2]))
    7240              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7241              :  || (optimize_vectors_before_lowering_p ()
    7242              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7243              : )
    7244              :                       {
    7245            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1293;
    7246            0 :                         {
    7247            0 :                           tree res_op0;
    7248            0 :                           res_op0 = captures[1];
    7249            0 :                           tree res_op1;
    7250            0 :                           {
    7251            0 :                             tree _o1[2], _r1;
    7252            0 :                             _o1[0] = captures[2];
    7253            0 :                             _o1[1] = captures[5];
    7254            0 :                             _r1 = fold_build2_loc (loc, MINUS_EXPR, type, _o1[0], _o1[1]);
    7255            0 :                             if (EXPR_P (_r1))
    7256            0 :                               goto next_after_fail1293;
    7257            0 :                             res_op1 = _r1;
    7258              :                           }
    7259            0 :                           tree res_op2;
    7260            0 :                           {
    7261            0 :                             tree _o1[2], _r1;
    7262            0 :                             _o1[0] = captures[3];
    7263            0 :                             _o1[1] = captures[6];
    7264            0 :                             _r1 = fold_build2_loc (loc, MINUS_EXPR, type, _o1[0], _o1[1]);
    7265            0 :                             if (EXPR_P (_r1))
    7266            0 :                               goto next_after_fail1293;
    7267            0 :                             res_op2 = _r1;
    7268              :                           }
    7269            0 :                           tree _r;
    7270            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7271            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    7272            0 :                           return _r;
    7273              :                         }
    7274            0 : next_after_fail1293:;
    7275              :                       }
    7276              :                   }
    7277              :                 }
    7278              :               break;
    7279              :             }
    7280            0 :           default:;
    7281              :           }
    7282            0 :         {
    7283            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7284            0 :           if (VECTOR_TYPE_P (type)
    7285            0 :  && (TREE_CODE_CLASS (MINUS_EXPR) != tcc_comparison
    7286              :  || types_match (type, TREE_TYPE (captures[2]))
    7287              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7288              :  || (optimize_vectors_before_lowering_p ()
    7289              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7290              : )
    7291              :             {
    7292            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1294;
    7293            0 :               {
    7294            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1294;
    7295            0 :                 tree res_op0;
    7296            0 :                 res_op0 = captures[1];
    7297            0 :                 tree res_op1;
    7298            0 :                 {
    7299            0 :                   tree _o1[2], _r1;
    7300            0 :                   _o1[0] = captures[2];
    7301            0 :                   _o1[1] = unshare_expr (captures[4]);
    7302            0 :                   _r1 = fold_build2_loc (loc, MINUS_EXPR, type, _o1[0], _o1[1]);
    7303            0 :                   if (EXPR_P (_r1))
    7304            0 :                     goto next_after_fail1294;
    7305            0 :                   res_op1 = _r1;
    7306              :                 }
    7307            0 :                 tree res_op2;
    7308            0 :                 {
    7309            0 :                   tree _o1[2], _r1;
    7310            0 :                   _o1[0] = captures[3];
    7311            0 :                   _o1[1] = captures[4];
    7312            0 :                   _r1 = fold_build2_loc (loc, MINUS_EXPR, type, _o1[0], _o1[1]);
    7313            0 :                   if (EXPR_P (_r1))
    7314            0 :                     goto next_after_fail1294;
    7315            0 :                   res_op2 = _r1;
    7316              :                 }
    7317            0 :                 tree _r;
    7318            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7319            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    7320            0 :                 return _r;
    7321              :               }
    7322            0 : next_after_fail1294:;
    7323              :             }
    7324              :         }
    7325            0 :         break;
    7326              :       }
    7327     20481854 :     default:;
    7328              :     }
    7329     20481854 : if (integer_zerop (_p0))
    7330              :   {
    7331       295286 :     {
    7332       295286 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    7333       295286 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1295;
    7334       295286 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1295;
    7335       295286 :       {
    7336       295286 :         tree res_op0;
    7337       295286 :         res_op0 = captures[0];
    7338       295286 :         tree _r;
    7339       295286 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    7340       295286 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    7341       295286 :         return _r;
    7342              :       }
    7343              : next_after_fail1295:;
    7344              :     }
    7345              :   }
    7346     20186568 : if (real_zerop (_p0))
    7347              :   {
    7348          158 :     {
    7349          158 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7350          158 :       if (fold_real_zero_addition_p (type, captures[1], captures[0], 0)
    7351              : )
    7352              :         {
    7353           55 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1296;
    7354           55 :           {
    7355           55 :             tree res_op0;
    7356           55 :             res_op0 = captures[1];
    7357           55 :             tree _r;
    7358           55 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    7359           55 :             if (TREE_SIDE_EFFECTS (captures[0]))
    7360            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    7361           55 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 934, __FILE__, __LINE__, true);
    7362           55 :             return _r;
    7363              :           }
    7364            0 : next_after_fail1296:;
    7365              :         }
    7366              :     }
    7367              :   }
    7368     20186513 :   switch (TREE_CODE (_p1))
    7369              :     {
    7370            4 :     case VEC_COND_EXPR:
    7371            4 :       {
    7372            4 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7373            4 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7374            4 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7375            4 :         {
    7376            4 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7377            4 :           if (VECTOR_TYPE_P (type)
    7378            4 :  && (TREE_CODE_CLASS (MINUS_EXPR) != tcc_comparison
    7379              :  || types_match (type, TREE_TYPE (captures[3]))
    7380              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7381              :  || (optimize_vectors_before_lowering_p ()
    7382              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7383              : )
    7384              :             {
    7385            4 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1297;
    7386            4 :               {
    7387            4 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1297;
    7388            0 :                 tree res_op0;
    7389            0 :                 res_op0 = captures[2];
    7390            0 :                 tree res_op1;
    7391            0 :                 {
    7392            0 :                   tree _o1[2], _r1;
    7393            0 :                   _o1[0] = unshare_expr (captures[0]);
    7394            0 :                   _o1[1] = captures[3];
    7395            0 :                   _r1 = fold_build2_loc (loc, MINUS_EXPR, type, _o1[0], _o1[1]);
    7396            0 :                   if (EXPR_P (_r1))
    7397            0 :                     goto next_after_fail1297;
    7398            0 :                   res_op1 = _r1;
    7399              :                 }
    7400            0 :                 tree res_op2;
    7401            0 :                 {
    7402            0 :                   tree _o1[2], _r1;
    7403            0 :                   _o1[0] = captures[0];
    7404            0 :                   _o1[1] = captures[4];
    7405            0 :                   _r1 = fold_build2_loc (loc, MINUS_EXPR, type, _o1[0], _o1[1]);
    7406            0 :                   if (EXPR_P (_r1))
    7407            0 :                     goto next_after_fail1297;
    7408            0 :                   res_op2 = _r1;
    7409              :                 }
    7410            0 :                 tree _r;
    7411            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7412            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    7413            0 :                 return _r;
    7414              :               }
    7415            4 : next_after_fail1297:;
    7416              :             }
    7417              :         }
    7418            4 :         if (integer_each_onep (_q31))
    7419              :           {
    7420            0 :             if (integer_zerop (_q32))
    7421              :               {
    7422            0 :                 {
    7423            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7424            0 :                   tree res = generic_simplify_105 (loc, type, _p0, _p1, captures);
    7425            0 :                   if (res) return res;
    7426              :                 }
    7427              :               }
    7428              :           }
    7429              :         break;
    7430              :       }
    7431       111903 :     case VIEW_CONVERT_EXPR:
    7432       111903 :       {
    7433       111903 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7434       111903 :         switch (TREE_CODE (_q30))
    7435              :           {
    7436            0 :           case VEC_COND_EXPR:
    7437            0 :             {
    7438            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7439            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7440            0 :               tree _q42 = TREE_OPERAND (_q30, 2);
    7441            0 :               if (integer_each_onep (_q41))
    7442              :                 {
    7443            0 :                   if (integer_zerop (_q42))
    7444              :                     {
    7445            0 :                       {
    7446            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
    7447            0 :                         tree res = generic_simplify_105 (loc, type, _p0, _p1, captures);
    7448            0 :                         if (res) return res;
    7449              :                       }
    7450              :                     }
    7451              :                 }
    7452              :               break;
    7453              :             }
    7454              :           default:;
    7455              :           }
    7456              :         break;
    7457              :       }
    7458     20186513 :     default:;
    7459              :     }
    7460     20186513 :   switch (TREE_CODE (_p0))
    7461              :     {
    7462       112477 :     case RDIV_EXPR:
    7463       112477 :       {
    7464       112477 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7465       112477 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7466       112477 :         switch (TREE_CODE (_p1))
    7467              :           {
    7468        18823 :           case RDIV_EXPR:
    7469        18823 :             {
    7470        18823 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7471        18823 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7472        18823 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7473              :                 {
    7474        18803 :                   {
    7475        18803 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7476        18803 :                     tree res = generic_simplify_77 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    7477        18803 :                     if (res) return res;
    7478              :                   }
    7479              :                 }
    7480              :               break;
    7481              :             }
    7482              :           default:;
    7483              :           }
    7484              :         break;
    7485              :       }
    7486      1346962 :     case PLUS_EXPR:
    7487      1346962 :       {
    7488      1346962 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7489      1346962 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7490      1346962 :         switch (TREE_CODE (_q20))
    7491              :           {
    7492        57337 :           case CALL_EXPR:
    7493        57337 :             switch (get_call_combined_fn (_q20))
    7494              :               {
    7495            4 :               case CFN_BUILT_IN_POPCOUNT:
    7496            4 :                 if (call_expr_nargs (_q20) == 1)
    7497              :     {
    7498            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7499            4 :                     switch (TREE_CODE (_q21))
    7500              :                       {
    7501            4 :                       case CALL_EXPR:
    7502            4 :                         switch (get_call_combined_fn (_q21))
    7503              :                           {
    7504            4 :                           case CFN_BUILT_IN_POPCOUNT:
    7505            4 :                             if (call_expr_nargs (_q21) == 1)
    7506              :     {
    7507            4 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7508            4 :                                 switch (TREE_CODE (_p1))
    7509              :                                   {
    7510            4 :                                   case CALL_EXPR:
    7511            4 :                                     switch (get_call_combined_fn (_p1))
    7512              :                                       {
    7513            4 :                                       case CFN_BUILT_IN_POPCOUNT:
    7514            4 :                                         if (call_expr_nargs (_p1) == 1)
    7515              :     {
    7516            4 :                                             tree _q70 = CALL_EXPR_ARG (_p1, 0);
    7517            4 :                                             switch (TREE_CODE (_q70))
    7518              :                                               {
    7519            2 :                                               case BIT_AND_EXPR:
    7520            2 :                                                 {
    7521            2 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7522            2 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7523            2 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7524              :                                                     {
    7525            1 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7526              :                                                         {
    7527            1 :                                                           {
    7528            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7529            1 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7530            1 :                                                             if (res) return res;
    7531              :                                                           }
    7532              :                                                         }
    7533              :                                                     }
    7534            1 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7535              :                                                     {
    7536            1 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7537              :                                                         {
    7538            1 :                                                           {
    7539            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7540            1 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7541            1 :                                                             if (res) return res;
    7542              :                                                           }
    7543              :                                                         }
    7544              :                                                     }
    7545              :                                                   break;
    7546              :                                                 }
    7547            2 :                                               case BIT_IOR_EXPR:
    7548            2 :                                                 {
    7549            2 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7550            2 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7551            2 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7552              :                                                     {
    7553            1 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7554              :                                                         {
    7555            1 :                                                           {
    7556            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7557            1 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    7558            1 :                                                             if (res) return res;
    7559              :                                                           }
    7560              :                                                         }
    7561              :                                                     }
    7562            1 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7563              :                                                     {
    7564            1 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7565              :                                                         {
    7566            1 :                                                           {
    7567            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7568            1 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    7569            1 :                                                             if (res) return res;
    7570              :                                                           }
    7571              :                                                         }
    7572              :                                                     }
    7573              :                                                   break;
    7574              :                                                 }
    7575              :                                               default:;
    7576              :                                               }
    7577              :                                           }
    7578              :                                         break;
    7579              :                                       default:;
    7580              :                                       }
    7581              :                                     break;
    7582              :                                   default:;
    7583              :                                   }
    7584              :                               }
    7585              :                             break;
    7586              :                           default:;
    7587              :                           }
    7588              :                         break;
    7589              :                       default:;
    7590              :                       }
    7591              :                   }
    7592              :                 break;
    7593            0 :               case CFN_BUILT_IN_POPCOUNTLL:
    7594            0 :                 if (call_expr_nargs (_q20) == 1)
    7595              :     {
    7596            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7597            0 :                     switch (TREE_CODE (_q21))
    7598              :                       {
    7599            0 :                       case CALL_EXPR:
    7600            0 :                         switch (get_call_combined_fn (_q21))
    7601              :                           {
    7602            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    7603            0 :                             if (call_expr_nargs (_q21) == 1)
    7604              :     {
    7605            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7606            0 :                                 switch (TREE_CODE (_p1))
    7607              :                                   {
    7608            0 :                                   case CALL_EXPR:
    7609            0 :                                     switch (get_call_combined_fn (_p1))
    7610              :                                       {
    7611            0 :                                       case CFN_BUILT_IN_POPCOUNTLL:
    7612            0 :                                         if (call_expr_nargs (_p1) == 1)
    7613              :     {
    7614            0 :                                             tree _q70 = CALL_EXPR_ARG (_p1, 0);
    7615            0 :                                             switch (TREE_CODE (_q70))
    7616              :                                               {
    7617            0 :                                               case BIT_AND_EXPR:
    7618            0 :                                                 {
    7619            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7620            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7621            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7622              :                                                     {
    7623            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7624              :                                                         {
    7625            0 :                                                           {
    7626            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7627            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    7628            0 :                                                             if (res) return res;
    7629              :                                                           }
    7630              :                                                         }
    7631              :                                                     }
    7632            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7633              :                                                     {
    7634            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7635              :                                                         {
    7636            0 :                                                           {
    7637            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7638            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    7639            0 :                                                             if (res) return res;
    7640              :                                                           }
    7641              :                                                         }
    7642              :                                                     }
    7643              :                                                   break;
    7644              :                                                 }
    7645            0 :                                               case BIT_IOR_EXPR:
    7646            0 :                                                 {
    7647            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7648            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7649            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7650              :                                                     {
    7651            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7652              :                                                         {
    7653            0 :                                                           {
    7654            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7655            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    7656            0 :                                                             if (res) return res;
    7657              :                                                           }
    7658              :                                                         }
    7659              :                                                     }
    7660            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7661              :                                                     {
    7662            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7663              :                                                         {
    7664            0 :                                                           {
    7665            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7666            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    7667            0 :                                                             if (res) return res;
    7668              :                                                           }
    7669              :                                                         }
    7670              :                                                     }
    7671              :                                                   break;
    7672              :                                                 }
    7673              :                                               default:;
    7674              :                                               }
    7675              :                                           }
    7676              :                                         break;
    7677              :                                       default:;
    7678              :                                       }
    7679              :                                     break;
    7680              :                                   default:;
    7681              :                                   }
    7682              :                               }
    7683              :                             break;
    7684              :                           default:;
    7685              :                           }
    7686              :                         break;
    7687              :                       default:;
    7688              :                       }
    7689              :                   }
    7690              :                 break;
    7691            0 :               case CFN_POPCOUNT:
    7692            0 :                 if (call_expr_nargs (_q20) == 1)
    7693              :     {
    7694            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7695            0 :                     switch (TREE_CODE (_q21))
    7696              :                       {
    7697            0 :                       case CALL_EXPR:
    7698            0 :                         switch (get_call_combined_fn (_q21))
    7699              :                           {
    7700            0 :                           case CFN_POPCOUNT:
    7701            0 :                             if (call_expr_nargs (_q21) == 1)
    7702              :     {
    7703            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7704            0 :                                 switch (TREE_CODE (_p1))
    7705              :                                   {
    7706            0 :                                   case CALL_EXPR:
    7707            0 :                                     switch (get_call_combined_fn (_p1))
    7708              :                                       {
    7709            0 :                                       case CFN_POPCOUNT:
    7710            0 :                                         if (call_expr_nargs (_p1) == 1)
    7711              :     {
    7712            0 :                                             tree _q70 = CALL_EXPR_ARG (_p1, 0);
    7713            0 :                                             switch (TREE_CODE (_q70))
    7714              :                                               {
    7715            0 :                                               case BIT_AND_EXPR:
    7716            0 :                                                 {
    7717            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7718            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7719            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7720              :                                                     {
    7721            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7722              :                                                         {
    7723            0 :                                                           {
    7724            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7725            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    7726            0 :                                                             if (res) return res;
    7727              :                                                           }
    7728              :                                                         }
    7729              :                                                     }
    7730            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7731              :                                                     {
    7732            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7733              :                                                         {
    7734            0 :                                                           {
    7735            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7736            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    7737            0 :                                                             if (res) return res;
    7738              :                                                           }
    7739              :                                                         }
    7740              :                                                     }
    7741              :                                                   break;
    7742              :                                                 }
    7743            0 :                                               case BIT_IOR_EXPR:
    7744            0 :                                                 {
    7745            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7746            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7747            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7748              :                                                     {
    7749            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7750              :                                                         {
    7751            0 :                                                           {
    7752            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7753            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    7754            0 :                                                             if (res) return res;
    7755              :                                                           }
    7756              :                                                         }
    7757              :                                                     }
    7758            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7759              :                                                     {
    7760            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7761              :                                                         {
    7762            0 :                                                           {
    7763            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7764            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    7765            0 :                                                             if (res) return res;
    7766              :                                                           }
    7767              :                                                         }
    7768              :                                                     }
    7769              :                                                   break;
    7770              :                                                 }
    7771              :                                               default:;
    7772              :                                               }
    7773              :                                           }
    7774              :                                         break;
    7775              :                                       default:;
    7776              :                                       }
    7777              :                                     break;
    7778              :                                   default:;
    7779              :                                   }
    7780              :                               }
    7781              :                             break;
    7782              :                           default:;
    7783              :                           }
    7784              :                         break;
    7785              :                       default:;
    7786              :                       }
    7787              :                   }
    7788              :                 break;
    7789            0 :               case CFN_BUILT_IN_POPCOUNTIMAX:
    7790            0 :                 if (call_expr_nargs (_q20) == 1)
    7791              :     {
    7792            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7793            0 :                     switch (TREE_CODE (_q21))
    7794              :                       {
    7795            0 :                       case CALL_EXPR:
    7796            0 :                         switch (get_call_combined_fn (_q21))
    7797              :                           {
    7798            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    7799            0 :                             if (call_expr_nargs (_q21) == 1)
    7800              :     {
    7801            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7802            0 :                                 switch (TREE_CODE (_p1))
    7803              :                                   {
    7804            0 :                                   case CALL_EXPR:
    7805            0 :                                     switch (get_call_combined_fn (_p1))
    7806              :                                       {
    7807            0 :                                       case CFN_BUILT_IN_POPCOUNTIMAX:
    7808            0 :                                         if (call_expr_nargs (_p1) == 1)
    7809              :     {
    7810            0 :                                             tree _q70 = CALL_EXPR_ARG (_p1, 0);
    7811            0 :                                             switch (TREE_CODE (_q70))
    7812              :                                               {
    7813            0 :                                               case BIT_AND_EXPR:
    7814            0 :                                                 {
    7815            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7816            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7817            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7818              :                                                     {
    7819            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7820              :                                                         {
    7821            0 :                                                           {
    7822            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7823            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    7824            0 :                                                             if (res) return res;
    7825              :                                                           }
    7826              :                                                         }
    7827              :                                                     }
    7828            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7829              :                                                     {
    7830            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7831              :                                                         {
    7832            0 :                                                           {
    7833            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7834            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    7835            0 :                                                             if (res) return res;
    7836              :                                                           }
    7837              :                                                         }
    7838              :                                                     }
    7839              :                                                   break;
    7840              :                                                 }
    7841            0 :                                               case BIT_IOR_EXPR:
    7842            0 :                                                 {
    7843            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7844            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7845            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7846              :                                                     {
    7847            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7848              :                                                         {
    7849            0 :                                                           {
    7850            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7851            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    7852            0 :                                                             if (res) return res;
    7853              :                                                           }
    7854              :                                                         }
    7855              :                                                     }
    7856            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7857              :                                                     {
    7858            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7859              :                                                         {
    7860            0 :                                                           {
    7861            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7862            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    7863            0 :                                                             if (res) return res;
    7864              :                                                           }
    7865              :                                                         }
    7866              :                                                     }
    7867              :                                                   break;
    7868              :                                                 }
    7869              :                                               default:;
    7870              :                                               }
    7871              :                                           }
    7872              :                                         break;
    7873              :                                       default:;
    7874              :                                       }
    7875              :                                     break;
    7876              :                                   default:;
    7877              :                                   }
    7878              :                               }
    7879              :                             break;
    7880              :                           default:;
    7881              :                           }
    7882              :                         break;
    7883              :                       default:;
    7884              :                       }
    7885              :                   }
    7886              :                 break;
    7887            0 :               case CFN_BUILT_IN_POPCOUNTL:
    7888            0 :                 if (call_expr_nargs (_q20) == 1)
    7889              :     {
    7890            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7891            0 :                     switch (TREE_CODE (_q21))
    7892              :                       {
    7893            0 :                       case CALL_EXPR:
    7894            0 :                         switch (get_call_combined_fn (_q21))
    7895              :                           {
    7896            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    7897            0 :                             if (call_expr_nargs (_q21) == 1)
    7898              :     {
    7899            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7900            0 :                                 switch (TREE_CODE (_p1))
    7901              :                                   {
    7902            0 :                                   case CALL_EXPR:
    7903            0 :                                     switch (get_call_combined_fn (_p1))
    7904              :                                       {
    7905            0 :                                       case CFN_BUILT_IN_POPCOUNTL:
    7906            0 :                                         if (call_expr_nargs (_p1) == 1)
    7907              :     {
    7908            0 :                                             tree _q70 = CALL_EXPR_ARG (_p1, 0);
    7909            0 :                                             switch (TREE_CODE (_q70))
    7910              :                                               {
    7911            0 :                                               case BIT_AND_EXPR:
    7912            0 :                                                 {
    7913            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7914            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7915            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7916              :                                                     {
    7917            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7918              :                                                         {
    7919            0 :                                                           {
    7920            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7921            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    7922            0 :                                                             if (res) return res;
    7923              :                                                           }
    7924              :                                                         }
    7925              :                                                     }
    7926            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7927              :                                                     {
    7928            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7929              :                                                         {
    7930            0 :                                                           {
    7931            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7932            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    7933            0 :                                                             if (res) return res;
    7934              :                                                           }
    7935              :                                                         }
    7936              :                                                     }
    7937              :                                                   break;
    7938              :                                                 }
    7939            0 :                                               case BIT_IOR_EXPR:
    7940            0 :                                                 {
    7941            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    7942            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    7943            0 :                                                   if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    7944              :                                                     {
    7945            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    7946              :                                                         {
    7947            0 :                                                           {
    7948            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7949            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    7950            0 :                                                             if (res) return res;
    7951              :                                                           }
    7952              :                                                         }
    7953              :                                                     }
    7954            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    7955              :                                                     {
    7956            0 :                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
    7957              :                                                         {
    7958            0 :                                                           {
    7959            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1, _q70 };
    7960            0 :                                                             tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    7961            0 :                                                             if (res) return res;
    7962              :                                                           }
    7963              :                                                         }
    7964              :                                                     }
    7965              :                                                   break;
    7966              :                                                 }
    7967              :                                               default:;
    7968              :                                               }
    7969              :                                           }
    7970              :                                         break;
    7971              :                                       default:;
    7972              :                                       }
    7973              :                                     break;
    7974              :                                   default:;
    7975              :                                   }
    7976              :                               }
    7977              :                             break;
    7978              :                           default:;
    7979              :                           }
    7980              :                         break;
    7981              :                       default:;
    7982              :                       }
    7983              :                   }
    7984              :                 break;
    7985              :               default:;
    7986              :               }
    7987              :             break;
    7988              :           default:;
    7989              :           }
    7990              :         break;
    7991              :       }
    7992            0 :     case VEC_PERM_EXPR:
    7993            0 :       {
    7994            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7995            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7996            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7997            0 :         switch (TREE_CODE (_q20))
    7998              :           {
    7999            0 :           case MULT_EXPR:
    8000            0 :             {
    8001            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8002            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8003            0 :               if (tree_vec_same_elem_p (_q31))
    8004              :                 {
    8005            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8006              :                     {
    8007            0 :                       {
    8008            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
    8009            0 :                         tree res = generic_simplify_108 (loc, type, _p0, _p1, captures);
    8010            0 :                         if (res) return res;
    8011              :                       }
    8012              :                     }
    8013              :                 }
    8014            0 :               if (tree_vec_same_elem_p (_q30))
    8015              :                 {
    8016            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8017              :                     {
    8018            0 :                       {
    8019            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
    8020            0 :                         tree res = generic_simplify_108 (loc, type, _p0, _p1, captures);
    8021            0 :                         if (res) return res;
    8022              :                       }
    8023              :                     }
    8024              :                 }
    8025              :               break;
    8026              :             }
    8027              :           default:;
    8028              :           }
    8029              :         break;
    8030              :       }
    8031       687997 :     case CALL_EXPR:
    8032       687997 :       switch (get_call_combined_fn (_p0))
    8033              :         {
    8034           18 :         case CFN_BUILT_IN_LOG:
    8035           18 :           if (call_expr_nargs (_p0) == 1)
    8036              :     {
    8037           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8038           18 :               switch (TREE_CODE (_p1))
    8039              :                 {
    8040            0 :                 case CALL_EXPR:
    8041            0 :                   switch (get_call_combined_fn (_p1))
    8042              :                     {
    8043            0 :                     case CFN_BUILT_IN_LOG:
    8044            0 :                       if (call_expr_nargs (_p1) == 1)
    8045              :     {
    8046            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8047            0 :                           {
    8048            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8049            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG);
    8050            0 :                             if (res) return res;
    8051              :                           }
    8052              :                         }
    8053              :                       break;
    8054              :                     default:;
    8055              :                     }
    8056              :                   break;
    8057              :                 default:;
    8058              :                 }
    8059              :             }
    8060              :           break;
    8061            2 :         case CFN_BUILT_IN_LOG2:
    8062            2 :           if (call_expr_nargs (_p0) == 1)
    8063              :     {
    8064            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8065            2 :               switch (TREE_CODE (_p1))
    8066              :                 {
    8067            0 :                 case CALL_EXPR:
    8068            0 :                   switch (get_call_combined_fn (_p1))
    8069              :                     {
    8070            0 :                     case CFN_BUILT_IN_LOG2:
    8071            0 :                       if (call_expr_nargs (_p1) == 1)
    8072              :     {
    8073            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8074            0 :                           {
    8075            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8076            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2);
    8077            0 :                             if (res) return res;
    8078              :                           }
    8079              :                         }
    8080              :                       break;
    8081              :                     default:;
    8082              :                     }
    8083              :                   break;
    8084              :                 default:;
    8085              :                 }
    8086              :             }
    8087              :           break;
    8088            0 :         case CFN_BUILT_IN_LOGF:
    8089            0 :           if (call_expr_nargs (_p0) == 1)
    8090              :     {
    8091            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8092            0 :               switch (TREE_CODE (_p1))
    8093              :                 {
    8094            0 :                 case CALL_EXPR:
    8095            0 :                   switch (get_call_combined_fn (_p1))
    8096              :                     {
    8097            0 :                     case CFN_BUILT_IN_LOGF:
    8098            0 :                       if (call_expr_nargs (_p1) == 1)
    8099              :     {
    8100            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8101            0 :                           {
    8102            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8103            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF);
    8104            0 :                             if (res) return res;
    8105              :                           }
    8106              :                         }
    8107              :                       break;
    8108              :                     default:;
    8109              :                     }
    8110              :                   break;
    8111              :                 default:;
    8112              :                 }
    8113              :             }
    8114              :           break;
    8115            0 :         case CFN_BUILT_IN_LOGL:
    8116            0 :           if (call_expr_nargs (_p0) == 1)
    8117              :     {
    8118            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8119            0 :               switch (TREE_CODE (_p1))
    8120              :                 {
    8121            0 :                 case CALL_EXPR:
    8122            0 :                   switch (get_call_combined_fn (_p1))
    8123              :                     {
    8124            0 :                     case CFN_BUILT_IN_LOGL:
    8125            0 :                       if (call_expr_nargs (_p1) == 1)
    8126              :     {
    8127            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8128            0 :                           {
    8129            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8130            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL);
    8131            0 :                             if (res) return res;
    8132              :                           }
    8133              :                         }
    8134              :                       break;
    8135              :                     default:;
    8136              :                     }
    8137              :                   break;
    8138              :                 default:;
    8139              :                 }
    8140              :             }
    8141              :           break;
    8142            0 :         case CFN_BUILT_IN_LOG10F:
    8143            0 :           if (call_expr_nargs (_p0) == 1)
    8144              :     {
    8145            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8146            0 :               switch (TREE_CODE (_p1))
    8147              :                 {
    8148            0 :                 case CALL_EXPR:
    8149            0 :                   switch (get_call_combined_fn (_p1))
    8150              :                     {
    8151            0 :                     case CFN_BUILT_IN_LOG10F:
    8152            0 :                       if (call_expr_nargs (_p1) == 1)
    8153              :     {
    8154            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8155            0 :                           {
    8156            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8157            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F);
    8158            0 :                             if (res) return res;
    8159              :                           }
    8160              :                         }
    8161              :                       break;
    8162              :                     default:;
    8163              :                     }
    8164              :                   break;
    8165              :                 default:;
    8166              :                 }
    8167              :             }
    8168              :           break;
    8169            0 :         case CFN_BUILT_IN_LOG10L:
    8170            0 :           if (call_expr_nargs (_p0) == 1)
    8171              :     {
    8172            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8173            0 :               switch (TREE_CODE (_p1))
    8174              :                 {
    8175            0 :                 case CALL_EXPR:
    8176            0 :                   switch (get_call_combined_fn (_p1))
    8177              :                     {
    8178            0 :                     case CFN_BUILT_IN_LOG10L:
    8179            0 :                       if (call_expr_nargs (_p1) == 1)
    8180              :     {
    8181            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8182            0 :                           {
    8183            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8184            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L);
    8185            0 :                             if (res) return res;
    8186              :                           }
    8187              :                         }
    8188              :                       break;
    8189              :                     default:;
    8190              :                     }
    8191              :                   break;
    8192              :                 default:;
    8193              :                 }
    8194              :             }
    8195              :           break;
    8196            0 :         case CFN_LOG:
    8197            0 :           if (call_expr_nargs (_p0) == 1)
    8198              :     {
    8199            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8200            0 :               switch (TREE_CODE (_p1))
    8201              :                 {
    8202            0 :                 case CALL_EXPR:
    8203            0 :                   switch (get_call_combined_fn (_p1))
    8204              :                     {
    8205            0 :                     case CFN_LOG:
    8206            0 :                       if (call_expr_nargs (_p1) == 1)
    8207              :     {
    8208            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8209            0 :                           {
    8210            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8211            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_LOG);
    8212            0 :                             if (res) return res;
    8213              :                           }
    8214              :                         }
    8215              :                       break;
    8216              :                     default:;
    8217              :                     }
    8218              :                   break;
    8219              :                 default:;
    8220              :                 }
    8221              :             }
    8222              :           break;
    8223            0 :         case CFN_LOG2:
    8224            0 :           if (call_expr_nargs (_p0) == 1)
    8225              :     {
    8226            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8227            0 :               switch (TREE_CODE (_p1))
    8228              :                 {
    8229            0 :                 case CALL_EXPR:
    8230            0 :                   switch (get_call_combined_fn (_p1))
    8231              :                     {
    8232            0 :                     case CFN_LOG2:
    8233            0 :                       if (call_expr_nargs (_p1) == 1)
    8234              :     {
    8235            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8236            0 :                           {
    8237            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8238            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_LOG2);
    8239            0 :                             if (res) return res;
    8240              :                           }
    8241              :                         }
    8242              :                       break;
    8243              :                     default:;
    8244              :                     }
    8245              :                   break;
    8246              :                 default:;
    8247              :                 }
    8248              :             }
    8249              :           break;
    8250            0 :         case CFN_LOG10:
    8251            0 :           if (call_expr_nargs (_p0) == 1)
    8252              :     {
    8253            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8254            0 :               switch (TREE_CODE (_p1))
    8255              :                 {
    8256            0 :                 case CALL_EXPR:
    8257            0 :                   switch (get_call_combined_fn (_p1))
    8258              :                     {
    8259            0 :                     case CFN_LOG10:
    8260            0 :                       if (call_expr_nargs (_p1) == 1)
    8261              :     {
    8262            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8263            0 :                           {
    8264            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8265            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_LOG10);
    8266            0 :                             if (res) return res;
    8267              :                           }
    8268              :                         }
    8269              :                       break;
    8270              :                     default:;
    8271              :                     }
    8272              :                   break;
    8273              :                 default:;
    8274              :                 }
    8275              :             }
    8276              :           break;
    8277            6 :         case CFN_BUILT_IN_LOG10:
    8278            6 :           if (call_expr_nargs (_p0) == 1)
    8279              :     {
    8280            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8281            6 :               switch (TREE_CODE (_p1))
    8282              :                 {
    8283            2 :                 case CALL_EXPR:
    8284            2 :                   switch (get_call_combined_fn (_p1))
    8285              :                     {
    8286            2 :                     case CFN_BUILT_IN_LOG10:
    8287            2 :                       if (call_expr_nargs (_p1) == 1)
    8288              :     {
    8289            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8290            2 :                           {
    8291            2 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8292            2 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10);
    8293            2 :                             if (res) return res;
    8294              :                           }
    8295              :                         }
    8296              :                       break;
    8297              :                     default:;
    8298              :                     }
    8299              :                   break;
    8300              :                 default:;
    8301              :                 }
    8302              :             }
    8303              :           break;
    8304            0 :         case CFN_BUILT_IN_LOG2F:
    8305            0 :           if (call_expr_nargs (_p0) == 1)
    8306              :     {
    8307            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8308            0 :               switch (TREE_CODE (_p1))
    8309              :                 {
    8310            0 :                 case CALL_EXPR:
    8311            0 :                   switch (get_call_combined_fn (_p1))
    8312              :                     {
    8313            0 :                     case CFN_BUILT_IN_LOG2F:
    8314            0 :                       if (call_expr_nargs (_p1) == 1)
    8315              :     {
    8316            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8317            0 :                           {
    8318            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8319            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F);
    8320            0 :                             if (res) return res;
    8321              :                           }
    8322              :                         }
    8323              :                       break;
    8324              :                     default:;
    8325              :                     }
    8326              :                   break;
    8327              :                 default:;
    8328              :                 }
    8329              :             }
    8330              :           break;
    8331            0 :         case CFN_BUILT_IN_LOG2L:
    8332            0 :           if (call_expr_nargs (_p0) == 1)
    8333              :     {
    8334            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8335            0 :               switch (TREE_CODE (_p1))
    8336              :                 {
    8337            0 :                 case CALL_EXPR:
    8338            0 :                   switch (get_call_combined_fn (_p1))
    8339              :                     {
    8340            0 :                     case CFN_BUILT_IN_LOG2L:
    8341            0 :                       if (call_expr_nargs (_p1) == 1)
    8342              :     {
    8343            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8344            0 :                           {
    8345            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8346            0 :                             tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L);
    8347            0 :                             if (res) return res;
    8348              :                           }
    8349              :                         }
    8350              :                       break;
    8351              :                     default:;
    8352              :                     }
    8353              :                   break;
    8354              :                 default:;
    8355              :                 }
    8356              :             }
    8357              :           break;
    8358              :         default:;
    8359              :         }
    8360              :       break;
    8361     20186496 :     default:;
    8362              :     }
    8363     20186496 :   switch (TREE_CODE (_p1))
    8364              :     {
    8365         6710 :     case BIT_AND_EXPR:
    8366         6710 :       {
    8367         6710 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8368         6710 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8369         6710 :         switch (TREE_CODE (_q30))
    8370              :           {
    8371           80 :           case MAX_EXPR:
    8372           80 :             {
    8373           80 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8374           80 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8375           80 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    8376              :                 {
    8377           80 :                   switch (TREE_CODE (_q41))
    8378              :                     {
    8379           80 :                     case INTEGER_CST:
    8380           80 :                       {
    8381           80 :                         switch (TREE_CODE (_q31))
    8382              :                           {
    8383           72 :                           case INTEGER_CST:
    8384           72 :                             {
    8385           72 :                               {
    8386           72 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
    8387           72 :                                 {
    8388           72 :  auto i = wi::neg (wi::to_wide (captures[2]));
    8389           72 :                                     if (wi::popcount (i) == 1
    8390          200 :  && (wi::to_wide (captures[1])) == (i - 1)
    8391              : )
    8392              :                                       {
    8393           40 :                                         if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    8394              : )
    8395              :                                           {
    8396            8 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1298;
    8397            8 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1298;
    8398            8 :                                             {
    8399            8 :                                               tree res_op0;
    8400            8 :                                               res_op0 = captures[0];
    8401            8 :                                               tree res_op1;
    8402            8 :                                               res_op1 = captures[1];
    8403            8 :                                               tree _r;
    8404            8 :                                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    8405            8 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 935, __FILE__, __LINE__, true);
    8406            8 :                                               return _r;
    8407              :                                             }
    8408           64 : next_after_fail1298:;
    8409              :                                           }
    8410              :                                         else
    8411              :                                           {
    8412           32 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1299;
    8413           32 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1299;
    8414           32 :                                             {
    8415           32 :                                               if (! tree_invariant_p (captures[0])) goto next_after_fail1299;
    8416            0 :                                               if (! tree_invariant_p (captures[1])) goto next_after_fail1299;
    8417            0 :                                               tree res_op0;
    8418            0 :                                               {
    8419            0 :                                                 tree _o1[2], _r1;
    8420            0 :                                                 _o1[0] = unshare_expr (captures[0]);
    8421            0 :                                                 _o1[1] = unshare_expr (captures[1]);
    8422            0 :                                                 _r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
    8423            0 :                                                 res_op0 = _r1;
    8424              :                                               }
    8425            0 :                                               tree res_op1;
    8426            0 :                                               res_op1 = unshare_expr (captures[0]);
    8427            0 :                                               tree res_op2;
    8428            0 :                                               {
    8429            0 :                                                 tree _o1[2], _r1;
    8430            0 :                                                 _o1[0] = captures[0];
    8431            0 :                                                 _o1[1] = captures[1];
    8432            0 :                                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8433            0 :                                                 res_op2 = _r1;
    8434              :                                               }
    8435            0 :                                               tree _r;
    8436            0 :                                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8437            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 936, __FILE__, __LINE__, true);
    8438            0 :                                               return _r;
    8439              :                                             }
    8440           64 : next_after_fail1299:;
    8441              :                                           }
    8442              :                                       }
    8443            8 :                                 }
    8444              :                               }
    8445           64 :                               break;
    8446              :                             }
    8447              :                           default:;
    8448              :                           }
    8449              :                         break;
    8450              :                       }
    8451              :                     default:;
    8452              :                     }
    8453              :                 }
    8454              :               break;
    8455              :             }
    8456              :           default:;
    8457              :           }
    8458              :         break;
    8459              :       }
    8460     20186488 :     default:;
    8461              :     }
    8462     20186488 :   switch (TREE_CODE (_p0))
    8463              :     {
    8464            0 :     case VEC_PERM_EXPR:
    8465            0 :       {
    8466            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8467            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8468            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8469            0 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8470              :           {
    8471            0 :             switch (TREE_CODE (_p1))
    8472              :               {
    8473            0 :               case VEC_PERM_EXPR:
    8474            0 :                 {
    8475            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    8476            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    8477            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    8478            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8479              :                     {
    8480            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8481              :                         {
    8482            0 :                           {
    8483            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8484            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    8485              : )
    8486              :                               {
    8487            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1300;
    8488            0 :                                 {
    8489            0 :                                   tree res_op0;
    8490            0 :                                   {
    8491            0 :                                     tree _o1[2], _r1;
    8492            0 :                                     _o1[0] = captures[0];
    8493            0 :                                     _o1[1] = captures[2];
    8494            0 :                                     _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8495            0 :                                     captures[3] = _r1;
    8496              :                                   }
    8497            0 :                                   res_op0 = unshare_expr (captures[3]);
    8498            0 :                                   tree res_op1;
    8499            0 :                                   res_op1 = captures[3];
    8500            0 :                                   tree res_op2;
    8501            0 :                                   res_op2 = captures[1];
    8502            0 :                                   tree _r;
    8503            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
    8504            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    8505            0 :                                   return _r;
    8506              :                                 }
    8507            0 : next_after_fail1300:;
    8508              :                               }
    8509              :                           }
    8510              :                         }
    8511              :                     }
    8512              :                   break;
    8513              :                 }
    8514            0 :               default:;
    8515              :               }
    8516            0 :             switch (TREE_CODE (_q22))
    8517              :               {
    8518            0 :               case VECTOR_CST:
    8519            0 :                 {
    8520            0 :                   switch (TREE_CODE (_p1))
    8521              :                     {
    8522            0 :                     case VEC_PERM_EXPR:
    8523            0 :                       {
    8524            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    8525            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    8526            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
    8527            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8528              :                           {
    8529            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8530              :                               {
    8531            0 :                                 switch (TREE_CODE (_q62))
    8532              :                                   {
    8533            0 :                                   case VECTOR_CST:
    8534            0 :                                     {
    8535            0 :                                       {
    8536            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8537            0 :                                         tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8538            0 :                                         if (res) return res;
    8539              :                                       }
    8540            0 :                                       break;
    8541              :                                     }
    8542              :                                   default:;
    8543              :                                   }
    8544              :                               }
    8545              :                           }
    8546              :                         break;
    8547              :                       }
    8548              :                     default:;
    8549              :                     }
    8550              :                   break;
    8551              :                 }
    8552              :               default:;
    8553              :               }
    8554              :           }
    8555              :         break;
    8556              :       }
    8557              :     default:;
    8558              :     }
    8559              :   return NULL_TREE;
    8560              : }
    8561              : 
    8562              : tree
    8563      1246591 : generic_simplify_LSHIFT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    8564              : {
    8565      1246591 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    8566      1246591 :   switch (TREE_CODE (_p1))
    8567              :     {
    8568          250 :     case TRUNC_MOD_EXPR:
    8569          250 :       {
    8570          250 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8571          250 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8572          250 :         {
    8573          250 :           tree _q31_pops[1];
    8574          250 :           if (tree_power_of_two_cand (_q31, _q31_pops))
    8575              :             {
    8576          244 :               tree _q50 = _q31_pops[0];
    8577          244 :               {
    8578          244 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
    8579          244 :                 tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LSHIFT_EXPR, TRUNC_MOD_EXPR);
    8580          244 :                 if (res) return res;
    8581              :               }
    8582              :             }
    8583              :         }
    8584           75 :         break;
    8585              :       }
    8586            0 :     case FLOOR_MOD_EXPR:
    8587            0 :       {
    8588            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8589            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8590            0 :         {
    8591            0 :           tree _q31_pops[1];
    8592            0 :           if (tree_power_of_two_cand (_q31, _q31_pops))
    8593              :             {
    8594            0 :               tree _q50 = _q31_pops[0];
    8595            0 :               {
    8596            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
    8597            0 :                 tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LSHIFT_EXPR, FLOOR_MOD_EXPR);
    8598            0 :                 if (res) return res;
    8599              :               }
    8600              :             }
    8601              :         }
    8602            0 :         break;
    8603              :       }
    8604      1246416 :     default:;
    8605              :     }
    8606      1246416 : if (uniform_integer_cst_p (_p1))
    8607              :   {
    8608       853097 :     {
    8609       853097 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8610       853097 :       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
    8611       853097 :       if (res) return res;
    8612              :     }
    8613              :   }
    8614      1245951 :   switch (TREE_CODE (_p0))
    8615              :     {
    8616       703634 :     CASE_CONVERT:
    8617       703634 :       {
    8618       703634 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8619       703634 :         switch (TREE_CODE (_q20))
    8620              :           {
    8621            4 :           case LT_EXPR:
    8622            4 :             {
    8623            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8624            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8625            4 :               if (integer_zerop (_q31))
    8626              :                 {
    8627            4 :                   switch (TREE_CODE (_p1))
    8628              :                     {
    8629            4 :                     case INTEGER_CST:
    8630            4 :                       {
    8631            4 :                         {
    8632            4 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8633            4 :                           if (TYPE_SIGN (TREE_TYPE (captures[0])) == SIGNED
    8634            4 :  && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (TREE_TYPE (captures[0])) - 1)
    8635              : )
    8636              :                             {
    8637            0 :                               {
    8638            0 :  wide_int wone = wi::one (TYPE_PRECISION (type));
    8639            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1651;
    8640            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1651;
    8641            0 :                                   {
    8642            0 :                                     tree res_op0;
    8643            0 :                                     {
    8644            0 :                                       tree _o1[1], _r1;
    8645            0 :                                       _o1[0] = captures[0];
    8646            0 :                                       if (TREE_TYPE (_o1[0]) != type)
    8647              :                                         {
    8648            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    8649              :                                         }
    8650              :                                       else
    8651              :                                         _r1 = _o1[0];
    8652            0 :                                       res_op0 = _r1;
    8653              :                                     }
    8654            0 :                                     tree res_op1;
    8655            0 :                                     res_op1 =  wide_int_to_tree (type,
    8656            0 :  wi::lshift (wone, wi::to_wide (captures[2])));
    8657            0 :                                     tree _r;
    8658            0 :                                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    8659            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    8660            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    8661            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    8662            0 :                                     return _r;
    8663              :                                   }
    8664            0 : next_after_fail1651:;
    8665            0 :                               }
    8666              :                             }
    8667              :                         }
    8668            4 :                         break;
    8669              :                       }
    8670              :                     default:;
    8671              :                     }
    8672              :                 }
    8673              :               break;
    8674              :             }
    8675          426 :           CASE_CONVERT:
    8676          426 :             {
    8677          426 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8678          426 :               switch (TREE_CODE (_q30))
    8679              :                 {
    8680            0 :                 case RSHIFT_EXPR:
    8681            0 :                   {
    8682            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8683            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8684            0 :                     switch (TREE_CODE (_q41))
    8685              :                       {
    8686            0 :                       case INTEGER_CST:
    8687            0 :                         {
    8688            0 :                           if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
    8689              :                             {
    8690            0 :                               {
    8691            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
    8692            0 :                                 if (wi::ltu_p (wi::to_wide (captures[2]), element_precision (type))
    8693            0 :  && INTEGRAL_TYPE_P (type)
    8694            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    8695            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    8696            0 :  && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[1]))
    8697            0 :  && (TYPE_PRECISION (TREE_TYPE (captures[0])) >= TYPE_PRECISION (type)
    8698            0 :  || wi::geu_p (wi::to_wide (captures[2]),
    8699            0 :  TYPE_PRECISION (type)
    8700            0 :  - TYPE_PRECISION (TREE_TYPE (captures[0]))))
    8701              : )
    8702              :                                   {
    8703            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1652;
    8704            0 :                                     {
    8705            0 :                                       tree res_op0;
    8706            0 :                                       {
    8707            0 :                                         tree _o1[1], _r1;
    8708            0 :                                         _o1[0] = captures[1];
    8709            0 :                                         if (TREE_TYPE (_o1[0]) != type)
    8710              :                                           {
    8711            0 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    8712              :                                           }
    8713              :                                         else
    8714              :                                           _r1 = _o1[0];
    8715            0 :                                         res_op0 = _r1;
    8716              :                                       }
    8717            0 :                                       tree res_op1;
    8718            0 :                                       {
    8719            0 :                                         tree _o1[2], _r1;
    8720            0 :                                         _o1[0] =  build_minus_one_cst (type);
    8721            0 :                                         _o1[1] = captures[2];
    8722            0 :                                         _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8723            0 :                                         res_op1 = _r1;
    8724              :                                       }
    8725            0 :                                       tree _r;
    8726            0 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    8727            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
    8728            0 :                                       return _r;
    8729              :                                     }
    8730            0 : next_after_fail1652:;
    8731              :                                   }
    8732              :                               }
    8733              :                             }
    8734              :                           break;
    8735              :                         }
    8736              :                       default:;
    8737              :                       }
    8738              :                     break;
    8739              :                   }
    8740              :                 default:;
    8741              :                 }
    8742              :               break;
    8743              :             }
    8744              :           default:;
    8745              :           }
    8746              :         break;
    8747              :       }
    8748        19148 :     case RSHIFT_EXPR:
    8749        19148 :       {
    8750        19148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8751        19148 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8752        19148 :         switch (TREE_CODE (_q21))
    8753              :           {
    8754           48 :           case INTEGER_CST:
    8755           48 :             {
    8756           48 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8757              :                 {
    8758            3 :                   {
    8759            3 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8760            3 :                     tree res = generic_simplify_417 (loc, type, _p0, _p1, captures);
    8761            3 :                     if (res) return res;
    8762              :                   }
    8763              :                 }
    8764              :               break;
    8765              :             }
    8766              :           default:;
    8767              :           }
    8768              :         break;
    8769              :       }
    8770      1245948 :     default:;
    8771              :     }
    8772      1245948 : {
    8773      1245948 :   tree _p0_pops[1];
    8774      1245948 :   if (tree_nop_convert (_p0, _p0_pops))
    8775              :     {
    8776       671376 :       tree _q20 = _p0_pops[0];
    8777       671376 :       switch (TREE_CODE (_q20))
    8778              :         {
    8779           73 :         case RSHIFT_EXPR:
    8780           73 :           {
    8781           73 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8782           73 :             tree _q31 = TREE_OPERAND (_q20, 1);
    8783           73 :             switch (TREE_CODE (_q31))
    8784              :               {
    8785           67 :               case INTEGER_CST:
    8786           67 :                 {
    8787           67 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    8788              :                     {
    8789            8 :                       {
    8790            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    8791            8 :                         tree res = generic_simplify_417 (loc, type, _p0, _p1, captures);
    8792            8 :                         if (res) return res;
    8793              :                       }
    8794              :                     }
    8795              :                   break;
    8796              :                 }
    8797              :               default:;
    8798              :               }
    8799              :             break;
    8800              :           }
    8801              :         default:;
    8802              :         }
    8803              :     }
    8804              : }
    8805      1245940 : if (integer_onep (_p0))
    8806              :   {
    8807       319041 :     switch (TREE_CODE (_p1))
    8808              :       {
    8809        46676 :       case MINUS_EXPR:
    8810        46676 :         {
    8811        46676 :           tree _q30 = TREE_OPERAND (_p1, 0);
    8812        46676 :           tree _q31 = TREE_OPERAND (_p1, 1);
    8813        46676 :           switch (TREE_CODE (_q30))
    8814              :             {
    8815        46673 :             case INTEGER_CST:
    8816        46673 :               {
    8817        46673 :                 {
    8818        46673 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    8819        46673 :                   if (INTEGRAL_TYPE_P (type)
    8820        46673 :  && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (type) - 1)
    8821        46673 :  && single_use (captures[1])
    8822              : )
    8823              :                     {
    8824        28359 :                       if (TYPE_UNSIGNED (type)
    8825              : )
    8826              :                         {
    8827        28353 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1653;
    8828        28353 :                           {
    8829        28353 :                             tree res_op0;
    8830        28353 :                             {
    8831        28353 :                               tree _o1[2], _r1;
    8832        28353 :                               _o1[0] = captures[0];
    8833        28353 :                               _o1[1] = captures[2];
    8834        28353 :                               _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8835        28353 :                               res_op0 = _r1;
    8836              :                             }
    8837        28353 :                             tree res_op1;
    8838        28353 :                             res_op1 = captures[3];
    8839        28353 :                             tree _r;
    8840        28353 :                             _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    8841        28353 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1003, __FILE__, __LINE__, true);
    8842        28353 :                             return _r;
    8843              :                           }
    8844            0 : next_after_fail1653:;
    8845              :                         }
    8846              :                       else
    8847              :                         {
    8848            6 :                           {
    8849            6 :  tree utype = unsigned_type_for (type);
    8850            6 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1654;
    8851            6 :                               {
    8852            6 :                                 tree res_op0;
    8853            6 :                                 {
    8854            6 :                                   tree _o1[2], _r1;
    8855            6 :                                   {
    8856            6 :                                     tree _o2[2], _r2;
    8857            6 :                                     {
    8858            6 :                                       tree _o3[1], _r3;
    8859            6 :                                       _o3[0] = captures[0];
    8860            6 :                                       if (TREE_TYPE (_o3[0]) != utype)
    8861              :                                         {
    8862            6 :                                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    8863              :                                         }
    8864              :                                       else
    8865              :                                         _r3 = _o3[0];
    8866            6 :                                       _o2[0] = _r3;
    8867              :                                     }
    8868            6 :                                     _o2[1] = captures[2];
    8869            6 :                                     _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8870            6 :                                     _o1[0] = _r2;
    8871              :                                   }
    8872            6 :                                   _o1[1] = captures[3];
    8873            6 :                                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8874            6 :                                   res_op0 = _r1;
    8875              :                                 }
    8876            6 :                                 tree _r;
    8877            6 :                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    8878            6 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    8879            6 :                                 return _r;
    8880              :                               }
    8881            0 : next_after_fail1654:;
    8882              :                           }
    8883              :                         }
    8884              :                     }
    8885              :                 }
    8886        18314 :                 break;
    8887              :               }
    8888              :             default:;
    8889              :             }
    8890              :           break;
    8891              :         }
    8892              :       default:;
    8893              :       }
    8894              :   }
    8895      1217581 :   if (integer_zerop (_p1))
    8896              :     {
    8897         1265 :       {
    8898         1265 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8899         1265 :         tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
    8900         1265 :         if (res) return res;
    8901              :       }
    8902              :     }
    8903      1216316 :   if (integer_zerop (_p0))
    8904              :     {
    8905          178 :       {
    8906          178 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8907          178 :         tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
    8908          178 :         if (res) return res;
    8909              :       }
    8910              :     }
    8911      1216138 :   switch (TREE_CODE (_p1))
    8912              :     {
    8913            0 :     case VECTOR_CST:
    8914            0 :       {
    8915            0 :         {
    8916            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8917            0 :           tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
    8918            0 :           if (res) return res;
    8919              :         }
    8920            0 :         break;
    8921              :       }
    8922            0 :     case CONSTRUCTOR:
    8923            0 :       {
    8924            0 :         {
    8925            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8926            0 :           tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
    8927            0 :           if (res) return res;
    8928              :         }
    8929            0 :         break;
    8930              :       }
    8931      1216138 :     default:;
    8932              :     }
    8933      1216138 :   switch (TREE_CODE (_p0))
    8934              :     {
    8935          280 :     case LSHIFT_EXPR:
    8936          280 :       {
    8937          280 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8938          280 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8939          280 :         switch (TREE_CODE (_q21))
    8940              :           {
    8941           39 :           case INTEGER_CST:
    8942           39 :             {
    8943           39 :               switch (TREE_CODE (_p1))
    8944              :                 {
    8945           39 :                 case INTEGER_CST:
    8946           39 :                   {
    8947           39 :                     {
    8948           39 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8949           39 :                       tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
    8950           39 :                       if (res) return res;
    8951              :                     }
    8952            0 :                     break;
    8953              :                   }
    8954              :                 default:;
    8955              :                 }
    8956              :               break;
    8957              :             }
    8958              :           default:;
    8959              :           }
    8960              :         break;
    8961              :       }
    8962       703260 :     CASE_CONVERT:
    8963       703260 :       {
    8964       703260 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8965       703260 :         switch (TREE_CODE (_q20))
    8966              :           {
    8967            0 :           case BIT_AND_EXPR:
    8968            0 :             {
    8969            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8970            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8971            0 :               switch (TREE_CODE (_q31))
    8972              :                 {
    8973            0 :                 case INTEGER_CST:
    8974            0 :                   {
    8975            0 :                     switch (TREE_CODE (_p1))
    8976              :                       {
    8977            0 :                       case INTEGER_CST:
    8978            0 :                         {
    8979            0 :                           {
    8980            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    8981            0 :                             tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LSHIFT_EXPR);
    8982            0 :                             if (res) return res;
    8983              :                           }
    8984            0 :                           break;
    8985              :                         }
    8986              :                       default:;
    8987              :                       }
    8988              :                     break;
    8989              :                   }
    8990              :                 default:;
    8991              :                 }
    8992              :               break;
    8993              :             }
    8994           11 :           case BIT_XOR_EXPR:
    8995           11 :             {
    8996           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8997           11 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8998           11 :               switch (TREE_CODE (_q31))
    8999              :                 {
    9000            0 :                 case INTEGER_CST:
    9001            0 :                   {
    9002            0 :                     switch (TREE_CODE (_p1))
    9003              :                       {
    9004            0 :                       case INTEGER_CST:
    9005            0 :                         {
    9006            0 :                           {
    9007            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    9008            0 :                             tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LSHIFT_EXPR);
    9009            0 :                             if (res) return res;
    9010              :                           }
    9011            0 :                           break;
    9012              :                         }
    9013              :                       default:;
    9014              :                       }
    9015              :                     break;
    9016              :                   }
    9017              :                 default:;
    9018              :                 }
    9019              :               break;
    9020              :             }
    9021           18 :           case BIT_IOR_EXPR:
    9022           18 :             {
    9023           18 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9024           18 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9025           18 :               switch (TREE_CODE (_q31))
    9026              :                 {
    9027           11 :                 case INTEGER_CST:
    9028           11 :                   {
    9029           11 :                     switch (TREE_CODE (_p1))
    9030              :                       {
    9031           11 :                       case INTEGER_CST:
    9032           11 :                         {
    9033           11 :                           {
    9034           11 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    9035           11 :                             tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LSHIFT_EXPR);
    9036           11 :                             if (res) return res;
    9037              :                           }
    9038            2 :                           break;
    9039              :                         }
    9040              :                       default:;
    9041              :                       }
    9042              :                     break;
    9043              :                   }
    9044              :                 default:;
    9045              :                 }
    9046              :               break;
    9047              :             }
    9048              :           default:;
    9049              :           }
    9050              :         break;
    9051              :       }
    9052        13745 :     case BIT_AND_EXPR:
    9053        13745 :       {
    9054        13745 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9055        13745 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9056        13745 :         switch (TREE_CODE (_q21))
    9057              :           {
    9058        13650 :           case INTEGER_CST:
    9059        13650 :             {
    9060        13650 :               switch (TREE_CODE (_p1))
    9061              :                 {
    9062        13511 :                 case INTEGER_CST:
    9063        13511 :                   {
    9064        13511 :                     {
    9065        13511 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
    9066        13511 :                       tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LSHIFT_EXPR);
    9067        13511 :                       if (res) return res;
    9068              :                     }
    9069            7 :                     break;
    9070              :                   }
    9071              :                 default:;
    9072              :                 }
    9073              :               break;
    9074              :             }
    9075              :           default:;
    9076              :           }
    9077              :         break;
    9078              :       }
    9079           76 :     case BIT_XOR_EXPR:
    9080           76 :       {
    9081           76 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9082           76 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9083           76 :         switch (TREE_CODE (_q21))
    9084              :           {
    9085            7 :           case INTEGER_CST:
    9086            7 :             {
    9087            7 :               switch (TREE_CODE (_p1))
    9088              :                 {
    9089            7 :                 case INTEGER_CST:
    9090            7 :                   {
    9091            7 :                     {
    9092            7 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
    9093            7 :                       tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LSHIFT_EXPR);
    9094            7 :                       if (res) return res;
    9095              :                     }
    9096            0 :                     break;
    9097              :                   }
    9098              :                 default:;
    9099              :                 }
    9100              :               break;
    9101              :             }
    9102              :           default:;
    9103              :           }
    9104              :         break;
    9105              :       }
    9106           78 :     case BIT_IOR_EXPR:
    9107           78 :       {
    9108           78 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9109           78 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9110           78 :         switch (TREE_CODE (_q21))
    9111              :           {
    9112            2 :           case INTEGER_CST:
    9113            2 :             {
    9114            2 :               switch (TREE_CODE (_p1))
    9115              :                 {
    9116            2 :                 case INTEGER_CST:
    9117            2 :                   {
    9118            2 :                     {
    9119            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
    9120            2 :                       tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LSHIFT_EXPR);
    9121            2 :                       if (res) return res;
    9122              :                     }
    9123            0 :                     break;
    9124              :                   }
    9125              :                 default:;
    9126              :                 }
    9127              :               break;
    9128              :             }
    9129              :           default:;
    9130              :           }
    9131              :         break;
    9132              :       }
    9133            1 :     case VEC_COND_EXPR:
    9134            1 :       {
    9135            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9136            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9137            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9138            1 :         switch (TREE_CODE (_p1))
    9139              :           {
    9140            0 :           case VEC_COND_EXPR:
    9141            0 :             {
    9142            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    9143            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    9144            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    9145            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9146              :                 {
    9147            0 :                   {
    9148            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    9149            0 :                     if (VECTOR_TYPE_P (type)
    9150            0 :  && (TREE_CODE_CLASS (LSHIFT_EXPR) != tcc_comparison
    9151              :  || types_match (type, TREE_TYPE (captures[2]))
    9152              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    9153              :  || (optimize_vectors_before_lowering_p ()
    9154              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    9155              : )
    9156              :                       {
    9157            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1655;
    9158            0 :                         {
    9159            0 :                           tree res_op0;
    9160            0 :                           res_op0 = captures[1];
    9161            0 :                           tree res_op1;
    9162            0 :                           {
    9163            0 :                             tree _o1[2], _r1;
    9164            0 :                             _o1[0] = captures[2];
    9165            0 :                             _o1[1] = captures[5];
    9166            0 :                             _r1 = fold_build2_loc (loc, LSHIFT_EXPR, type, _o1[0], _o1[1]);
    9167            0 :                             if (EXPR_P (_r1))
    9168            0 :                               goto next_after_fail1655;
    9169            0 :                             res_op1 = _r1;
    9170              :                           }
    9171            0 :                           tree res_op2;
    9172            0 :                           {
    9173            0 :                             tree _o1[2], _r1;
    9174            0 :                             _o1[0] = captures[3];
    9175            0 :                             _o1[1] = captures[6];
    9176            0 :                             _r1 = fold_build2_loc (loc, LSHIFT_EXPR, type, _o1[0], _o1[1]);
    9177            0 :                             if (EXPR_P (_r1))
    9178            0 :                               goto next_after_fail1655;
    9179            0 :                             res_op2 = _r1;
    9180              :                           }
    9181            0 :                           tree _r;
    9182            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9183            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    9184            0 :                           return _r;
    9185              :                         }
    9186            0 : next_after_fail1655:;
    9187              :                       }
    9188              :                   }
    9189              :                 }
    9190              :               break;
    9191              :             }
    9192            1 :           default:;
    9193              :           }
    9194            1 :         {
    9195            1 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    9196            1 :           if (VECTOR_TYPE_P (type)
    9197            1 :  && (TREE_CODE_CLASS (LSHIFT_EXPR) != tcc_comparison
    9198              :  || types_match (type, TREE_TYPE (captures[2]))
    9199              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    9200              :  || (optimize_vectors_before_lowering_p ()
    9201              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    9202              : )
    9203              :             {
    9204            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1656;
    9205            1 :               {
    9206            1 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1656;
    9207            0 :                 tree res_op0;
    9208            0 :                 res_op0 = captures[1];
    9209            0 :                 tree res_op1;
    9210            0 :                 {
    9211            0 :                   tree _o1[2], _r1;
    9212            0 :                   _o1[0] = captures[2];
    9213            0 :                   _o1[1] = unshare_expr (captures[4]);
    9214            0 :                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, type, _o1[0], _o1[1]);
    9215            0 :                   if (EXPR_P (_r1))
    9216            0 :                     goto next_after_fail1656;
    9217            0 :                   res_op1 = _r1;
    9218              :                 }
    9219            0 :                 tree res_op2;
    9220            0 :                 {
    9221            0 :                   tree _o1[2], _r1;
    9222            0 :                   _o1[0] = captures[3];
    9223            0 :                   _o1[1] = captures[4];
    9224            0 :                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, type, _o1[0], _o1[1]);
    9225            0 :                   if (EXPR_P (_r1))
    9226            0 :                     goto next_after_fail1656;
    9227            0 :                   res_op2 = _r1;
    9228              :                 }
    9229            0 :                 tree _r;
    9230            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9231            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    9232            0 :                 return _r;
    9233              :               }
    9234            1 : next_after_fail1656:;
    9235              :             }
    9236              :         }
    9237            1 :         break;
    9238              :       }
    9239      1202577 :     default:;
    9240              :     }
    9241      1202577 :   switch (TREE_CODE (_p1))
    9242              :     {
    9243            3 :     case VEC_COND_EXPR:
    9244            3 :       {
    9245            3 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9246            3 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9247            3 :         tree _q32 = TREE_OPERAND (_p1, 2);
    9248            3 :         {
    9249            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    9250            3 :           if (VECTOR_TYPE_P (type)
    9251            3 :  && (TREE_CODE_CLASS (LSHIFT_EXPR) != tcc_comparison
    9252              :  || types_match (type, TREE_TYPE (captures[3]))
    9253              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    9254              :  || (optimize_vectors_before_lowering_p ()
    9255              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    9256              : )
    9257              :             {
    9258            3 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1657;
    9259            3 :               {
    9260            3 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1657;
    9261            1 :                 tree res_op0;
    9262            1 :                 res_op0 = captures[2];
    9263            1 :                 tree res_op1;
    9264            1 :                 {
    9265            1 :                   tree _o1[2], _r1;
    9266            1 :                   _o1[0] = unshare_expr (captures[0]);
    9267            1 :                   _o1[1] = captures[3];
    9268            1 :                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, type, _o1[0], _o1[1]);
    9269            1 :                   if (EXPR_P (_r1))
    9270            0 :                     goto next_after_fail1657;
    9271            1 :                   res_op1 = _r1;
    9272              :                 }
    9273            1 :                 tree res_op2;
    9274            1 :                 {
    9275            1 :                   tree _o1[2], _r1;
    9276            1 :                   _o1[0] = captures[0];
    9277            1 :                   _o1[1] = captures[4];
    9278            1 :                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, type, _o1[0], _o1[1]);
    9279            1 :                   if (EXPR_P (_r1))
    9280            0 :                     goto next_after_fail1657;
    9281            1 :                   res_op2 = _r1;
    9282              :                 }
    9283            1 :                 tree _r;
    9284            1 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9285            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    9286            1 :                 return _r;
    9287              :               }
    9288            2 : next_after_fail1657:;
    9289              :             }
    9290              :         }
    9291            2 :         break;
    9292              :       }
    9293      1202576 :     default:;
    9294              :     }
    9295      1202576 :   switch (TREE_CODE (_p0))
    9296              :     {
    9297            0 :     case VEC_PERM_EXPR:
    9298            0 :       {
    9299            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9300            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9301            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9302            0 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    9303              :           {
    9304            0 :             switch (TREE_CODE (_p1))
    9305              :               {
    9306            0 :               case VEC_PERM_EXPR:
    9307            0 :                 {
    9308            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    9309            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    9310            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    9311            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    9312              :                     {
    9313            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    9314              :                         {
    9315            0 :                           {
    9316            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    9317            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    9318              : )
    9319              :                               {
    9320            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1658;
    9321            0 :                                 {
    9322            0 :                                   tree res_op0;
    9323            0 :                                   {
    9324            0 :                                     tree _o1[2], _r1;
    9325            0 :                                     _o1[0] = captures[0];
    9326            0 :                                     _o1[1] = captures[2];
    9327            0 :                                     _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9328            0 :                                     captures[3] = _r1;
    9329              :                                   }
    9330            0 :                                   res_op0 = unshare_expr (captures[3]);
    9331            0 :                                   tree res_op1;
    9332            0 :                                   res_op1 = captures[3];
    9333            0 :                                   tree res_op2;
    9334            0 :                                   res_op2 = captures[1];
    9335            0 :                                   tree _r;
    9336            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
    9337            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    9338            0 :                                   return _r;
    9339              :                                 }
    9340            0 : next_after_fail1658:;
    9341              :                               }
    9342              :                           }
    9343              :                         }
    9344              :                     }
    9345              :                   break;
    9346              :                 }
    9347              :               default:;
    9348              :               }
    9349              :           }
    9350              :         break;
    9351              :       }
    9352              :     default:;
    9353              :     }
    9354              :   return NULL_TREE;
    9355              : }
    9356              : 
    9357              : tree
    9358        80513 : generic_simplify_MIN_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    9359              : {
    9360        80513 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    9361        80513 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    9362              :     {
    9363            0 :       {
    9364            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9365            0 :         tree res = generic_simplify_517 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9366            0 :         if (res) return res;
    9367              :       }
    9368              :     }
    9369        80513 :   switch (TREE_CODE (_p0))
    9370              :     {
    9371           46 :     case MIN_EXPR:
    9372           46 :       {
    9373           46 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9374           46 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9375           46 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9376              :           {
    9377            0 :             {
    9378            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9379            0 :               tree res = generic_simplify_518 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9380            0 :               if (res) return res;
    9381              :             }
    9382              :           }
    9383           46 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9384              :           {
    9385            0 :             {
    9386            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    9387            0 :               tree res = generic_simplify_518 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9388            0 :               if (res) return res;
    9389              :             }
    9390              :           }
    9391              :         break;
    9392              :       }
    9393        80513 :     default:;
    9394              :     }
    9395        80513 :   switch (TREE_CODE (_p1))
    9396              :     {
    9397            0 :     case MIN_EXPR:
    9398            0 :       {
    9399            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9400            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9401            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9402              :           {
    9403            0 :             {
    9404            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    9405            0 :               tree res = generic_simplify_519 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9406            0 :               if (res) return res;
    9407              :             }
    9408              :           }
    9409            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9410              :           {
    9411            0 :             {
    9412            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
    9413            0 :               tree res = generic_simplify_519 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9414            0 :               if (res) return res;
    9415              :             }
    9416              :           }
    9417              :         break;
    9418              :       }
    9419        80513 :     default:;
    9420              :     }
    9421        80513 :   switch (TREE_CODE (_p0))
    9422              :     {
    9423            4 :     case MAX_EXPR:
    9424            4 :       {
    9425            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9426            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9427            4 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9428              :           {
    9429            3 :             {
    9430            3 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9431            3 :               tree res = generic_simplify_520 (loc, type, _p0, _p1, captures);
    9432            3 :               if (res) return res;
    9433              :             }
    9434              :           }
    9435            1 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9436              :           {
    9437            1 :             {
    9438            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9439            1 :               tree res = generic_simplify_520 (loc, type, _p0, _p1, captures);
    9440            1 :               if (res) return res;
    9441              :             }
    9442              :           }
    9443              :         break;
    9444              :       }
    9445        80509 :     default:;
    9446              :     }
    9447        80509 :   switch (TREE_CODE (_p1))
    9448              :     {
    9449            0 :     case MAX_EXPR:
    9450            0 :       {
    9451            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9452            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9453            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9454              :           {
    9455            0 :             {
    9456            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9457            0 :               tree res = generic_simplify_520 (loc, type, _p0, _p1, captures);
    9458            0 :               if (res) return res;
    9459              :             }
    9460              :           }
    9461            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9462              :           {
    9463            0 :             {
    9464            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9465            0 :               tree res = generic_simplify_520 (loc, type, _p0, _p1, captures);
    9466            0 :               if (res) return res;
    9467              :             }
    9468              :           }
    9469              :         break;
    9470              :       }
    9471            0 :     case NEGATE_EXPR:
    9472            0 :       {
    9473            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9474            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9475              :           {
    9476            0 :             {
    9477            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9478            0 :               tree res = generic_simplify_521 (loc, type, _p0, _p1, captures);
    9479            0 :               if (res) return res;
    9480              :             }
    9481              :           }
    9482              :         break;
    9483              :       }
    9484        80509 :     default:;
    9485              :     }
    9486        80509 :   switch (TREE_CODE (_p0))
    9487              :     {
    9488            2 :     case NEGATE_EXPR:
    9489            2 :       {
    9490            2 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9491            2 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9492              :           {
    9493            2 :             {
    9494            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9495            2 :               tree res = generic_simplify_521 (loc, type, _p0, _p1, captures);
    9496            2 :               if (res) return res;
    9497              :             }
    9498              :           }
    9499              :         break;
    9500              :       }
    9501        80507 :     default:;
    9502              :     }
    9503        80507 :   {
    9504        80507 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9505        80507 :     if (INTEGRAL_TYPE_P (type)
    9506        78686 :  && TYPE_MIN_VALUE (type)
    9507       159193 :  && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST)
    9508              : )
    9509              :       {
    9510          544 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1722;
    9511          544 :         {
    9512          544 :           tree _r;
    9513          544 :           _r = captures[1];
    9514          544 :           if (TREE_SIDE_EFFECTS (captures[0]))
    9515            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    9516          544 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1019, __FILE__, __LINE__, true);
    9517          544 :           return _r;
    9518              :         }
    9519            0 : next_after_fail1722:;
    9520              :       }
    9521              :     else
    9522              :       {
    9523        79963 :         if (INTEGRAL_TYPE_P (type)
    9524        78142 :  && TYPE_MAX_VALUE (type)
    9525       158105 :  && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST)
    9526              : )
    9527              :           {
    9528            1 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1723;
    9529            1 :             {
    9530            1 :               tree _r;
    9531            1 :               _r = captures[0];
    9532            1 :               if (TREE_SIDE_EFFECTS (captures[1]))
    9533            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9534            1 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1020, __FILE__, __LINE__, true);
    9535            1 :               return _r;
    9536              :             }
    9537            0 : next_after_fail1723:;
    9538              :           }
    9539              :       }
    9540              :   }
    9541        79962 :   switch (TREE_CODE (_p0))
    9542              :     {
    9543         5613 :     case PLUS_EXPR:
    9544         5613 :       {
    9545         5613 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9546         5613 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9547         5613 :         switch (TREE_CODE (_p1))
    9548              :           {
    9549           15 :           case PLUS_EXPR:
    9550           15 :             {
    9551           15 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9552           15 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9553           15 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9554              :                 {
    9555            0 :                   {
    9556            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9557            0 :                     tree res = generic_simplify_522 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9558            0 :                     if (res) return res;
    9559              :                   }
    9560            0 :                   {
    9561            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
    9562            0 :                     tree res = generic_simplify_522 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9563            0 :                     if (res) return res;
    9564              :                   }
    9565              :                 }
    9566           15 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9567              :                 {
    9568            0 :                   {
    9569            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    9570            0 :                     tree res = generic_simplify_522 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9571            0 :                     if (res) return res;
    9572              :                   }
    9573              :                 }
    9574           15 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9575              :                 {
    9576            1 :                   {
    9577            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
    9578            1 :                     tree res = generic_simplify_522 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9579            1 :                     if (res) return res;
    9580              :                   }
    9581              :                 }
    9582              :               break;
    9583              :             }
    9584         5612 :           default:;
    9585              :           }
    9586         5612 :         switch (TREE_CODE (_q21))
    9587              :           {
    9588         5484 :           case INTEGER_CST:
    9589         5484 :             {
    9590         5484 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9591              :                 {
    9592            0 :                   {
    9593            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    9594            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    9595              : )
    9596              :                       {
    9597            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
    9598              : )
    9599              :                           {
    9600            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1724;
    9601            0 :                             {
    9602            0 :                               tree _r;
    9603            0 :                               _r = captures[0];
    9604            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    9605            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9606            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1021, __FILE__, __LINE__, true);
    9607            0 :                               return _r;
    9608              :                             }
    9609            0 : next_after_fail1724:;
    9610              :                           }
    9611              :                         else
    9612              :                           {
    9613            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1725;
    9614            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1725;
    9615            0 :                             {
    9616            0 :                               tree _r;
    9617            0 :                               _r = captures[1];
    9618            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1022, __FILE__, __LINE__, true);
    9619            0 :                               return _r;
    9620              :                             }
    9621            0 : next_after_fail1725:;
    9622              :                           }
    9623              :                       }
    9624              :                   }
    9625              :                 }
    9626              :               break;
    9627              :             }
    9628              :           default:;
    9629              :           }
    9630              :         break;
    9631              :       }
    9632          998 :     case MINUS_EXPR:
    9633          998 :       {
    9634          998 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9635          998 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9636          998 :         switch (TREE_CODE (_p1))
    9637              :           {
    9638          980 :           case MINUS_EXPR:
    9639          980 :             {
    9640          980 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9641          980 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9642          980 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9643              :                 {
    9644            0 :                   {
    9645            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9646            0 :                     tree res = generic_simplify_523 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9647            0 :                     if (res) return res;
    9648              :                   }
    9649            0 :                   {
    9650            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
    9651            0 :                     tree res = generic_simplify_523 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9652            0 :                     if (res) return res;
    9653              :                   }
    9654              :                 }
    9655              :               break;
    9656              :             }
    9657              :           default:;
    9658              :           }
    9659              :         break;
    9660              :       }
    9661        79961 :     default:;
    9662              :     }
    9663        79961 :   switch (TREE_CODE (_p1))
    9664              :     {
    9665           21 :     case PLUS_EXPR:
    9666           21 :       {
    9667           21 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9668           21 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9669           21 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9670              :           {
    9671            0 :             switch (TREE_CODE (_q31))
    9672              :               {
    9673            0 :               case INTEGER_CST:
    9674            0 :                 {
    9675            0 :                   {
    9676            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    9677            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    9678              : )
    9679              :                       {
    9680            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
    9681              : )
    9682              :                           {
    9683            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1726;
    9684            0 :                             {
    9685            0 :                               tree _r;
    9686            0 :                               _r = captures[0];
    9687            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    9688            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    9689            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1021, __FILE__, __LINE__, true);
    9690            0 :                               return _r;
    9691              :                             }
    9692            0 : next_after_fail1726:;
    9693              :                           }
    9694              :                         else
    9695              :                           {
    9696            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1727;
    9697            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1727;
    9698            0 :                             {
    9699            0 :                               tree _r;
    9700            0 :                               _r = captures[1];
    9701            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1022, __FILE__, __LINE__, true);
    9702            0 :                               return _r;
    9703              :                             }
    9704            0 : next_after_fail1727:;
    9705              :                           }
    9706              :                       }
    9707              :                   }
    9708            0 :                   break;
    9709              :                 }
    9710              :               default:;
    9711              :               }
    9712              :           }
    9713              :         break;
    9714              :       }
    9715        79961 :     default:;
    9716              :     }
    9717        79961 :   switch (TREE_CODE (_p0))
    9718              :     {
    9719           46 :     case MIN_EXPR:
    9720           46 :       {
    9721           46 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9722           46 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9723           46 :         switch (TREE_CODE (_p1))
    9724              :           {
    9725            0 :           case MAX_EXPR:
    9726            0 :             {
    9727            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9728            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9729            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9730              :                 {
    9731            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9732              :                     {
    9733            0 :                       {
    9734            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9735            0 :                         if (!HONOR_NANS (captures[0])
    9736              : )
    9737              :                           {
    9738            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1728;
    9739            0 :                             {
    9740            0 :                               tree res_op0;
    9741            0 :                               res_op0 = captures[0];
    9742            0 :                               tree res_op1;
    9743            0 :                               res_op1 = captures[1];
    9744            0 :                               tree _r;
    9745            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    9746            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9747            0 :                               return _r;
    9748              :                             }
    9749            0 : next_after_fail1728:;
    9750              :                           }
    9751              :                       }
    9752              :                     }
    9753              :                 }
    9754            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9755              :                 {
    9756            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9757              :                     {
    9758            0 :                       {
    9759            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9760            0 :                         if (!HONOR_NANS (captures[0])
    9761              : )
    9762              :                           {
    9763            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1729;
    9764            0 :                             {
    9765            0 :                               tree res_op0;
    9766            0 :                               res_op0 = captures[0];
    9767            0 :                               tree res_op1;
    9768            0 :                               res_op1 = captures[1];
    9769            0 :                               tree _r;
    9770            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    9771            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9772            0 :                               return _r;
    9773              :                             }
    9774            0 : next_after_fail1729:;
    9775              :                           }
    9776              :                       }
    9777              :                     }
    9778              :                 }
    9779              :               break;
    9780              :             }
    9781              :           default:;
    9782              :           }
    9783              :         break;
    9784              :       }
    9785            0 :     case MAX_EXPR:
    9786            0 :       {
    9787            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9788            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9789            0 :         switch (TREE_CODE (_p1))
    9790              :           {
    9791            0 :           case MIN_EXPR:
    9792            0 :             {
    9793            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9794            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9795            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9796              :                 {
    9797            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9798              :                     {
    9799            0 :                       {
    9800            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9801            0 :                         if (!HONOR_NANS (captures[0])
    9802              : )
    9803              :                           {
    9804            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1730;
    9805            0 :                             {
    9806            0 :                               tree res_op0;
    9807            0 :                               res_op0 = captures[0];
    9808            0 :                               tree res_op1;
    9809            0 :                               res_op1 = captures[1];
    9810            0 :                               tree _r;
    9811            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    9812            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9813            0 :                               return _r;
    9814              :                             }
    9815            0 : next_after_fail1730:;
    9816              :                           }
    9817              :                       }
    9818              :                     }
    9819              :                 }
    9820            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9821              :                 {
    9822            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9823              :                     {
    9824            0 :                       {
    9825            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9826            0 :                         if (!HONOR_NANS (captures[0])
    9827              : )
    9828              :                           {
    9829            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1731;
    9830            0 :                             {
    9831            0 :                               tree res_op0;
    9832            0 :                               res_op0 = captures[0];
    9833            0 :                               tree res_op1;
    9834            0 :                               res_op1 = captures[1];
    9835            0 :                               tree _r;
    9836            0 :                               _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    9837            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    9838            0 :                               return _r;
    9839              :                             }
    9840            0 : next_after_fail1731:;
    9841              :                           }
    9842              :                       }
    9843              :                     }
    9844              :                 }
    9845              :               break;
    9846              :             }
    9847              :           default:;
    9848              :           }
    9849              :         break;
    9850              :       }
    9851            1 :     case BIT_AND_EXPR:
    9852            1 :       {
    9853            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9854            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9855            1 :         switch (TREE_CODE (_q21))
    9856              :           {
    9857            1 :           case INTEGER_CST:
    9858            1 :             {
    9859            1 :               switch (TREE_CODE (_p1))
    9860              :                 {
    9861            0 :                 case BIT_AND_EXPR:
    9862            0 :                   {
    9863            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9864            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    9865            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9866              :                       {
    9867            0 :                         switch (TREE_CODE (_q51))
    9868              :                           {
    9869            0 :                           case INTEGER_CST:
    9870            0 :                             {
    9871            0 :                               {
    9872            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9873            0 :                                 tree res = generic_simplify_524 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9874            0 :                                 if (res) return res;
    9875              :                               }
    9876            0 :                               break;
    9877              :                             }
    9878              :                           default:;
    9879              :                           }
    9880              :                       }
    9881              :                     break;
    9882              :                   }
    9883              :                 default:;
    9884              :                 }
    9885              :               break;
    9886              :             }
    9887              :           default:;
    9888              :           }
    9889              :         break;
    9890              :       }
    9891        79961 :     default:;
    9892              :     }
    9893        79961 :   switch (TREE_CODE (_p1))
    9894              :     {
    9895            0 :     case BIT_AND_EXPR:
    9896            0 :       {
    9897            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9898            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9899            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9900              :           {
    9901            0 :             switch (TREE_CODE (_q31))
    9902              :               {
    9903            0 :               case INTEGER_CST:
    9904            0 :                 {
    9905            0 :                   {
    9906            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    9907            0 :                     tree res = generic_simplify_525 (loc, type, _p0, _p1, captures, MIN_EXPR);
    9908            0 :                     if (res) return res;
    9909              :                   }
    9910            0 :                   break;
    9911              :                 }
    9912              :               default:;
    9913              :               }
    9914              :           }
    9915              :         break;
    9916              :       }
    9917        79961 :     default:;
    9918              :     }
    9919        79961 :   switch (TREE_CODE (_p0))
    9920              :     {
    9921          572 :     CASE_CONVERT:
    9922          572 :       {
    9923          572 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9924          572 :         switch (TREE_CODE (_q20))
    9925              :           {
    9926           47 :           case ADDR_EXPR:
    9927           47 :             {
    9928           47 :               switch (TREE_CODE (_p1))
    9929              :                 {
    9930           47 :                 CASE_CONVERT:
    9931           47 :                   {
    9932           47 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9933           47 :                     switch (TREE_CODE (_q40))
    9934              :                       {
    9935           47 :                       case ADDR_EXPR:
    9936           47 :                         {
    9937           47 :                           {
    9938           47 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9939           47 :                             tree res = generic_simplify_526 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    9940           47 :                             if (res) return res;
    9941              :                           }
    9942           47 :                           break;
    9943              :                         }
    9944              :                       default:;
    9945              :                       }
    9946              :                     break;
    9947              :                   }
    9948            0 :                 case ADDR_EXPR:
    9949            0 :                   {
    9950            0 :                     {
    9951            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9952            0 :                       tree res = generic_simplify_527 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    9953            0 :                       if (res) return res;
    9954              :                     }
    9955            0 :                     break;
    9956              :                   }
    9957              :                 default:;
    9958              :                 }
    9959              :               break;
    9960              :             }
    9961              :           default:;
    9962              :           }
    9963              :         break;
    9964              :       }
    9965           10 :     case ADDR_EXPR:
    9966           10 :       {
    9967           10 :         switch (TREE_CODE (_p1))
    9968              :           {
    9969            0 :           CASE_CONVERT:
    9970            0 :             {
    9971            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9972            0 :               switch (TREE_CODE (_q30))
    9973              :                 {
    9974            0 :                 case ADDR_EXPR:
    9975            0 :                   {
    9976            0 :                     {
    9977            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
    9978            0 :                       tree res = generic_simplify_528 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    9979            0 :                       if (res) return res;
    9980              :                     }
    9981            0 :                     break;
    9982              :                   }
    9983              :                 default:;
    9984              :                 }
    9985              :               break;
    9986              :             }
    9987           10 :           case ADDR_EXPR:
    9988           10 :             {
    9989           10 :               {
    9990           10 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
    9991           10 :                 tree res = generic_simplify_529 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    9992           10 :                 if (res) return res;
    9993              :               }
    9994           10 :               break;
    9995              :             }
    9996              :           default:;
    9997              :           }
    9998              :         break;
    9999              :       }
   10000            0 :     case NEGATE_EXPR:
   10001            0 :       {
   10002            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10003            0 :         switch (TREE_CODE (_p1))
   10004              :           {
   10005            0 :           case NEGATE_EXPR:
   10006            0 :             {
   10007            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10008            0 :               {
   10009            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10010            0 :                 if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
   10011            0 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10012            0 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
   10013              : )
   10014              :                   {
   10015            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1732;
   10016            0 :                     {
   10017            0 :                       tree res_op0;
   10018            0 :                       {
   10019            0 :                         tree _o1[2], _r1;
   10020            0 :                         _o1[0] = captures[1];
   10021            0 :                         _o1[1] = captures[3];
   10022            0 :                         _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10023            0 :                         res_op0 = _r1;
   10024              :                       }
   10025            0 :                       tree _r;
   10026            0 :                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   10027            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   10028            0 :                       return _r;
   10029              :                     }
   10030            0 : next_after_fail1732:;
   10031              :                   }
   10032              :               }
   10033            0 :               break;
   10034              :             }
   10035              :           default:;
   10036              :           }
   10037              :         break;
   10038              :       }
   10039            0 :     case BIT_NOT_EXPR:
   10040            0 :       {
   10041            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10042            0 :         switch (TREE_CODE (_p1))
   10043              :           {
   10044            0 :           case BIT_NOT_EXPR:
   10045            0 :             {
   10046            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10047            0 :               {
   10048            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10049            0 :                 tree res = generic_simplify_530 (loc, type, _p0, _p1, captures, MIN_EXPR, MAX_EXPR);
   10050            0 :                 if (res) return res;
   10051              :               }
   10052            0 :               break;
   10053              :             }
   10054              :           default:;
   10055              :           }
   10056              :         break;
   10057              :       }
   10058            0 :     case VEC_COND_EXPR:
   10059            0 :       {
   10060            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10061            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10062            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10063            0 :         switch (TREE_CODE (_p1))
   10064              :           {
   10065            0 :           case VEC_COND_EXPR:
   10066            0 :             {
   10067            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10068            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10069            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10070            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10071              :                 {
   10072            0 :                   {
   10073            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10074            0 :                     if (VECTOR_TYPE_P (type)
   10075            0 :  && (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
   10076              :  || types_match (type, TREE_TYPE (captures[2]))
   10077              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10078              :  || (optimize_vectors_before_lowering_p ()
   10079              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10080              : )
   10081              :                       {
   10082            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1733;
   10083            0 :                         {
   10084            0 :                           tree res_op0;
   10085            0 :                           res_op0 = captures[1];
   10086            0 :                           tree res_op1;
   10087            0 :                           {
   10088            0 :                             tree _o1[2], _r1;
   10089            0 :                             _o1[0] = captures[2];
   10090            0 :                             _o1[1] = captures[5];
   10091            0 :                             _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   10092            0 :                             if (EXPR_P (_r1))
   10093            0 :                               goto next_after_fail1733;
   10094            0 :                             res_op1 = _r1;
   10095              :                           }
   10096            0 :                           tree res_op2;
   10097            0 :                           {
   10098            0 :                             tree _o1[2], _r1;
   10099            0 :                             _o1[0] = captures[3];
   10100            0 :                             _o1[1] = captures[6];
   10101            0 :                             _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   10102            0 :                             if (EXPR_P (_r1))
   10103            0 :                               goto next_after_fail1733;
   10104            0 :                             res_op2 = _r1;
   10105              :                           }
   10106            0 :                           tree _r;
   10107            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10108            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
   10109            0 :                           return _r;
   10110              :                         }
   10111            0 : next_after_fail1733:;
   10112              :                       }
   10113              :                   }
   10114              :                 }
   10115              :               break;
   10116              :             }
   10117            0 :           default:;
   10118              :           }
   10119            0 :         {
   10120            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10121            0 :           if (VECTOR_TYPE_P (type)
   10122            0 :  && (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
   10123              :  || types_match (type, TREE_TYPE (captures[2]))
   10124              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10125              :  || (optimize_vectors_before_lowering_p ()
   10126              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10127              : )
   10128              :             {
   10129            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1734;
   10130            0 :               {
   10131            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1734;
   10132            0 :                 tree res_op0;
   10133            0 :                 res_op0 = captures[1];
   10134            0 :                 tree res_op1;
   10135            0 :                 {
   10136            0 :                   tree _o1[2], _r1;
   10137            0 :                   _o1[0] = captures[2];
   10138            0 :                   _o1[1] = unshare_expr (captures[4]);
   10139            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   10140            0 :                   if (EXPR_P (_r1))
   10141            0 :                     goto next_after_fail1734;
   10142            0 :                   res_op1 = _r1;
   10143              :                 }
   10144            0 :                 tree res_op2;
   10145            0 :                 {
   10146            0 :                   tree _o1[2], _r1;
   10147            0 :                   _o1[0] = captures[3];
   10148            0 :                   _o1[1] = captures[4];
   10149            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   10150            0 :                   if (EXPR_P (_r1))
   10151            0 :                     goto next_after_fail1734;
   10152            0 :                   res_op2 = _r1;
   10153              :                 }
   10154            0 :                 tree _r;
   10155            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10156            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   10157            0 :                 return _r;
   10158              :               }
   10159            0 : next_after_fail1734:;
   10160              :             }
   10161              :         }
   10162            0 :         break;
   10163              :       }
   10164        79961 :     default:;
   10165              :     }
   10166        79961 :   switch (TREE_CODE (_p1))
   10167              :     {
   10168            0 :     case VEC_COND_EXPR:
   10169            0 :       {
   10170            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10171            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10172            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10173            0 :         {
   10174            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10175            0 :           if (VECTOR_TYPE_P (type)
   10176            0 :  && (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
   10177              :  || types_match (type, TREE_TYPE (captures[3]))
   10178              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10179              :  || (optimize_vectors_before_lowering_p ()
   10180              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10181              : )
   10182              :             {
   10183            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1735;
   10184            0 :               {
   10185            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1735;
   10186            0 :                 tree res_op0;
   10187            0 :                 res_op0 = captures[2];
   10188            0 :                 tree res_op1;
   10189            0 :                 {
   10190            0 :                   tree _o1[2], _r1;
   10191            0 :                   _o1[0] = unshare_expr (captures[0]);
   10192            0 :                   _o1[1] = captures[3];
   10193            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   10194            0 :                   if (EXPR_P (_r1))
   10195            0 :                     goto next_after_fail1735;
   10196            0 :                   res_op1 = _r1;
   10197              :                 }
   10198            0 :                 tree res_op2;
   10199            0 :                 {
   10200            0 :                   tree _o1[2], _r1;
   10201            0 :                   _o1[0] = captures[0];
   10202            0 :                   _o1[1] = captures[4];
   10203            0 :                   _r1 = fold_build2_loc (loc, MIN_EXPR, type, _o1[0], _o1[1]);
   10204            0 :                   if (EXPR_P (_r1))
   10205            0 :                     goto next_after_fail1735;
   10206            0 :                   res_op2 = _r1;
   10207              :                 }
   10208            0 :                 tree _r;
   10209            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10210            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10211            0 :                 return _r;
   10212              :               }
   10213            0 : next_after_fail1735:;
   10214              :             }
   10215              :         }
   10216            0 :         break;
   10217              :       }
   10218        79961 :     default:;
   10219              :     }
   10220        79961 :   if (tree_zero_one_valued_p (_p0))
   10221              :     {
   10222            3 :       if (tree_zero_one_valued_p (_p1))
   10223              :         {
   10224            2 :           {
   10225            2 :             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10226            2 :             tree res = generic_simplify_531 (loc, type, _p0, _p1, captures, MIN_EXPR, BIT_AND_EXPR);
   10227            2 :             if (res) return res;
   10228              :           }
   10229              :         }
   10230              :     }
   10231              :   return NULL_TREE;
   10232              : }
   10233              : 
   10234              : tree
   10235       192441 : generic_simplify_ORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10236              : {
   10237       192441 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10238       192441 :   switch (TREE_CODE (_p0))
   10239              :     {
   10240            0 :     case VEC_COND_EXPR:
   10241            0 :       {
   10242            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10243            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10244            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10245            0 :         switch (TREE_CODE (_p1))
   10246              :           {
   10247            0 :           case VEC_COND_EXPR:
   10248            0 :             {
   10249            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10250            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10251            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10252            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10253              :                 {
   10254            0 :                   {
   10255            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10256            0 :                     if (VECTOR_TYPE_P (type)
   10257            0 :  && (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
   10258            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10259            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10260              :  || (optimize_vectors_before_lowering_p ()
   10261            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10262              : )
   10263              :                       {
   10264            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1757;
   10265            0 :                         {
   10266            0 :                           tree res_op0;
   10267            0 :                           res_op0 = captures[1];
   10268            0 :                           tree res_op1;
   10269            0 :                           {
   10270            0 :                             tree _o1[2], _r1;
   10271            0 :                             _o1[0] = captures[2];
   10272            0 :                             _o1[1] = captures[5];
   10273            0 :                             _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10274            0 :                             if (EXPR_P (_r1))
   10275            0 :                               goto next_after_fail1757;
   10276            0 :                             res_op1 = _r1;
   10277              :                           }
   10278            0 :                           tree res_op2;
   10279            0 :                           {
   10280            0 :                             tree _o1[2], _r1;
   10281            0 :                             _o1[0] = captures[3];
   10282            0 :                             _o1[1] = captures[6];
   10283            0 :                             _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10284            0 :                             if (EXPR_P (_r1))
   10285            0 :                               goto next_after_fail1757;
   10286            0 :                             res_op2 = _r1;
   10287              :                           }
   10288            0 :                           tree _r;
   10289            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10290            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
   10291            0 :                           return _r;
   10292              :                         }
   10293            0 : next_after_fail1757:;
   10294              :                       }
   10295              :                   }
   10296              :                 }
   10297              :               break;
   10298              :             }
   10299            0 :           default:;
   10300              :           }
   10301            0 :         {
   10302            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10303            0 :           if (VECTOR_TYPE_P (type)
   10304            0 :  && (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
   10305            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10306            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10307              :  || (optimize_vectors_before_lowering_p ()
   10308            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10309              : )
   10310              :             {
   10311            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1758;
   10312            0 :               {
   10313            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1758;
   10314            0 :                 tree res_op0;
   10315            0 :                 res_op0 = captures[1];
   10316            0 :                 tree res_op1;
   10317            0 :                 {
   10318            0 :                   tree _o1[2], _r1;
   10319            0 :                   _o1[0] = captures[2];
   10320            0 :                   _o1[1] = unshare_expr (captures[4]);
   10321            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10322            0 :                   if (EXPR_P (_r1))
   10323            0 :                     goto next_after_fail1758;
   10324            0 :                   res_op1 = _r1;
   10325              :                 }
   10326            0 :                 tree res_op2;
   10327            0 :                 {
   10328            0 :                   tree _o1[2], _r1;
   10329            0 :                   _o1[0] = captures[3];
   10330            0 :                   _o1[1] = captures[4];
   10331            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10332            0 :                   if (EXPR_P (_r1))
   10333            0 :                     goto next_after_fail1758;
   10334            0 :                   res_op2 = _r1;
   10335              :                 }
   10336            0 :                 tree _r;
   10337            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10338            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   10339            0 :                 return _r;
   10340              :               }
   10341            0 : next_after_fail1758:;
   10342              :             }
   10343              :         }
   10344            0 :         break;
   10345              :       }
   10346       192441 :     default:;
   10347              :     }
   10348       192441 :   switch (TREE_CODE (_p1))
   10349              :     {
   10350            0 :     case VEC_COND_EXPR:
   10351            0 :       {
   10352            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10353            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10354            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10355            0 :         {
   10356            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10357            0 :           if (VECTOR_TYPE_P (type)
   10358            0 :  && (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
   10359            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10360            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10361              :  || (optimize_vectors_before_lowering_p ()
   10362            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10363              : )
   10364              :             {
   10365            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1759;
   10366            0 :               {
   10367            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1759;
   10368            0 :                 tree res_op0;
   10369            0 :                 res_op0 = captures[2];
   10370            0 :                 tree res_op1;
   10371            0 :                 {
   10372            0 :                   tree _o1[2], _r1;
   10373            0 :                   _o1[0] = unshare_expr (captures[0]);
   10374            0 :                   _o1[1] = captures[3];
   10375            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10376            0 :                   if (EXPR_P (_r1))
   10377            0 :                     goto next_after_fail1759;
   10378            0 :                   res_op1 = _r1;
   10379              :                 }
   10380            0 :                 tree res_op2;
   10381            0 :                 {
   10382            0 :                   tree _o1[2], _r1;
   10383            0 :                   _o1[0] = captures[0];
   10384            0 :                   _o1[1] = captures[4];
   10385            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10386            0 :                   if (EXPR_P (_r1))
   10387            0 :                     goto next_after_fail1759;
   10388            0 :                   res_op2 = _r1;
   10389              :                 }
   10390            0 :                 tree _r;
   10391            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10392            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10393            0 :                 return _r;
   10394              :               }
   10395            0 : next_after_fail1759:;
   10396              :             }
   10397              :         }
   10398            0 :         break;
   10399              :       }
   10400       192441 :     default:;
   10401              :     }
   10402       192441 :   switch (TREE_CODE (_p0))
   10403              :     {
   10404            0 :     case FLOAT_EXPR:
   10405            0 :       {
   10406            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10407            0 :         switch (TREE_CODE (_p1))
   10408              :           {
   10409            0 :           case FLOAT_EXPR:
   10410            0 :             {
   10411            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10412            0 :               {
   10413            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10414            0 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
   10415            0 :                 if (res) return res;
   10416              :               }
   10417            0 :               break;
   10418              :             }
   10419              :           default:;
   10420              :           }
   10421              :         break;
   10422              :       }
   10423            0 :     case NEGATE_EXPR:
   10424            0 :       {
   10425            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10426            0 :         switch (TREE_CODE (_p1))
   10427              :           {
   10428            0 :           case NEGATE_EXPR:
   10429            0 :             {
   10430            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10431            0 :               {
   10432            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10433            0 :                 tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
   10434            0 :                 if (res) return res;
   10435              :               }
   10436            0 :               break;
   10437              :             }
   10438            0 :           default:;
   10439              :           }
   10440            0 :       if (CONSTANT_CLASS_P (_p1))
   10441              :         {
   10442            0 :           {
   10443            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10444            0 :             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
   10445            0 :             if (res) return res;
   10446              :           }
   10447              :         }
   10448              :         break;
   10449              :       }
   10450       192441 :     default:;
   10451              :     }
   10452       192441 :   switch (TREE_CODE (_p1))
   10453              :     {
   10454          102 :     case REAL_CST:
   10455          102 :       {
   10456          102 :         {
   10457          102 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10458          102 :           tree res = generic_simplify_560 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   10459          102 :           if (res) return res;
   10460              :         }
   10461          102 :         break;
   10462              :       }
   10463       192441 :     default:;
   10464              :     }
   10465       192441 :   {
   10466       192441 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10467       192441 :     if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
   10468              : )
   10469              :       {
   10470            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1760;
   10471            0 :         {
   10472            0 :           tree _r;
   10473            0 :           _r =  constant_boolean_node (false, type);
   10474            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10475            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10476            0 :           if (TREE_SIDE_EFFECTS (captures[1]))
   10477            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10478            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
   10479            0 :           return _r;
   10480              :         }
   10481            0 : next_after_fail1760:;
   10482              :       }
   10483              :     else
   10484              :       {
   10485       192441 :         if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
   10486              : )
   10487              :           {
   10488           10 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1761;
   10489           10 :             {
   10490           10 :               tree _r;
   10491           10 :               _r =  constant_boolean_node (true, type);
   10492           10 :               if (TREE_SIDE_EFFECTS (captures[0]))
   10493            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10494           10 :               if (TREE_SIDE_EFFECTS (captures[1]))
   10495            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10496           10 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
   10497           10 :               return _r;
   10498              :             }
   10499            0 : next_after_fail1761:;
   10500              :           }
   10501              :       }
   10502              :   }
   10503       192431 :   return NULL_TREE;
   10504              : }
   10505              : 
   10506              : tree
   10507       349656 : generic_simplify_UNEQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10508              : {
   10509       349656 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10510       349656 :   switch (TREE_CODE (_p0))
   10511              :     {
   10512            0 :     case VEC_COND_EXPR:
   10513            0 :       {
   10514            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10515            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10516            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10517            0 :         switch (TREE_CODE (_p1))
   10518              :           {
   10519            0 :           case VEC_COND_EXPR:
   10520            0 :             {
   10521            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10522            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10523            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10524            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10525              :                 {
   10526            0 :                   {
   10527            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10528            0 :                     if (VECTOR_TYPE_P (type)
   10529            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10530            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10531            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10532              :  || (optimize_vectors_before_lowering_p ()
   10533            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10534              : )
   10535              :                       {
   10536            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1774;
   10537            0 :                         {
   10538            0 :                           tree res_op0;
   10539            0 :                           res_op0 = captures[1];
   10540            0 :                           tree res_op1;
   10541            0 :                           {
   10542            0 :                             tree _o1[2], _r1;
   10543            0 :                             _o1[0] = captures[2];
   10544            0 :                             _o1[1] = captures[5];
   10545            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10546            0 :                             if (EXPR_P (_r1))
   10547            0 :                               goto next_after_fail1774;
   10548            0 :                             res_op1 = _r1;
   10549              :                           }
   10550            0 :                           tree res_op2;
   10551            0 :                           {
   10552            0 :                             tree _o1[2], _r1;
   10553            0 :                             _o1[0] = captures[3];
   10554            0 :                             _o1[1] = captures[6];
   10555            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10556            0 :                             if (EXPR_P (_r1))
   10557            0 :                               goto next_after_fail1774;
   10558            0 :                             res_op2 = _r1;
   10559              :                           }
   10560            0 :                           tree _r;
   10561            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10562            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
   10563            0 :                           return _r;
   10564              :                         }
   10565            0 : next_after_fail1774:;
   10566              :                       }
   10567              :                   }
   10568              :                 }
   10569              :               break;
   10570              :             }
   10571            0 :           default:;
   10572              :           }
   10573            0 :         {
   10574            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10575            0 :           if (VECTOR_TYPE_P (type)
   10576            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10577            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10578            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10579              :  || (optimize_vectors_before_lowering_p ()
   10580            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10581              : )
   10582              :             {
   10583            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1775;
   10584            0 :               {
   10585            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1775;
   10586            0 :                 tree res_op0;
   10587            0 :                 res_op0 = captures[1];
   10588            0 :                 tree res_op1;
   10589            0 :                 {
   10590            0 :                   tree _o1[2], _r1;
   10591            0 :                   _o1[0] = captures[2];
   10592            0 :                   _o1[1] = unshare_expr (captures[4]);
   10593            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10594            0 :                   if (EXPR_P (_r1))
   10595            0 :                     goto next_after_fail1775;
   10596            0 :                   res_op1 = _r1;
   10597              :                 }
   10598            0 :                 tree res_op2;
   10599            0 :                 {
   10600            0 :                   tree _o1[2], _r1;
   10601            0 :                   _o1[0] = captures[3];
   10602            0 :                   _o1[1] = captures[4];
   10603            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10604            0 :                   if (EXPR_P (_r1))
   10605            0 :                     goto next_after_fail1775;
   10606            0 :                   res_op2 = _r1;
   10607              :                 }
   10608            0 :                 tree _r;
   10609            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10610            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
   10611            0 :                 return _r;
   10612              :               }
   10613            0 : next_after_fail1775:;
   10614              :             }
   10615              :         }
   10616            0 :         break;
   10617              :       }
   10618       349656 :     default:;
   10619              :     }
   10620       349656 :   switch (TREE_CODE (_p1))
   10621              :     {
   10622            0 :     case VEC_COND_EXPR:
   10623            0 :       {
   10624            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10625            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10626            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10627            0 :         {
   10628            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10629            0 :           if (VECTOR_TYPE_P (type)
   10630            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10631            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10632            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10633              :  || (optimize_vectors_before_lowering_p ()
   10634            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10635              : )
   10636              :             {
   10637            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1776;
   10638            0 :               {
   10639            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1776;
   10640            0 :                 tree res_op0;
   10641            0 :                 res_op0 = captures[2];
   10642            0 :                 tree res_op1;
   10643            0 :                 {
   10644            0 :                   tree _o1[2], _r1;
   10645            0 :                   _o1[0] = unshare_expr (captures[0]);
   10646            0 :                   _o1[1] = captures[3];
   10647            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10648            0 :                   if (EXPR_P (_r1))
   10649            0 :                     goto next_after_fail1776;
   10650            0 :                   res_op1 = _r1;
   10651              :                 }
   10652            0 :                 tree res_op2;
   10653            0 :                 {
   10654            0 :                   tree _o1[2], _r1;
   10655            0 :                   _o1[0] = captures[0];
   10656            0 :                   _o1[1] = captures[4];
   10657            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10658            0 :                   if (EXPR_P (_r1))
   10659            0 :                     goto next_after_fail1776;
   10660            0 :                   res_op2 = _r1;
   10661              :                 }
   10662            0 :                 tree _r;
   10663            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10664            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10665            0 :                 return _r;
   10666              :               }
   10667            0 : next_after_fail1776:;
   10668              :             }
   10669              :         }
   10670            0 :         break;
   10671              :       }
   10672       349656 :     default:;
   10673              :     }
   10674       349656 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10675              :     {
   10676            0 :       {
   10677            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10678            0 :         tree res = generic_simplify_562 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   10679            0 :         if (res) return res;
   10680              :       }
   10681              :     }
   10682       349656 :   switch (TREE_CODE (_p0))
   10683              :     {
   10684            0 :     case FLOAT_EXPR:
   10685            0 :       {
   10686            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10687            0 :         switch (TREE_CODE (_p1))
   10688              :           {
   10689            0 :           case FLOAT_EXPR:
   10690            0 :             {
   10691            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10692            0 :               {
   10693            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10694            0 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, UNEQ_EXPR, EQ_EXPR);
   10695            0 :                 if (res) return res;
   10696              :               }
   10697            0 :               break;
   10698              :             }
   10699              :           default:;
   10700              :           }
   10701              :         break;
   10702              :       }
   10703            0 :     case NEGATE_EXPR:
   10704            0 :       {
   10705            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10706            0 :         switch (TREE_CODE (_p1))
   10707              :           {
   10708            0 :           case NEGATE_EXPR:
   10709            0 :             {
   10710            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10711            0 :               {
   10712            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10713            0 :                 tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   10714            0 :                 if (res) return res;
   10715              :               }
   10716            0 :               break;
   10717              :             }
   10718            0 :           default:;
   10719              :           }
   10720            0 :       if (CONSTANT_CLASS_P (_p1))
   10721              :         {
   10722            0 :           {
   10723            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10724            0 :             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   10725            0 :             if (res) return res;
   10726              :           }
   10727              :         }
   10728              :         break;
   10729              :       }
   10730       349656 :     default:;
   10731              :     }
   10732       349656 :   switch (TREE_CODE (_p1))
   10733              :     {
   10734          154 :     case REAL_CST:
   10735          154 :       {
   10736          154 :         {
   10737          154 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10738          154 :           tree res = generic_simplify_560 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   10739          154 :           if (res) return res;
   10740              :         }
   10741          152 :         break;
   10742              :       }
   10743              :     default:;
   10744              :     }
   10745              :   return NULL_TREE;
   10746              : }
   10747              : 
   10748              : tree
   10749     12440909 : generic_simplify_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   10750              : {
   10751     12440909 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10752     12440909 :   switch (TREE_CODE (_p0))
   10753              :     {
   10754      1751807 :     case LT_EXPR:
   10755      1751807 :       {
   10756      1751807 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10757      1751807 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10758      1751807 :         switch (TREE_CODE (_q20))
   10759              :           {
   10760        11286 :           case MINUS_EXPR:
   10761        11286 :             {
   10762        11286 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10763        11286 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10764        11286 :               switch (TREE_CODE (_q30))
   10765              :                 {
   10766          592 :                 case SSA_NAME:
   10767          592 :                   {
   10768          592 :                     switch (TREE_CODE (_q31))
   10769              :                       {
   10770            0 :                       case CALL_EXPR:
   10771            0 :                         switch (get_call_combined_fn (_q31))
   10772              :                           {
   10773            0 :                           case CFN_BUILT_IN_FLOORF:
   10774            0 :                             if (call_expr_nargs (_q31) == 1)
   10775              :     {
   10776            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   10777            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   10778              :                                   {
   10779            0 :                                     switch (TREE_CODE (_q50))
   10780              :                                       {
   10781            0 :                                       case SSA_NAME:
   10782            0 :                                         {
   10783            0 :                                           switch (TREE_CODE (_q21))
   10784              :                                             {
   10785            0 :                                             case MINUS_EXPR:
   10786            0 :                                               {
   10787            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   10788            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   10789            0 :                                                 switch (TREE_CODE (_q80))
   10790              :                                                   {
   10791            0 :                                                   case CALL_EXPR:
   10792            0 :                                                     switch (get_call_combined_fn (_q80))
   10793              :                                                       {
   10794            0 :                                                       case CFN_BUILT_IN_CEILF:
   10795            0 :                                                         if (call_expr_nargs (_q80) == 1)
   10796              :     {
   10797            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   10798            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   10799              :                                                               {
   10800            0 :                                                                 switch (TREE_CODE (_q90))
   10801              :                                                                   {
   10802            0 :                                                                   case SSA_NAME:
   10803            0 :                                                                     {
   10804            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   10805              :                                                                         {
   10806            0 :                                                                           switch (TREE_CODE (_q81))
   10807              :                                                                             {
   10808            0 :                                                                             case SSA_NAME:
   10809            0 :                                                                               {
   10810            0 :                                                                                 switch (TREE_CODE (_p1))
   10811              :                                                                                   {
   10812            0 :                                                                                   case CALL_EXPR:
   10813            0 :                                                                                     switch (get_call_combined_fn (_p1))
   10814              :                                                                                       {
   10815            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   10816            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   10817              :     {
   10818            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   10819            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   10820              :                                                                                               {
   10821            0 :                                                                                                 switch (TREE_CODE (_q140))
   10822              :                                                                                                   {
   10823            0 :                                                                                                   case SSA_NAME:
   10824            0 :                                                                                                     {
   10825            0 :                                                                                                       switch (TREE_CODE (_p2))
   10826              :                                                                                                         {
   10827            0 :                                                                                                         case CALL_EXPR:
   10828            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   10829              :                                                                                                             {
   10830            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   10831            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   10832              :     {
   10833            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   10834            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   10835              :                                                                                                                     {
   10836            0 :                                                                                                                       switch (TREE_CODE (_q170))
   10837              :                                                                                                                         {
   10838            0 :                                                                                                                         case SSA_NAME:
   10839            0 :                                                                                                                           {
   10840            0 :                                                                                                                             {
   10841            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10842            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   10843            0 :                                                                                                                               if (res) return res;
   10844              :                                                                                                                             }
   10845            0 :                                                                                                                             break;
   10846              :                                                                                                                           }
   10847              :                                                                                                                         default:;
   10848              :                                                                                                                         }
   10849              :                                                                                                                     }
   10850              :                                                                                                                 }
   10851              :                                                                                                               break;
   10852              :                                                                                                             default:;
   10853              :                                                                                                             }
   10854              :                                                                                                           break;
   10855              :                                                                                                         default:;
   10856              :                                                                                                         }
   10857              :                                                                                                       break;
   10858              :                                                                                                     }
   10859              :                                                                                                   default:;
   10860              :                                                                                                   }
   10861              :                                                                                               }
   10862              :                                                                                           }
   10863              :                                                                                         break;
   10864              :                                                                                       default:;
   10865              :                                                                                       }
   10866              :                                                                                     break;
   10867              :                                                                                   default:;
   10868              :                                                                                   }
   10869              :                                                                                 break;
   10870              :                                                                               }
   10871              :                                                                             default:;
   10872              :                                                                             }
   10873              :                                                                         }
   10874              :                                                                       break;
   10875              :                                                                     }
   10876              :                                                                   default:;
   10877              :                                                                   }
   10878              :                                                               }
   10879              :                                                           }
   10880              :                                                         break;
   10881              :                                                       default:;
   10882              :                                                       }
   10883              :                                                     break;
   10884              :                                                   default:;
   10885              :                                                   }
   10886              :                                                 break;
   10887              :                                               }
   10888              :                                             default:;
   10889              :                                             }
   10890              :                                           break;
   10891              :                                         }
   10892              :                                       default:;
   10893              :                                       }
   10894              :                                   }
   10895              :                               }
   10896              :                             break;
   10897            0 :                           case CFN_BUILT_IN_FLOORL:
   10898            0 :                             if (call_expr_nargs (_q31) == 1)
   10899              :     {
   10900            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   10901            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   10902              :                                   {
   10903            0 :                                     switch (TREE_CODE (_q50))
   10904              :                                       {
   10905            0 :                                       case SSA_NAME:
   10906            0 :                                         {
   10907            0 :                                           switch (TREE_CODE (_q21))
   10908              :                                             {
   10909            0 :                                             case MINUS_EXPR:
   10910            0 :                                               {
   10911            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   10912            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   10913            0 :                                                 switch (TREE_CODE (_q80))
   10914              :                                                   {
   10915            0 :                                                   case CALL_EXPR:
   10916            0 :                                                     switch (get_call_combined_fn (_q80))
   10917              :                                                       {
   10918            0 :                                                       case CFN_BUILT_IN_CEILL:
   10919            0 :                                                         if (call_expr_nargs (_q80) == 1)
   10920              :     {
   10921            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   10922            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   10923              :                                                               {
   10924            0 :                                                                 switch (TREE_CODE (_q90))
   10925              :                                                                   {
   10926            0 :                                                                   case SSA_NAME:
   10927            0 :                                                                     {
   10928            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   10929              :                                                                         {
   10930            0 :                                                                           switch (TREE_CODE (_q81))
   10931              :                                                                             {
   10932            0 :                                                                             case SSA_NAME:
   10933            0 :                                                                               {
   10934            0 :                                                                                 switch (TREE_CODE (_p1))
   10935              :                                                                                   {
   10936            0 :                                                                                   case CALL_EXPR:
   10937            0 :                                                                                     switch (get_call_combined_fn (_p1))
   10938              :                                                                                       {
   10939            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   10940            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   10941              :     {
   10942            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   10943            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   10944              :                                                                                               {
   10945            0 :                                                                                                 switch (TREE_CODE (_q140))
   10946              :                                                                                                   {
   10947            0 :                                                                                                   case SSA_NAME:
   10948            0 :                                                                                                     {
   10949            0 :                                                                                                       switch (TREE_CODE (_p2))
   10950              :                                                                                                         {
   10951            0 :                                                                                                         case CALL_EXPR:
   10952            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   10953              :                                                                                                             {
   10954            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   10955            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   10956              :     {
   10957            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   10958            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   10959              :                                                                                                                     {
   10960            0 :                                                                                                                       switch (TREE_CODE (_q170))
   10961              :                                                                                                                         {
   10962            0 :                                                                                                                         case SSA_NAME:
   10963            0 :                                                                                                                           {
   10964            0 :                                                                                                                             {
   10965            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10966            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   10967            0 :                                                                                                                               if (res) return res;
   10968              :                                                                                                                             }
   10969            0 :                                                                                                                             break;
   10970              :                                                                                                                           }
   10971              :                                                                                                                         default:;
   10972              :                                                                                                                         }
   10973              :                                                                                                                     }
   10974              :                                                                                                                 }
   10975              :                                                                                                               break;
   10976              :                                                                                                             default:;
   10977              :                                                                                                             }
   10978              :                                                                                                           break;
   10979              :                                                                                                         default:;
   10980              :                                                                                                         }
   10981              :                                                                                                       break;
   10982              :                                                                                                     }
   10983              :                                                                                                   default:;
   10984              :                                                                                                   }
   10985              :                                                                                               }
   10986              :                                                                                           }
   10987              :                                                                                         break;
   10988              :                                                                                       default:;
   10989              :                                                                                       }
   10990              :                                                                                     break;
   10991              :                                                                                   default:;
   10992              :                                                                                   }
   10993              :                                                                                 break;
   10994              :                                                                               }
   10995              :                                                                             default:;
   10996              :                                                                             }
   10997              :                                                                         }
   10998              :                                                                       break;
   10999              :                                                                     }
   11000              :                                                                   default:;
   11001              :                                                                   }
   11002              :                                                               }
   11003              :                                                           }
   11004              :                                                         break;
   11005              :                                                       default:;
   11006              :                                                       }
   11007              :                                                     break;
   11008              :                                                   default:;
   11009              :                                                   }
   11010              :                                                 break;
   11011              :                                               }
   11012              :                                             default:;
   11013              :                                             }
   11014              :                                           break;
   11015              :                                         }
   11016              :                                       default:;
   11017              :                                       }
   11018              :                                   }
   11019              :                               }
   11020              :                             break;
   11021            0 :                           case CFN_FLOOR:
   11022            0 :                             if (call_expr_nargs (_q31) == 1)
   11023              :     {
   11024            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11025            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11026              :                                   {
   11027            0 :                                     switch (TREE_CODE (_q50))
   11028              :                                       {
   11029            0 :                                       case SSA_NAME:
   11030            0 :                                         {
   11031            0 :                                           switch (TREE_CODE (_q21))
   11032              :                                             {
   11033            0 :                                             case MINUS_EXPR:
   11034            0 :                                               {
   11035            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11036            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11037            0 :                                                 switch (TREE_CODE (_q80))
   11038              :                                                   {
   11039            0 :                                                   case CALL_EXPR:
   11040            0 :                                                     switch (get_call_combined_fn (_q80))
   11041              :                                                       {
   11042            0 :                                                       case CFN_CEIL:
   11043            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11044              :     {
   11045            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11046            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11047              :                                                               {
   11048            0 :                                                                 switch (TREE_CODE (_q90))
   11049              :                                                                   {
   11050            0 :                                                                   case SSA_NAME:
   11051            0 :                                                                     {
   11052            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11053              :                                                                         {
   11054            0 :                                                                           switch (TREE_CODE (_q81))
   11055              :                                                                             {
   11056            0 :                                                                             case SSA_NAME:
   11057            0 :                                                                               {
   11058            0 :                                                                                 switch (TREE_CODE (_p1))
   11059              :                                                                                   {
   11060            0 :                                                                                   case CALL_EXPR:
   11061            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11062              :                                                                                       {
   11063            0 :                                                                                       case CFN_FLOOR:
   11064            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11065              :     {
   11066            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11067            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11068              :                                                                                               {
   11069            0 :                                                                                                 switch (TREE_CODE (_q140))
   11070              :                                                                                                   {
   11071            0 :                                                                                                   case SSA_NAME:
   11072            0 :                                                                                                     {
   11073            0 :                                                                                                       switch (TREE_CODE (_p2))
   11074              :                                                                                                         {
   11075            0 :                                                                                                         case CALL_EXPR:
   11076            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11077              :                                                                                                             {
   11078            0 :                                                                                                             case CFN_CEIL:
   11079            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11080              :     {
   11081            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11082            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11083              :                                                                                                                     {
   11084            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11085              :                                                                                                                         {
   11086            0 :                                                                                                                         case SSA_NAME:
   11087            0 :                                                                                                                           {
   11088            0 :                                                                                                                             {
   11089            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11090            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   11091            0 :                                                                                                                               if (res) return res;
   11092              :                                                                                                                             }
   11093            0 :                                                                                                                             break;
   11094              :                                                                                                                           }
   11095              :                                                                                                                         default:;
   11096              :                                                                                                                         }
   11097              :                                                                                                                     }
   11098              :                                                                                                                 }
   11099              :                                                                                                               break;
   11100              :                                                                                                             default:;
   11101              :                                                                                                             }
   11102              :                                                                                                           break;
   11103              :                                                                                                         default:;
   11104              :                                                                                                         }
   11105              :                                                                                                       break;
   11106              :                                                                                                     }
   11107              :                                                                                                   default:;
   11108              :                                                                                                   }
   11109              :                                                                                               }
   11110              :                                                                                           }
   11111              :                                                                                         break;
   11112              :                                                                                       default:;
   11113              :                                                                                       }
   11114              :                                                                                     break;
   11115              :                                                                                   default:;
   11116              :                                                                                   }
   11117              :                                                                                 break;
   11118              :                                                                               }
   11119              :                                                                             default:;
   11120              :                                                                             }
   11121              :                                                                         }
   11122              :                                                                       break;
   11123              :                                                                     }
   11124              :                                                                   default:;
   11125              :                                                                   }
   11126              :                                                               }
   11127              :                                                           }
   11128              :                                                         break;
   11129              :                                                       default:;
   11130              :                                                       }
   11131              :                                                     break;
   11132              :                                                   default:;
   11133              :                                                   }
   11134              :                                                 break;
   11135              :                                               }
   11136              :                                             default:;
   11137              :                                             }
   11138              :                                           break;
   11139              :                                         }
   11140              :                                       default:;
   11141              :                                       }
   11142              :                                   }
   11143              :                               }
   11144              :                             break;
   11145            0 :                           case CFN_BUILT_IN_FLOOR:
   11146            0 :                             if (call_expr_nargs (_q31) == 1)
   11147              :     {
   11148            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11149            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11150              :                                   {
   11151            0 :                                     switch (TREE_CODE (_q50))
   11152              :                                       {
   11153            0 :                                       case SSA_NAME:
   11154            0 :                                         {
   11155            0 :                                           switch (TREE_CODE (_q21))
   11156              :                                             {
   11157            0 :                                             case MINUS_EXPR:
   11158            0 :                                               {
   11159            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11160            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11161            0 :                                                 switch (TREE_CODE (_q80))
   11162              :                                                   {
   11163            0 :                                                   case CALL_EXPR:
   11164            0 :                                                     switch (get_call_combined_fn (_q80))
   11165              :                                                       {
   11166            0 :                                                       case CFN_BUILT_IN_CEIL:
   11167            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11168              :     {
   11169            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11170            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11171              :                                                               {
   11172            0 :                                                                 switch (TREE_CODE (_q90))
   11173              :                                                                   {
   11174            0 :                                                                   case SSA_NAME:
   11175            0 :                                                                     {
   11176            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11177              :                                                                         {
   11178            0 :                                                                           switch (TREE_CODE (_q81))
   11179              :                                                                             {
   11180            0 :                                                                             case SSA_NAME:
   11181            0 :                                                                               {
   11182            0 :                                                                                 switch (TREE_CODE (_p1))
   11183              :                                                                                   {
   11184            0 :                                                                                   case CALL_EXPR:
   11185            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11186              :                                                                                       {
   11187            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   11188            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11189              :     {
   11190            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11191            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11192              :                                                                                               {
   11193            0 :                                                                                                 switch (TREE_CODE (_q140))
   11194              :                                                                                                   {
   11195            0 :                                                                                                   case SSA_NAME:
   11196            0 :                                                                                                     {
   11197            0 :                                                                                                       switch (TREE_CODE (_p2))
   11198              :                                                                                                         {
   11199            0 :                                                                                                         case CALL_EXPR:
   11200            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11201              :                                                                                                             {
   11202            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   11203            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11204              :     {
   11205            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11206            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11207              :                                                                                                                     {
   11208            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11209              :                                                                                                                         {
   11210            0 :                                                                                                                         case SSA_NAME:
   11211            0 :                                                                                                                           {
   11212            0 :                                                                                                                             {
   11213            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11214            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   11215            0 :                                                                                                                               if (res) return res;
   11216              :                                                                                                                             }
   11217            0 :                                                                                                                             break;
   11218              :                                                                                                                           }
   11219              :                                                                                                                         default:;
   11220              :                                                                                                                         }
   11221              :                                                                                                                     }
   11222              :                                                                                                                 }
   11223              :                                                                                                               break;
   11224              :                                                                                                             default:;
   11225              :                                                                                                             }
   11226              :                                                                                                           break;
   11227              :                                                                                                         default:;
   11228              :                                                                                                         }
   11229              :                                                                                                       break;
   11230              :                                                                                                     }
   11231              :                                                                                                   default:;
   11232              :                                                                                                   }
   11233              :                                                                                               }
   11234              :                                                                                           }
   11235              :                                                                                         break;
   11236              :                                                                                       default:;
   11237              :                                                                                       }
   11238              :                                                                                     break;
   11239              :                                                                                   default:;
   11240              :                                                                                   }
   11241              :                                                                                 break;
   11242              :                                                                               }
   11243              :                                                                             default:;
   11244              :                                                                             }
   11245              :                                                                         }
   11246              :                                                                       break;
   11247              :                                                                     }
   11248              :                                                                   default:;
   11249              :                                                                   }
   11250              :                                                               }
   11251              :                                                           }
   11252              :                                                         break;
   11253              :                                                       default:;
   11254              :                                                       }
   11255              :                                                     break;
   11256              :                                                   default:;
   11257              :                                                   }
   11258              :                                                 break;
   11259              :                                               }
   11260              :                                             default:;
   11261              :                                             }
   11262              :                                           break;
   11263              :                                         }
   11264              :                                       default:;
   11265              :                                       }
   11266              :                                   }
   11267              :                               }
   11268              :                             break;
   11269              :                           default:;
   11270              :                           }
   11271              :                         break;
   11272              :                       default:;
   11273              :                       }
   11274              :                     break;
   11275              :                   }
   11276              :                 default:;
   11277              :                 }
   11278              :               break;
   11279              :             }
   11280      1751807 :           default:;
   11281              :           }
   11282      1751807 :         switch (TREE_CODE (_p1))
   11283              :           {
   11284            8 :           case BIT_IOR_EXPR:
   11285            8 :             {
   11286            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11287            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11288            8 :               switch (TREE_CODE (_q51))
   11289              :                 {
   11290            8 :                 case INTEGER_CST:
   11291            8 :                   {
   11292            8 :                     switch (TREE_CODE (_p2))
   11293              :                       {
   11294            0 :                       case BIT_AND_EXPR:
   11295            0 :                         {
   11296            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   11297            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   11298            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11299              :                             {
   11300            0 :                               switch (TREE_CODE (_q81))
   11301              :                                 {
   11302            0 :                                 case INTEGER_CST:
   11303            0 :                                   {
   11304            0 :                                     {
   11305            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   11306            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11307            0 :                                       if (res) return res;
   11308              :                                     }
   11309            0 :                                     break;
   11310              :                                   }
   11311              :                                 default:;
   11312              :                                 }
   11313              :                             }
   11314              :                           break;
   11315              :                         }
   11316              :                       default:;
   11317              :                       }
   11318              :                     break;
   11319              :                   }
   11320              :                 default:;
   11321              :                 }
   11322              :               break;
   11323              :             }
   11324      1751807 :           default:;
   11325              :           }
   11326      1751807 :         switch (TREE_CODE (_q20))
   11327              :           {
   11328       102914 :           CASE_CONVERT:
   11329       102914 :             {
   11330       102914 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11331       102914 :               switch (TREE_CODE (_q21))
   11332              :                 {
   11333        16725 :                 case INTEGER_CST:
   11334        16725 :                   {
   11335        16725 :                     switch (TREE_CODE (_p1))
   11336              :                       {
   11337           15 :                       CASE_CONVERT:
   11338           15 :                         {
   11339           15 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11340           15 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11341              :                             {
   11342            0 :                               switch (TREE_CODE (_p2))
   11343              :                                 {
   11344            0 :                                 case INTEGER_CST:
   11345            0 :                                   {
   11346            0 :                                     {
   11347            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11348            0 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11349            0 :                                       if (res) return res;
   11350              :                                     }
   11351            0 :                                     break;
   11352              :                                   }
   11353              :                                 default:;
   11354              :                                 }
   11355              :                             }
   11356              :                           break;
   11357              :                         }
   11358        16725 :                       default:;
   11359              :                       }
   11360        16725 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11361              :                       {
   11362            6 :                         switch (TREE_CODE (_p2))
   11363              :                           {
   11364            6 :                           case INTEGER_CST:
   11365            6 :                             {
   11366            6 :                               {
   11367            6 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11368            6 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11369            6 :                                 if (res) return res;
   11370              :                               }
   11371            6 :                               break;
   11372              :                             }
   11373              :                           default:;
   11374              :                           }
   11375              :                       }
   11376        16725 :                     switch (TREE_CODE (_p1))
   11377              :                       {
   11378           25 :                       case PLUS_EXPR:
   11379           25 :                         {
   11380           25 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11381           25 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   11382           25 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11383              :                             {
   11384            7 :                               switch (TREE_CODE (_q61))
   11385              :                                 {
   11386            7 :                                 case INTEGER_CST:
   11387            7 :                                   {
   11388            7 :                                     switch (TREE_CODE (_p2))
   11389              :                                       {
   11390            7 :                                       case INTEGER_CST:
   11391            7 :                                         {
   11392            7 :                                           {
   11393            7 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   11394            7 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   11395            7 :                                             if (res) return res;
   11396              :                                           }
   11397            0 :                                           break;
   11398              :                                         }
   11399              :                                       default:;
   11400              :                                       }
   11401              :                                     break;
   11402              :                                   }
   11403              :                                 default:;
   11404              :                                 }
   11405              :                             }
   11406              :                           break;
   11407              :                         }
   11408            0 :                       case MINUS_EXPR:
   11409            0 :                         {
   11410            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11411            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   11412            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11413              :                             {
   11414            0 :                               switch (TREE_CODE (_q61))
   11415              :                                 {
   11416            0 :                                 case INTEGER_CST:
   11417            0 :                                   {
   11418            0 :                                     switch (TREE_CODE (_p2))
   11419              :                                       {
   11420            0 :                                       case INTEGER_CST:
   11421            0 :                                         {
   11422            0 :                                           {
   11423            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   11424            0 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   11425            0 :                                             if (res) return res;
   11426              :                                           }
   11427            0 :                                           break;
   11428              :                                         }
   11429              :                                       default:;
   11430              :                                       }
   11431              :                                     break;
   11432              :                                   }
   11433              :                                 default:;
   11434              :                                 }
   11435              :                             }
   11436              :                           break;
   11437              :                         }
   11438              :                       default:;
   11439              :                       }
   11440              :                     break;
   11441              :                   }
   11442              :                 default:;
   11443              :                 }
   11444              :               break;
   11445              :             }
   11446      1751800 :           default:;
   11447              :           }
   11448      1751800 :         switch (TREE_CODE (_q21))
   11449              :           {
   11450       362635 :           case INTEGER_CST:
   11451       362635 :             {
   11452       362635 :               switch (TREE_CODE (_p1))
   11453              :                 {
   11454         1126 :                 CASE_CONVERT:
   11455         1126 :                   {
   11456         1126 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11457         1126 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11458              :                       {
   11459           36 :                         switch (TREE_CODE (_p2))
   11460              :                           {
   11461            5 :                           case INTEGER_CST:
   11462            5 :                             {
   11463            5 :                               {
   11464            5 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   11465            5 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11466            5 :                                 if (res) return res;
   11467              :                               }
   11468            5 :                               break;
   11469              :                             }
   11470              :                           default:;
   11471              :                           }
   11472              :                       }
   11473              :                     break;
   11474              :                   }
   11475       362635 :                 default:;
   11476              :                 }
   11477       362635 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11478              :                 {
   11479           81 :                   switch (TREE_CODE (_p2))
   11480              :                     {
   11481            8 :                     case INTEGER_CST:
   11482            8 :                       {
   11483            8 :                         {
   11484            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   11485            8 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11486            8 :                           if (res) return res;
   11487              :                         }
   11488            0 :                         break;
   11489              :                       }
   11490              :                     default:;
   11491              :                     }
   11492              :                 }
   11493       362627 :               switch (TREE_CODE (_p1))
   11494              :                 {
   11495         9096 :                 case PLUS_EXPR:
   11496         9096 :                   {
   11497         9096 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11498         9096 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   11499         9096 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11500              :                       {
   11501         9061 :                         switch (TREE_CODE (_q51))
   11502              :                           {
   11503         9061 :                           case INTEGER_CST:
   11504         9061 :                             {
   11505         9061 :                               switch (TREE_CODE (_p2))
   11506              :                                 {
   11507           36 :                                 case INTEGER_CST:
   11508           36 :                                   {
   11509           36 :                                     {
   11510           36 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   11511           36 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   11512           36 :                                       if (res) return res;
   11513              :                                     }
   11514           36 :                                     break;
   11515              :                                   }
   11516              :                                 default:;
   11517              :                                 }
   11518              :                               break;
   11519              :                             }
   11520              :                           default:;
   11521              :                           }
   11522              :                       }
   11523              :                     break;
   11524              :                   }
   11525           62 :                 case MINUS_EXPR:
   11526           62 :                   {
   11527           62 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11528           62 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   11529           62 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11530              :                       {
   11531            0 :                         switch (TREE_CODE (_q51))
   11532              :                           {
   11533            0 :                           case INTEGER_CST:
   11534            0 :                             {
   11535            0 :                               switch (TREE_CODE (_p2))
   11536              :                                 {
   11537            0 :                                 case INTEGER_CST:
   11538            0 :                                   {
   11539            0 :                                     {
   11540            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   11541            0 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   11542            0 :                                       if (res) return res;
   11543              :                                     }
   11544            0 :                                     break;
   11545              :                                   }
   11546              :                                 default:;
   11547              :                                 }
   11548              :                               break;
   11549              :                             }
   11550              :                           default:;
   11551              :                           }
   11552              :                       }
   11553              :                     break;
   11554              :                   }
   11555              :                 default:;
   11556              :                 }
   11557              :               break;
   11558              :             }
   11559      1751792 :           default:;
   11560              :           }
   11561      1751792 :         switch (TREE_CODE (_p1))
   11562              :           {
   11563            0 :           case MIN_EXPR:
   11564            0 :             {
   11565            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11566            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11567            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11568              :                 {
   11569            0 :                   switch (TREE_CODE (_p2))
   11570              :                     {
   11571            0 :                     case MIN_EXPR:
   11572            0 :                       {
   11573            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11574            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11575            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11576              :                           {
   11577            0 :                             {
   11578            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   11579            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11580            0 :                               if (res) return res;
   11581              :                             }
   11582              :                           }
   11583            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11584              :                           {
   11585            0 :                             {
   11586            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   11587            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11588            0 :                               if (res) return res;
   11589              :                             }
   11590              :                           }
   11591              :                         break;
   11592              :                       }
   11593              :                     default:;
   11594              :                     }
   11595              :                 }
   11596            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11597              :                 {
   11598            0 :                   switch (TREE_CODE (_p2))
   11599              :                     {
   11600            0 :                     case MIN_EXPR:
   11601            0 :                       {
   11602            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11603            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11604            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11605              :                           {
   11606            0 :                             {
   11607            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   11608            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11609            0 :                               if (res) return res;
   11610              :                             }
   11611              :                           }
   11612            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11613              :                           {
   11614            0 :                             {
   11615            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   11616            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11617            0 :                               if (res) return res;
   11618              :                             }
   11619              :                           }
   11620              :                         break;
   11621              :                       }
   11622              :                     default:;
   11623              :                     }
   11624              :                 }
   11625            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11626              :                 {
   11627            0 :                   switch (TREE_CODE (_p2))
   11628              :                     {
   11629            0 :                     case MIN_EXPR:
   11630            0 :                       {
   11631            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11632            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11633            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11634              :                           {
   11635            0 :                             {
   11636            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   11637            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11638            0 :                               if (res) return res;
   11639              :                             }
   11640              :                           }
   11641            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11642              :                           {
   11643            0 :                             {
   11644            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   11645            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11646            0 :                               if (res) return res;
   11647              :                             }
   11648              :                           }
   11649              :                         break;
   11650              :                       }
   11651            0 :                     default:;
   11652              :                     }
   11653            0 :                   {
   11654            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   11655            0 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11656            0 :                     if (res) return res;
   11657              :                   }
   11658              :                 }
   11659            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11660              :                 {
   11661            0 :                   switch (TREE_CODE (_p2))
   11662              :                     {
   11663            0 :                     case MIN_EXPR:
   11664            0 :                       {
   11665            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11666            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11667            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11668              :                           {
   11669            0 :                             {
   11670            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   11671            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11672            0 :                               if (res) return res;
   11673              :                             }
   11674              :                           }
   11675            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11676              :                           {
   11677            0 :                             {
   11678            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   11679            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11680            0 :                               if (res) return res;
   11681              :                             }
   11682              :                           }
   11683              :                         break;
   11684              :                       }
   11685            0 :                     default:;
   11686              :                     }
   11687            0 :                   {
   11688            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   11689            0 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11690            0 :                     if (res) return res;
   11691              :                   }
   11692              :                 }
   11693              :               break;
   11694              :             }
   11695           21 :           case MAX_EXPR:
   11696           21 :             {
   11697           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11698           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11699           21 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11700              :                 {
   11701            1 :                   switch (TREE_CODE (_p2))
   11702              :                     {
   11703            0 :                     case MAX_EXPR:
   11704            0 :                       {
   11705            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11706            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11707            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11708              :                           {
   11709            0 :                             {
   11710            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   11711            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11712            0 :                               if (res) return res;
   11713              :                             }
   11714              :                           }
   11715            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11716              :                           {
   11717            0 :                             {
   11718            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   11719            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11720            0 :                               if (res) return res;
   11721              :                             }
   11722              :                           }
   11723              :                         break;
   11724              :                       }
   11725            1 :                     default:;
   11726              :                     }
   11727            1 :                   {
   11728            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   11729            1 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11730            1 :                     if (res) return res;
   11731              :                   }
   11732              :                 }
   11733           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11734              :                 {
   11735            4 :                   switch (TREE_CODE (_p2))
   11736              :                     {
   11737            0 :                     case MAX_EXPR:
   11738            0 :                       {
   11739            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11740            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11741            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11742              :                           {
   11743            0 :                             {
   11744            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   11745            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11746            0 :                               if (res) return res;
   11747              :                             }
   11748              :                           }
   11749            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11750              :                           {
   11751            0 :                             {
   11752            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   11753            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11754            0 :                               if (res) return res;
   11755              :                             }
   11756              :                           }
   11757              :                         break;
   11758              :                       }
   11759              :                     default:;
   11760              :                     }
   11761              :                 }
   11762           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11763              :                 {
   11764            8 :                   switch (TREE_CODE (_p2))
   11765              :                     {
   11766            0 :                     case MAX_EXPR:
   11767            0 :                       {
   11768            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11769            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11770            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11771              :                           {
   11772            0 :                             {
   11773            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   11774            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11775            0 :                               if (res) return res;
   11776              :                             }
   11777              :                           }
   11778            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11779              :                           {
   11780            0 :                             {
   11781            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   11782            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11783            0 :                               if (res) return res;
   11784              :                             }
   11785              :                           }
   11786              :                         break;
   11787              :                       }
   11788              :                     default:;
   11789              :                     }
   11790              :                 }
   11791           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11792              :                 {
   11793            1 :                   switch (TREE_CODE (_p2))
   11794              :                     {
   11795            1 :                     case MAX_EXPR:
   11796            1 :                       {
   11797            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11798            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11799            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11800              :                           {
   11801            0 :                             {
   11802            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   11803            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11804            0 :                               if (res) return res;
   11805              :                             }
   11806              :                           }
   11807            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11808              :                           {
   11809            1 :                             {
   11810            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   11811            1 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11812            1 :                               if (res) return res;
   11813              :                             }
   11814              :                           }
   11815              :                         break;
   11816              :                       }
   11817              :                     default:;
   11818              :                     }
   11819              :                 }
   11820           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11821              :                 {
   11822            4 :                   {
   11823            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   11824            4 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11825            4 :                     if (res) return res;
   11826              :                   }
   11827              :                 }
   11828              :               break;
   11829              :             }
   11830      1751790 :           default:;
   11831              :           }
   11832      1751790 :         {
   11833      1751790 :           tree _q20_pops[1];
   11834      1751790 :           if (tree_nop_convert (_q20, _q20_pops))
   11835              :             {
   11836        56484 :               tree _q30 = _q20_pops[0];
   11837        56484 :               if (integer_zerop (_q21))
   11838              :                 {
   11839         7747 :                   switch (TREE_CODE (_p1))
   11840              :                     {
   11841            0 :                     case MIN_EXPR:
   11842            0 :                       {
   11843            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   11844            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   11845            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11846              :                           {
   11847            0 :                             switch (TREE_CODE (_q61))
   11848              :                               {
   11849            0 :                               case INTEGER_CST:
   11850            0 :                                 {
   11851            0 :                                   switch (TREE_CODE (_p2))
   11852              :                                     {
   11853            0 :                                     case INTEGER_CST:
   11854            0 :                                       {
   11855            0 :                                         {
   11856            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   11857            0 :                                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11858            0 :                                           if (res) return res;
   11859              :                                         }
   11860            0 :                                         break;
   11861              :                                       }
   11862              :                                     default:;
   11863              :                                     }
   11864              :                                   break;
   11865              :                                 }
   11866              :                               default:;
   11867              :                               }
   11868              :                           }
   11869              :                         break;
   11870              :                       }
   11871              :                     default:;
   11872              :                     }
   11873              :                 }
   11874              :             }
   11875              :         }
   11876      1751790 :         if (integer_zerop (_q21))
   11877              :           {
   11878       317273 :             if (tree_expr_nonnegative_p (_p1))
   11879              :               {
   11880       285313 :                 switch (TREE_CODE (_p2))
   11881              :                   {
   11882           17 :                   case MIN_EXPR:
   11883           17 :                     {
   11884           17 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   11885           17 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   11886           17 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11887              :                         {
   11888           16 :                           if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   11889              :                             {
   11890            9 :                               {
   11891            9 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11892            9 :                                 tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures);
   11893            9 :                                 if (res) return res;
   11894              :                               }
   11895              :                             }
   11896              :                         }
   11897            8 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   11898              :                         {
   11899            0 :                           if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   11900              :                             {
   11901            0 :                               {
   11902            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11903            0 :                                 tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures);
   11904            0 :                                 if (res) return res;
   11905              :                               }
   11906              :                             }
   11907              :                         }
   11908              :                       break;
   11909              :                     }
   11910              :                   default:;
   11911              :                   }
   11912              :               }
   11913              :           }
   11914      1751781 :         if (tree_expr_nonnegative_p (_q20))
   11915              :           {
   11916       492192 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11917              :               {
   11918          166 :                 switch (TREE_CODE (_p2))
   11919              :                   {
   11920            5 :                   case ABS_EXPR:
   11921            5 :                     {
   11922            5 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   11923            5 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   11924              :                         {
   11925            0 :                           {
   11926            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   11927            0 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   11928            0 :                             if (res) return res;
   11929              :                           }
   11930              :                         }
   11931              :                       break;
   11932              :                     }
   11933              :                   default:;
   11934              :                   }
   11935              :               }
   11936       492192 :             switch (TREE_CODE (_p1))
   11937              :               {
   11938            0 :               case ABS_EXPR:
   11939            0 :                 {
   11940            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   11941            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11942              :                     {
   11943            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11944              :                         {
   11945            0 :                           {
   11946            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   11947            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   11948            0 :                             if (res) return res;
   11949              :                           }
   11950              :                         }
   11951              :                     }
   11952              :                   break;
   11953              :                 }
   11954              :               default:;
   11955              :               }
   11956              :           }
   11957              :         break;
   11958              :       }
   11959       549003 :     case GE_EXPR:
   11960       549003 :       {
   11961       549003 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11962       549003 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11963       549003 :         switch (TREE_CODE (_q20))
   11964              :           {
   11965        38133 :           case MINUS_EXPR:
   11966        38133 :             {
   11967        38133 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11968        38133 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11969        38133 :               switch (TREE_CODE (_q30))
   11970              :                 {
   11971          528 :                 case SSA_NAME:
   11972          528 :                   {
   11973          528 :                     switch (TREE_CODE (_q31))
   11974              :                       {
   11975            0 :                       case CALL_EXPR:
   11976            0 :                         switch (get_call_combined_fn (_q31))
   11977              :                           {
   11978            0 :                           case CFN_BUILT_IN_FLOORF:
   11979            0 :                             if (call_expr_nargs (_q31) == 1)
   11980              :     {
   11981            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11982            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11983              :                                   {
   11984            0 :                                     switch (TREE_CODE (_q50))
   11985              :                                       {
   11986            0 :                                       case SSA_NAME:
   11987            0 :                                         {
   11988            0 :                                           switch (TREE_CODE (_q21))
   11989              :                                             {
   11990            0 :                                             case MINUS_EXPR:
   11991            0 :                                               {
   11992            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11993            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11994            0 :                                                 switch (TREE_CODE (_q80))
   11995              :                                                   {
   11996            0 :                                                   case CALL_EXPR:
   11997            0 :                                                     switch (get_call_combined_fn (_q80))
   11998              :                                                       {
   11999            0 :                                                       case CFN_BUILT_IN_CEILF:
   12000            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12001              :     {
   12002            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12003            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12004              :                                                               {
   12005            0 :                                                                 switch (TREE_CODE (_q90))
   12006              :                                                                   {
   12007            0 :                                                                   case SSA_NAME:
   12008            0 :                                                                     {
   12009            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12010              :                                                                         {
   12011            0 :                                                                           switch (TREE_CODE (_q81))
   12012              :                                                                             {
   12013            0 :                                                                             case SSA_NAME:
   12014            0 :                                                                               {
   12015            0 :                                                                                 switch (TREE_CODE (_p1))
   12016              :                                                                                   {
   12017            0 :                                                                                   case CALL_EXPR:
   12018            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12019              :                                                                                       {
   12020            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   12021            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12022              :     {
   12023            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12024            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12025              :                                                                                               {
   12026            0 :                                                                                                 switch (TREE_CODE (_q140))
   12027              :                                                                                                   {
   12028            0 :                                                                                                   case SSA_NAME:
   12029            0 :                                                                                                     {
   12030            0 :                                                                                                       switch (TREE_CODE (_p2))
   12031              :                                                                                                         {
   12032            0 :                                                                                                         case CALL_EXPR:
   12033            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12034              :                                                                                                             {
   12035            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   12036            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12037              :     {
   12038            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12039            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12040              :                                                                                                                     {
   12041            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12042              :                                                                                                                         {
   12043            0 :                                                                                                                         case SSA_NAME:
   12044            0 :                                                                                                                           {
   12045            0 :                                                                                                                             {
   12046            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12047            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   12048            0 :                                                                                                                               if (res) return res;
   12049              :                                                                                                                             }
   12050            0 :                                                                                                                             break;
   12051              :                                                                                                                           }
   12052              :                                                                                                                         default:;
   12053              :                                                                                                                         }
   12054              :                                                                                                                     }
   12055              :                                                                                                                 }
   12056              :                                                                                                               break;
   12057              :                                                                                                             default:;
   12058              :                                                                                                             }
   12059              :                                                                                                           break;
   12060              :                                                                                                         default:;
   12061              :                                                                                                         }
   12062              :                                                                                                       break;
   12063              :                                                                                                     }
   12064              :                                                                                                   default:;
   12065              :                                                                                                   }
   12066              :                                                                                               }
   12067              :                                                                                           }
   12068              :                                                                                         break;
   12069              :                                                                                       default:;
   12070              :                                                                                       }
   12071              :                                                                                     break;
   12072              :                                                                                   default:;
   12073              :                                                                                   }
   12074              :                                                                                 break;
   12075              :                                                                               }
   12076              :                                                                             default:;
   12077              :                                                                             }
   12078              :                                                                         }
   12079              :                                                                       break;
   12080              :                                                                     }
   12081              :                                                                   default:;
   12082              :                                                                   }
   12083              :                                                               }
   12084              :                                                           }
   12085              :                                                         break;
   12086              :                                                       default:;
   12087              :                                                       }
   12088              :                                                     break;
   12089              :                                                   default:;
   12090              :                                                   }
   12091              :                                                 break;
   12092              :                                               }
   12093              :                                             default:;
   12094              :                                             }
   12095              :                                           break;
   12096              :                                         }
   12097              :                                       default:;
   12098              :                                       }
   12099              :                                   }
   12100              :                               }
   12101              :                             break;
   12102            0 :                           case CFN_BUILT_IN_FLOORL:
   12103            0 :                             if (call_expr_nargs (_q31) == 1)
   12104              :     {
   12105            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12106            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12107              :                                   {
   12108            0 :                                     switch (TREE_CODE (_q50))
   12109              :                                       {
   12110            0 :                                       case SSA_NAME:
   12111            0 :                                         {
   12112            0 :                                           switch (TREE_CODE (_q21))
   12113              :                                             {
   12114            0 :                                             case MINUS_EXPR:
   12115            0 :                                               {
   12116            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12117            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12118            0 :                                                 switch (TREE_CODE (_q80))
   12119              :                                                   {
   12120            0 :                                                   case CALL_EXPR:
   12121            0 :                                                     switch (get_call_combined_fn (_q80))
   12122              :                                                       {
   12123            0 :                                                       case CFN_BUILT_IN_CEILL:
   12124            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12125              :     {
   12126            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12127            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12128              :                                                               {
   12129            0 :                                                                 switch (TREE_CODE (_q90))
   12130              :                                                                   {
   12131            0 :                                                                   case SSA_NAME:
   12132            0 :                                                                     {
   12133            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12134              :                                                                         {
   12135            0 :                                                                           switch (TREE_CODE (_q81))
   12136              :                                                                             {
   12137            0 :                                                                             case SSA_NAME:
   12138            0 :                                                                               {
   12139            0 :                                                                                 switch (TREE_CODE (_p1))
   12140              :                                                                                   {
   12141            0 :                                                                                   case CALL_EXPR:
   12142            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12143              :                                                                                       {
   12144            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   12145            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12146              :     {
   12147            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12148            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12149              :                                                                                               {
   12150            0 :                                                                                                 switch (TREE_CODE (_q140))
   12151              :                                                                                                   {
   12152            0 :                                                                                                   case SSA_NAME:
   12153            0 :                                                                                                     {
   12154            0 :                                                                                                       switch (TREE_CODE (_p2))
   12155              :                                                                                                         {
   12156            0 :                                                                                                         case CALL_EXPR:
   12157            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12158              :                                                                                                             {
   12159            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   12160            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12161              :     {
   12162            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12163            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12164              :                                                                                                                     {
   12165            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12166              :                                                                                                                         {
   12167            0 :                                                                                                                         case SSA_NAME:
   12168            0 :                                                                                                                           {
   12169            0 :                                                                                                                             {
   12170            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12171            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   12172            0 :                                                                                                                               if (res) return res;
   12173              :                                                                                                                             }
   12174            0 :                                                                                                                             break;
   12175              :                                                                                                                           }
   12176              :                                                                                                                         default:;
   12177              :                                                                                                                         }
   12178              :                                                                                                                     }
   12179              :                                                                                                                 }
   12180              :                                                                                                               break;
   12181              :                                                                                                             default:;
   12182              :                                                                                                             }
   12183              :                                                                                                           break;
   12184              :                                                                                                         default:;
   12185              :                                                                                                         }
   12186              :                                                                                                       break;
   12187              :                                                                                                     }
   12188              :                                                                                                   default:;
   12189              :                                                                                                   }
   12190              :                                                                                               }
   12191              :                                                                                           }
   12192              :                                                                                         break;
   12193              :                                                                                       default:;
   12194              :                                                                                       }
   12195              :                                                                                     break;
   12196              :                                                                                   default:;
   12197              :                                                                                   }
   12198              :                                                                                 break;
   12199              :                                                                               }
   12200              :                                                                             default:;
   12201              :                                                                             }
   12202              :                                                                         }
   12203              :                                                                       break;
   12204              :                                                                     }
   12205              :                                                                   default:;
   12206              :                                                                   }
   12207              :                                                               }
   12208              :                                                           }
   12209              :                                                         break;
   12210              :                                                       default:;
   12211              :                                                       }
   12212              :                                                     break;
   12213              :                                                   default:;
   12214              :                                                   }
   12215              :                                                 break;
   12216              :                                               }
   12217              :                                             default:;
   12218              :                                             }
   12219              :                                           break;
   12220              :                                         }
   12221              :                                       default:;
   12222              :                                       }
   12223              :                                   }
   12224              :                               }
   12225              :                             break;
   12226            0 :                           case CFN_FLOOR:
   12227            0 :                             if (call_expr_nargs (_q31) == 1)
   12228              :     {
   12229            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12230            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12231              :                                   {
   12232            0 :                                     switch (TREE_CODE (_q50))
   12233              :                                       {
   12234            0 :                                       case SSA_NAME:
   12235            0 :                                         {
   12236            0 :                                           switch (TREE_CODE (_q21))
   12237              :                                             {
   12238            0 :                                             case MINUS_EXPR:
   12239            0 :                                               {
   12240            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12241            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12242            0 :                                                 switch (TREE_CODE (_q80))
   12243              :                                                   {
   12244            0 :                                                   case CALL_EXPR:
   12245            0 :                                                     switch (get_call_combined_fn (_q80))
   12246              :                                                       {
   12247            0 :                                                       case CFN_CEIL:
   12248            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12249              :     {
   12250            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12251            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12252              :                                                               {
   12253            0 :                                                                 switch (TREE_CODE (_q90))
   12254              :                                                                   {
   12255            0 :                                                                   case SSA_NAME:
   12256            0 :                                                                     {
   12257            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12258              :                                                                         {
   12259            0 :                                                                           switch (TREE_CODE (_q81))
   12260              :                                                                             {
   12261            0 :                                                                             case SSA_NAME:
   12262            0 :                                                                               {
   12263            0 :                                                                                 switch (TREE_CODE (_p1))
   12264              :                                                                                   {
   12265            0 :                                                                                   case CALL_EXPR:
   12266            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12267              :                                                                                       {
   12268            0 :                                                                                       case CFN_CEIL:
   12269            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12270              :     {
   12271            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12272            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12273              :                                                                                               {
   12274            0 :                                                                                                 switch (TREE_CODE (_q140))
   12275              :                                                                                                   {
   12276            0 :                                                                                                   case SSA_NAME:
   12277            0 :                                                                                                     {
   12278            0 :                                                                                                       switch (TREE_CODE (_p2))
   12279              :                                                                                                         {
   12280            0 :                                                                                                         case CALL_EXPR:
   12281            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12282              :                                                                                                             {
   12283            0 :                                                                                                             case CFN_FLOOR:
   12284            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12285              :     {
   12286            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12287            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12288              :                                                                                                                     {
   12289            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12290              :                                                                                                                         {
   12291            0 :                                                                                                                         case SSA_NAME:
   12292            0 :                                                                                                                           {
   12293            0 :                                                                                                                             {
   12294            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12295            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   12296            0 :                                                                                                                               if (res) return res;
   12297              :                                                                                                                             }
   12298            0 :                                                                                                                             break;
   12299              :                                                                                                                           }
   12300              :                                                                                                                         default:;
   12301              :                                                                                                                         }
   12302              :                                                                                                                     }
   12303              :                                                                                                                 }
   12304              :                                                                                                               break;
   12305              :                                                                                                             default:;
   12306              :                                                                                                             }
   12307              :                                                                                                           break;
   12308              :                                                                                                         default:;
   12309              :                                                                                                         }
   12310              :                                                                                                       break;
   12311              :                                                                                                     }
   12312              :                                                                                                   default:;
   12313              :                                                                                                   }
   12314              :                                                                                               }
   12315              :                                                                                           }
   12316              :                                                                                         break;
   12317              :                                                                                       default:;
   12318              :                                                                                       }
   12319              :                                                                                     break;
   12320              :                                                                                   default:;
   12321              :                                                                                   }
   12322              :                                                                                 break;
   12323              :                                                                               }
   12324              :                                                                             default:;
   12325              :                                                                             }
   12326              :                                                                         }
   12327              :                                                                       break;
   12328              :                                                                     }
   12329              :                                                                   default:;
   12330              :                                                                   }
   12331              :                                                               }
   12332              :                                                           }
   12333              :                                                         break;
   12334              :                                                       default:;
   12335              :                                                       }
   12336              :                                                     break;
   12337              :                                                   default:;
   12338              :                                                   }
   12339              :                                                 break;
   12340              :                                               }
   12341              :                                             default:;
   12342              :                                             }
   12343              :                                           break;
   12344              :                                         }
   12345              :                                       default:;
   12346              :                                       }
   12347              :                                   }
   12348              :                               }
   12349              :                             break;
   12350            0 :                           case CFN_BUILT_IN_FLOOR:
   12351            0 :                             if (call_expr_nargs (_q31) == 1)
   12352              :     {
   12353            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12354            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12355              :                                   {
   12356            0 :                                     switch (TREE_CODE (_q50))
   12357              :                                       {
   12358            0 :                                       case SSA_NAME:
   12359            0 :                                         {
   12360            0 :                                           switch (TREE_CODE (_q21))
   12361              :                                             {
   12362            0 :                                             case MINUS_EXPR:
   12363            0 :                                               {
   12364            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12365            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12366            0 :                                                 switch (TREE_CODE (_q80))
   12367              :                                                   {
   12368            0 :                                                   case CALL_EXPR:
   12369            0 :                                                     switch (get_call_combined_fn (_q80))
   12370              :                                                       {
   12371            0 :                                                       case CFN_BUILT_IN_CEIL:
   12372            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12373              :     {
   12374            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12375            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12376              :                                                               {
   12377            0 :                                                                 switch (TREE_CODE (_q90))
   12378              :                                                                   {
   12379            0 :                                                                   case SSA_NAME:
   12380            0 :                                                                     {
   12381            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12382              :                                                                         {
   12383            0 :                                                                           switch (TREE_CODE (_q81))
   12384              :                                                                             {
   12385            0 :                                                                             case SSA_NAME:
   12386            0 :                                                                               {
   12387            0 :                                                                                 switch (TREE_CODE (_p1))
   12388              :                                                                                   {
   12389            0 :                                                                                   case CALL_EXPR:
   12390            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12391              :                                                                                       {
   12392            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   12393            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12394              :     {
   12395            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12396            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12397              :                                                                                               {
   12398            0 :                                                                                                 switch (TREE_CODE (_q140))
   12399              :                                                                                                   {
   12400            0 :                                                                                                   case SSA_NAME:
   12401            0 :                                                                                                     {
   12402            0 :                                                                                                       switch (TREE_CODE (_p2))
   12403              :                                                                                                         {
   12404            0 :                                                                                                         case CALL_EXPR:
   12405            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12406              :                                                                                                             {
   12407            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   12408            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12409              :     {
   12410            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12411            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12412              :                                                                                                                     {
   12413            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12414              :                                                                                                                         {
   12415            0 :                                                                                                                         case SSA_NAME:
   12416            0 :                                                                                                                           {
   12417            0 :                                                                                                                             {
   12418            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12419            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   12420            0 :                                                                                                                               if (res) return res;
   12421              :                                                                                                                             }
   12422            0 :                                                                                                                             break;
   12423              :                                                                                                                           }
   12424              :                                                                                                                         default:;
   12425              :                                                                                                                         }
   12426              :                                                                                                                     }
   12427              :                                                                                                                 }
   12428              :                                                                                                               break;
   12429              :                                                                                                             default:;
   12430              :                                                                                                             }
   12431              :                                                                                                           break;
   12432              :                                                                                                         default:;
   12433              :                                                                                                         }
   12434              :                                                                                                       break;
   12435              :                                                                                                     }
   12436              :                                                                                                   default:;
   12437              :                                                                                                   }
   12438              :                                                                                               }
   12439              :                                                                                           }
   12440              :                                                                                         break;
   12441              :                                                                                       default:;
   12442              :                                                                                       }
   12443              :                                                                                     break;
   12444              :                                                                                   default:;
   12445              :                                                                                   }
   12446              :                                                                                 break;
   12447              :                                                                               }
   12448              :                                                                             default:;
   12449              :                                                                             }
   12450              :                                                                         }
   12451              :                                                                       break;
   12452              :                                                                     }
   12453              :                                                                   default:;
   12454              :                                                                   }
   12455              :                                                               }
   12456              :                                                           }
   12457              :                                                         break;
   12458              :                                                       default:;
   12459              :                                                       }
   12460              :                                                     break;
   12461              :                                                   default:;
   12462              :                                                   }
   12463              :                                                 break;
   12464              :                                               }
   12465              :                                             default:;
   12466              :                                             }
   12467              :                                           break;
   12468              :                                         }
   12469              :                                       default:;
   12470              :                                       }
   12471              :                                   }
   12472              :                               }
   12473              :                             break;
   12474              :                           default:;
   12475              :                           }
   12476              :                         break;
   12477              :                       default:;
   12478              :                       }
   12479              :                     break;
   12480              :                   }
   12481              :                 default:;
   12482              :                 }
   12483              :               break;
   12484              :             }
   12485       549003 :           default:;
   12486              :           }
   12487       549003 :         switch (TREE_CODE (_p1))
   12488              :           {
   12489            0 :           case BIT_IOR_EXPR:
   12490            0 :             {
   12491            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12492            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12493            0 :               switch (TREE_CODE (_q51))
   12494              :                 {
   12495            0 :                 case INTEGER_CST:
   12496            0 :                   {
   12497            0 :                     switch (TREE_CODE (_p2))
   12498              :                       {
   12499            0 :                       case BIT_AND_EXPR:
   12500            0 :                         {
   12501            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   12502            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   12503            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12504              :                             {
   12505            0 :                               switch (TREE_CODE (_q81))
   12506              :                                 {
   12507            0 :                                 case INTEGER_CST:
   12508            0 :                                   {
   12509            0 :                                     {
   12510            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   12511            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12512            0 :                                       if (res) return res;
   12513              :                                     }
   12514            0 :                                     break;
   12515              :                                   }
   12516              :                                 default:;
   12517              :                                 }
   12518              :                             }
   12519              :                           break;
   12520              :                         }
   12521              :                       default:;
   12522              :                       }
   12523              :                     break;
   12524              :                   }
   12525              :                 default:;
   12526              :                 }
   12527              :               break;
   12528              :             }
   12529       549003 :           default:;
   12530              :           }
   12531       549003 :         switch (TREE_CODE (_q20))
   12532              :           {
   12533        55615 :           CASE_CONVERT:
   12534        55615 :             {
   12535        55615 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12536        55615 :               switch (TREE_CODE (_q21))
   12537              :                 {
   12538        26459 :                 case INTEGER_CST:
   12539        26459 :                   {
   12540        26459 :                     switch (TREE_CODE (_p1))
   12541              :                       {
   12542         9987 :                       CASE_CONVERT:
   12543         9987 :                         {
   12544         9987 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12545         9987 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12546              :                             {
   12547         5956 :                               switch (TREE_CODE (_p2))
   12548              :                                 {
   12549         5948 :                                 case INTEGER_CST:
   12550         5948 :                                   {
   12551         5948 :                                     {
   12552         5948 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12553         5948 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12554         5948 :                                       if (res) return res;
   12555              :                                     }
   12556         5948 :                                     break;
   12557              :                                   }
   12558              :                                 default:;
   12559              :                                 }
   12560              :                             }
   12561              :                           break;
   12562              :                         }
   12563        26459 :                       default:;
   12564              :                       }
   12565        26459 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12566              :                       {
   12567          312 :                         switch (TREE_CODE (_p2))
   12568              :                           {
   12569          299 :                           case INTEGER_CST:
   12570          299 :                             {
   12571          299 :                               {
   12572          299 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12573          299 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12574          299 :                                 if (res) return res;
   12575              :                               }
   12576          294 :                               break;
   12577              :                             }
   12578              :                           default:;
   12579              :                           }
   12580              :                       }
   12581        26454 :                     switch (TREE_CODE (_p1))
   12582              :                       {
   12583          385 :                       case PLUS_EXPR:
   12584          385 :                         {
   12585          385 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12586          385 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12587          385 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12588              :                             {
   12589            0 :                               switch (TREE_CODE (_q61))
   12590              :                                 {
   12591            0 :                                 case INTEGER_CST:
   12592            0 :                                   {
   12593            0 :                                     switch (TREE_CODE (_p2))
   12594              :                                       {
   12595            0 :                                       case INTEGER_CST:
   12596            0 :                                         {
   12597            0 :                                           {
   12598            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12599            0 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   12600            0 :                                             if (res) return res;
   12601              :                                           }
   12602            0 :                                           break;
   12603              :                                         }
   12604              :                                       default:;
   12605              :                                       }
   12606              :                                     break;
   12607              :                                   }
   12608              :                                 default:;
   12609              :                                 }
   12610              :                             }
   12611              :                           break;
   12612              :                         }
   12613           76 :                       case MINUS_EXPR:
   12614           76 :                         {
   12615           76 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12616           76 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12617           76 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12618              :                             {
   12619            0 :                               switch (TREE_CODE (_q61))
   12620              :                                 {
   12621            0 :                                 case INTEGER_CST:
   12622            0 :                                   {
   12623            0 :                                     switch (TREE_CODE (_p2))
   12624              :                                       {
   12625            0 :                                       case INTEGER_CST:
   12626            0 :                                         {
   12627            0 :                                           {
   12628            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12629            0 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   12630            0 :                                             if (res) return res;
   12631              :                                           }
   12632            0 :                                           break;
   12633              :                                         }
   12634              :                                       default:;
   12635              :                                       }
   12636              :                                     break;
   12637              :                                   }
   12638              :                                 default:;
   12639              :                                 }
   12640              :                             }
   12641              :                           break;
   12642              :                         }
   12643              :                       default:;
   12644              :                       }
   12645              :                     break;
   12646              :                   }
   12647              :                 default:;
   12648              :                 }
   12649              :               break;
   12650              :             }
   12651       548998 :           default:;
   12652              :           }
   12653       548998 :         switch (TREE_CODE (_q21))
   12654              :           {
   12655       203974 :           case INTEGER_CST:
   12656       203974 :             {
   12657       203974 :               switch (TREE_CODE (_p1))
   12658              :                 {
   12659        54100 :                 CASE_CONVERT:
   12660        54100 :                   {
   12661        54100 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12662        54100 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12663              :                       {
   12664          150 :                         switch (TREE_CODE (_p2))
   12665              :                           {
   12666           45 :                           case INTEGER_CST:
   12667           45 :                             {
   12668           45 :                               {
   12669           45 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12670           45 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12671           45 :                                 if (res) return res;
   12672              :                               }
   12673           45 :                               break;
   12674              :                             }
   12675              :                           default:;
   12676              :                           }
   12677              :                       }
   12678              :                     break;
   12679              :                   }
   12680       203974 :                 default:;
   12681              :                 }
   12682       203974 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12683              :                 {
   12684        40735 :                   switch (TREE_CODE (_p2))
   12685              :                     {
   12686        10599 :                     case INTEGER_CST:
   12687        10599 :                       {
   12688        10599 :                         {
   12689        10599 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12690        10599 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12691        10599 :                           if (res) return res;
   12692              :                         }
   12693           15 :                         break;
   12694              :                       }
   12695              :                     default:;
   12696              :                     }
   12697              :                 }
   12698       193390 :               switch (TREE_CODE (_p1))
   12699              :                 {
   12700        16683 :                 case PLUS_EXPR:
   12701        16683 :                   {
   12702        16683 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12703        16683 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12704        16683 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12705              :                       {
   12706         6451 :                         switch (TREE_CODE (_q51))
   12707              :                           {
   12708         6451 :                           case INTEGER_CST:
   12709         6451 :                             {
   12710         6451 :                               switch (TREE_CODE (_p2))
   12711              :                                 {
   12712         6451 :                                 case INTEGER_CST:
   12713         6451 :                                   {
   12714         6451 :                                     {
   12715         6451 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12716         6451 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   12717         6451 :                                       if (res) return res;
   12718              :                                     }
   12719            0 :                                     break;
   12720              :                                   }
   12721              :                                 default:;
   12722              :                                 }
   12723              :                               break;
   12724              :                             }
   12725              :                           default:;
   12726              :                           }
   12727              :                       }
   12728              :                     break;
   12729              :                   }
   12730          226 :                 case MINUS_EXPR:
   12731          226 :                   {
   12732          226 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12733          226 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12734          226 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12735              :                       {
   12736            0 :                         switch (TREE_CODE (_q51))
   12737              :                           {
   12738            0 :                           case INTEGER_CST:
   12739            0 :                             {
   12740            0 :                               switch (TREE_CODE (_p2))
   12741              :                                 {
   12742            0 :                                 case INTEGER_CST:
   12743            0 :                                   {
   12744            0 :                                     {
   12745            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12746            0 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   12747            0 :                                       if (res) return res;
   12748              :                                     }
   12749            0 :                                     break;
   12750              :                                   }
   12751              :                                 default:;
   12752              :                                 }
   12753              :                               break;
   12754              :                             }
   12755              :                           default:;
   12756              :                           }
   12757              :                       }
   12758              :                     break;
   12759              :                   }
   12760              :                 default:;
   12761              :                 }
   12762              :               break;
   12763              :             }
   12764       531963 :           default:;
   12765              :           }
   12766       531963 :         switch (TREE_CODE (_p1))
   12767              :           {
   12768           16 :           case MIN_EXPR:
   12769           16 :             {
   12770           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12771           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12772           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12773              :                 {
   12774           15 :                   switch (TREE_CODE (_p2))
   12775              :                     {
   12776            0 :                     case MIN_EXPR:
   12777            0 :                       {
   12778            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12779            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12780            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12781              :                           {
   12782            0 :                             {
   12783            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12784            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12785            0 :                               if (res) return res;
   12786              :                             }
   12787              :                           }
   12788            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12789              :                           {
   12790            0 :                             {
   12791            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12792            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12793            0 :                               if (res) return res;
   12794              :                             }
   12795              :                           }
   12796              :                         break;
   12797              :                       }
   12798           15 :                     default:;
   12799              :                     }
   12800           15 :                   {
   12801           15 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12802           15 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12803           15 :                     if (res) return res;
   12804              :                   }
   12805              :                 }
   12806            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12807              :                 {
   12808            0 :                   switch (TREE_CODE (_p2))
   12809              :                     {
   12810            0 :                     case MIN_EXPR:
   12811            0 :                       {
   12812            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12813            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12814            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12815              :                           {
   12816            0 :                             {
   12817            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12818            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12819            0 :                               if (res) return res;
   12820              :                             }
   12821              :                           }
   12822            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12823              :                           {
   12824            0 :                             {
   12825            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12826            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12827            0 :                               if (res) return res;
   12828              :                             }
   12829              :                           }
   12830              :                         break;
   12831              :                       }
   12832              :                     default:;
   12833              :                     }
   12834              :                 }
   12835            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12836              :                 {
   12837            0 :                   switch (TREE_CODE (_p2))
   12838              :                     {
   12839            0 :                     case MIN_EXPR:
   12840            0 :                       {
   12841            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12842            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12843            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12844              :                           {
   12845            0 :                             {
   12846            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12847            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12848            0 :                               if (res) return res;
   12849              :                             }
   12850              :                           }
   12851            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12852              :                           {
   12853            0 :                             {
   12854            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12855            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12856            0 :                               if (res) return res;
   12857              :                             }
   12858              :                           }
   12859              :                         break;
   12860              :                       }
   12861              :                     default:;
   12862              :                     }
   12863              :                 }
   12864            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12865              :                 {
   12866            0 :                   switch (TREE_CODE (_p2))
   12867              :                     {
   12868            0 :                     case MIN_EXPR:
   12869            0 :                       {
   12870            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12871            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12872            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12873              :                           {
   12874            0 :                             {
   12875            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12876            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12877            0 :                               if (res) return res;
   12878              :                             }
   12879              :                           }
   12880            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12881              :                           {
   12882            0 :                             {
   12883            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12884            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12885            0 :                               if (res) return res;
   12886              :                             }
   12887              :                           }
   12888              :                         break;
   12889              :                       }
   12890              :                     default:;
   12891              :                     }
   12892              :                 }
   12893            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12894              :                 {
   12895            0 :                   {
   12896            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   12897            0 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12898            0 :                     if (res) return res;
   12899              :                   }
   12900              :                 }
   12901              :               break;
   12902              :             }
   12903            9 :           case MAX_EXPR:
   12904            9 :             {
   12905            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12906            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12907            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12908              :                 {
   12909            1 :                   switch (TREE_CODE (_p2))
   12910              :                     {
   12911            0 :                     case MAX_EXPR:
   12912            0 :                       {
   12913            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12914            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12915            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12916              :                           {
   12917            0 :                             {
   12918            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12919            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12920            0 :                               if (res) return res;
   12921              :                             }
   12922              :                           }
   12923            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12924              :                           {
   12925            0 :                             {
   12926            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12927            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12928            0 :                               if (res) return res;
   12929              :                             }
   12930              :                           }
   12931              :                         break;
   12932              :                       }
   12933              :                     default:;
   12934              :                     }
   12935              :                 }
   12936            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12937              :                 {
   12938            1 :                   switch (TREE_CODE (_p2))
   12939              :                     {
   12940            0 :                     case MAX_EXPR:
   12941            0 :                       {
   12942            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12943            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12944            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12945              :                           {
   12946            0 :                             {
   12947            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12948            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12949            0 :                               if (res) return res;
   12950              :                             }
   12951              :                           }
   12952            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12953              :                           {
   12954            0 :                             {
   12955            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12956            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12957            0 :                               if (res) return res;
   12958              :                             }
   12959              :                           }
   12960              :                         break;
   12961              :                       }
   12962              :                     default:;
   12963              :                     }
   12964              :                 }
   12965            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12966              :                 {
   12967            1 :                   switch (TREE_CODE (_p2))
   12968              :                     {
   12969            0 :                     case MAX_EXPR:
   12970            0 :                       {
   12971            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12972            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12973            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12974              :                           {
   12975            0 :                             {
   12976            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12977            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12978            0 :                               if (res) return res;
   12979              :                             }
   12980              :                           }
   12981            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12982              :                           {
   12983            0 :                             {
   12984            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12985            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12986            0 :                               if (res) return res;
   12987              :                             }
   12988              :                           }
   12989              :                         break;
   12990              :                       }
   12991            1 :                     default:;
   12992              :                     }
   12993            1 :                   {
   12994            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   12995            1 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12996            1 :                     if (res) return res;
   12997              :                   }
   12998              :                 }
   12999            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13000              :                 {
   13001            8 :                   switch (TREE_CODE (_p2))
   13002              :                     {
   13003            0 :                     case MAX_EXPR:
   13004            0 :                       {
   13005            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13006            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13007            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13008              :                           {
   13009            0 :                             {
   13010            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13011            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13012            0 :                               if (res) return res;
   13013              :                             }
   13014              :                           }
   13015            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13016              :                           {
   13017            0 :                             {
   13018            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13019            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13020            0 :                               if (res) return res;
   13021              :                             }
   13022              :                           }
   13023              :                         break;
   13024              :                       }
   13025            8 :                     default:;
   13026              :                     }
   13027            8 :                   {
   13028            8 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   13029            8 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13030            8 :                     if (res) return res;
   13031              :                   }
   13032              :                 }
   13033              :               break;
   13034              :             }
   13035       531953 :           default:;
   13036              :           }
   13037       531953 :         {
   13038       531953 :           tree _q20_pops[1];
   13039       531953 :           if (tree_nop_convert (_q20, _q20_pops))
   13040              :             {
   13041        21836 :               tree _q30 = _q20_pops[0];
   13042        21836 :               if (integer_zerop (_q21))
   13043              :                 {
   13044        18644 :                   switch (TREE_CODE (_p1))
   13045              :                     {
   13046            0 :                     case MAX_EXPR:
   13047            0 :                       {
   13048            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   13049            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   13050            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13051              :                           {
   13052            0 :                             switch (TREE_CODE (_q61))
   13053              :                               {
   13054            0 :                               case INTEGER_CST:
   13055            0 :                                 {
   13056            0 :                                   switch (TREE_CODE (_p2))
   13057              :                                     {
   13058            0 :                                     case INTEGER_CST:
   13059            0 :                                       {
   13060            0 :                                         {
   13061            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   13062            0 :                                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13063            0 :                                           if (res) return res;
   13064              :                                         }
   13065            0 :                                         break;
   13066              :                                       }
   13067              :                                     default:;
   13068              :                                     }
   13069              :                                   break;
   13070              :                                 }
   13071              :                               default:;
   13072              :                               }
   13073              :                           }
   13074              :                         break;
   13075              :                       }
   13076              :                     default:;
   13077              :                     }
   13078              :                 }
   13079              :             }
   13080              :         }
   13081       531953 :         if (tree_expr_nonnegative_p (_q21))
   13082              :           {
   13083       381151 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13084              :               {
   13085        30209 :                 switch (TREE_CODE (_p2))
   13086              :                   {
   13087            0 :                   case ABS_EXPR:
   13088            0 :                     {
   13089            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13090            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13091              :                         {
   13092            0 :                           {
   13093            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13094            0 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13095            0 :                             if (res) return res;
   13096              :                           }
   13097              :                         }
   13098              :                       break;
   13099              :                     }
   13100              :                   default:;
   13101              :                   }
   13102              :               }
   13103       381151 :             switch (TREE_CODE (_p1))
   13104              :               {
   13105           12 :               case ABS_EXPR:
   13106           12 :                 {
   13107           12 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13108           12 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13109              :                     {
   13110            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   13111              :                         {
   13112            0 :                           {
   13113            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   13114            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13115            0 :                             if (res) return res;
   13116              :                           }
   13117              :                         }
   13118              :                     }
   13119              :                   break;
   13120              :                 }
   13121              :               default:;
   13122              :               }
   13123              :           }
   13124              :         break;
   13125              :       }
   13126       895795 :     case GT_EXPR:
   13127       895795 :       {
   13128       895795 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13129       895795 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13130       895795 :         switch (TREE_CODE (_q20))
   13131              :           {
   13132          974 :           case MINUS_EXPR:
   13133          974 :             {
   13134          974 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13135          974 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13136          974 :               switch (TREE_CODE (_q30))
   13137              :                 {
   13138            0 :                 case CALL_EXPR:
   13139            0 :                   switch (get_call_combined_fn (_q30))
   13140              :                     {
   13141            0 :                     case CFN_BUILT_IN_CEIL:
   13142            0 :                       if (call_expr_nargs (_q30) == 1)
   13143              :     {
   13144            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13145            0 :                           switch (TREE_CODE (_q40))
   13146              :                             {
   13147            0 :                             case SSA_NAME:
   13148            0 :                               {
   13149            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13150              :                                   {
   13151            0 :                                     switch (TREE_CODE (_q31))
   13152              :                                       {
   13153            0 :                                       case SSA_NAME:
   13154            0 :                                         {
   13155            0 :                                           switch (TREE_CODE (_q21))
   13156              :                                             {
   13157            0 :                                             case MINUS_EXPR:
   13158            0 :                                               {
   13159            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13160            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13161            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13162              :                                                   {
   13163            0 :                                                     switch (TREE_CODE (_q80))
   13164              :                                                       {
   13165            0 :                                                       case SSA_NAME:
   13166            0 :                                                         {
   13167            0 :                                                           switch (TREE_CODE (_q81))
   13168              :                                                             {
   13169            0 :                                                             case CALL_EXPR:
   13170            0 :                                                               switch (get_call_combined_fn (_q81))
   13171              :                                                                 {
   13172            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   13173            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13174              :     {
   13175            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13176            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13177              :                                                                         {
   13178            0 :                                                                           switch (TREE_CODE (_q110))
   13179              :                                                                             {
   13180            0 :                                                                             case SSA_NAME:
   13181            0 :                                                                               {
   13182            0 :                                                                                 switch (TREE_CODE (_p1))
   13183              :                                                                                   {
   13184            0 :                                                                                   case CALL_EXPR:
   13185            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13186              :                                                                                       {
   13187            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   13188            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13189              :     {
   13190            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13191            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13192              :                                                                                               {
   13193            0 :                                                                                                 switch (TREE_CODE (_q140))
   13194              :                                                                                                   {
   13195            0 :                                                                                                   case SSA_NAME:
   13196            0 :                                                                                                     {
   13197            0 :                                                                                                       switch (TREE_CODE (_p2))
   13198              :                                                                                                         {
   13199            0 :                                                                                                         case CALL_EXPR:
   13200            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13201              :                                                                                                             {
   13202            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   13203            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13204              :     {
   13205            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13206            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13207              :                                                                                                                     {
   13208            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13209              :                                                                                                                         {
   13210            0 :                                                                                                                         case SSA_NAME:
   13211            0 :                                                                                                                           {
   13212            0 :                                                                                                                             {
   13213            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13214            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13215            0 :                                                                                                                               if (res) return res;
   13216              :                                                                                                                             }
   13217            0 :                                                                                                                             break;
   13218              :                                                                                                                           }
   13219              :                                                                                                                         default:;
   13220              :                                                                                                                         }
   13221              :                                                                                                                     }
   13222              :                                                                                                                 }
   13223              :                                                                                                               break;
   13224              :                                                                                                             default:;
   13225              :                                                                                                             }
   13226              :                                                                                                           break;
   13227              :                                                                                                         default:;
   13228              :                                                                                                         }
   13229              :                                                                                                       break;
   13230              :                                                                                                     }
   13231              :                                                                                                   default:;
   13232              :                                                                                                   }
   13233              :                                                                                               }
   13234              :                                                                                           }
   13235              :                                                                                         break;
   13236              :                                                                                       default:;
   13237              :                                                                                       }
   13238              :                                                                                     break;
   13239              :                                                                                   default:;
   13240              :                                                                                   }
   13241              :                                                                                 break;
   13242              :                                                                               }
   13243              :                                                                             default:;
   13244              :                                                                             }
   13245              :                                                                         }
   13246              :                                                                     }
   13247              :                                                                   break;
   13248              :                                                                 default:;
   13249              :                                                                 }
   13250              :                                                               break;
   13251              :                                                             default:;
   13252              :                                                             }
   13253              :                                                           break;
   13254              :                                                         }
   13255              :                                                       default:;
   13256              :                                                       }
   13257              :                                                   }
   13258              :                                                 break;
   13259              :                                               }
   13260              :                                             default:;
   13261              :                                             }
   13262              :                                           break;
   13263              :                                         }
   13264              :                                       default:;
   13265              :                                       }
   13266              :                                   }
   13267              :                                 break;
   13268              :                               }
   13269              :                             default:;
   13270              :                             }
   13271              :                         }
   13272              :                       break;
   13273            0 :                     case CFN_CEIL:
   13274            0 :                       if (call_expr_nargs (_q30) == 1)
   13275              :     {
   13276            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13277            0 :                           switch (TREE_CODE (_q40))
   13278              :                             {
   13279            0 :                             case SSA_NAME:
   13280            0 :                               {
   13281            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13282              :                                   {
   13283            0 :                                     switch (TREE_CODE (_q31))
   13284              :                                       {
   13285            0 :                                       case SSA_NAME:
   13286            0 :                                         {
   13287            0 :                                           switch (TREE_CODE (_q21))
   13288              :                                             {
   13289            0 :                                             case MINUS_EXPR:
   13290            0 :                                               {
   13291            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13292            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13293            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13294              :                                                   {
   13295            0 :                                                     switch (TREE_CODE (_q80))
   13296              :                                                       {
   13297            0 :                                                       case SSA_NAME:
   13298            0 :                                                         {
   13299            0 :                                                           switch (TREE_CODE (_q81))
   13300              :                                                             {
   13301            0 :                                                             case CALL_EXPR:
   13302            0 :                                                               switch (get_call_combined_fn (_q81))
   13303              :                                                                 {
   13304            0 :                                                                 case CFN_FLOOR:
   13305            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13306              :     {
   13307            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13308            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13309              :                                                                         {
   13310            0 :                                                                           switch (TREE_CODE (_q110))
   13311              :                                                                             {
   13312            0 :                                                                             case SSA_NAME:
   13313            0 :                                                                               {
   13314            0 :                                                                                 switch (TREE_CODE (_p1))
   13315              :                                                                                   {
   13316            0 :                                                                                   case CALL_EXPR:
   13317            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13318              :                                                                                       {
   13319            0 :                                                                                       case CFN_FLOOR:
   13320            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13321              :     {
   13322            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13323            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13324              :                                                                                               {
   13325            0 :                                                                                                 switch (TREE_CODE (_q140))
   13326              :                                                                                                   {
   13327            0 :                                                                                                   case SSA_NAME:
   13328            0 :                                                                                                     {
   13329            0 :                                                                                                       switch (TREE_CODE (_p2))
   13330              :                                                                                                         {
   13331            0 :                                                                                                         case CALL_EXPR:
   13332            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13333              :                                                                                                             {
   13334            0 :                                                                                                             case CFN_CEIL:
   13335            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13336              :     {
   13337            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13338            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13339              :                                                                                                                     {
   13340            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13341              :                                                                                                                         {
   13342            0 :                                                                                                                         case SSA_NAME:
   13343            0 :                                                                                                                           {
   13344            0 :                                                                                                                             {
   13345            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13346            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   13347            0 :                                                                                                                               if (res) return res;
   13348              :                                                                                                                             }
   13349            0 :                                                                                                                             break;
   13350              :                                                                                                                           }
   13351              :                                                                                                                         default:;
   13352              :                                                                                                                         }
   13353              :                                                                                                                     }
   13354              :                                                                                                                 }
   13355              :                                                                                                               break;
   13356              :                                                                                                             default:;
   13357              :                                                                                                             }
   13358              :                                                                                                           break;
   13359              :                                                                                                         default:;
   13360              :                                                                                                         }
   13361              :                                                                                                       break;
   13362              :                                                                                                     }
   13363              :                                                                                                   default:;
   13364              :                                                                                                   }
   13365              :                                                                                               }
   13366              :                                                                                           }
   13367              :                                                                                         break;
   13368              :                                                                                       default:;
   13369              :                                                                                       }
   13370              :                                                                                     break;
   13371              :                                                                                   default:;
   13372              :                                                                                   }
   13373              :                                                                                 break;
   13374              :                                                                               }
   13375              :                                                                             default:;
   13376              :                                                                             }
   13377              :                                                                         }
   13378              :                                                                     }
   13379              :                                                                   break;
   13380              :                                                                 default:;
   13381              :                                                                 }
   13382              :                                                               break;
   13383              :                                                             default:;
   13384              :                                                             }
   13385              :                                                           break;
   13386              :                                                         }
   13387              :                                                       default:;
   13388              :                                                       }
   13389              :                                                   }
   13390              :                                                 break;
   13391              :                                               }
   13392              :                                             default:;
   13393              :                                             }
   13394              :                                           break;
   13395              :                                         }
   13396              :                                       default:;
   13397              :                                       }
   13398              :                                   }
   13399              :                                 break;
   13400              :                               }
   13401              :                             default:;
   13402              :                             }
   13403              :                         }
   13404              :                       break;
   13405            0 :                     case CFN_BUILT_IN_CEILF:
   13406            0 :                       if (call_expr_nargs (_q30) == 1)
   13407              :     {
   13408            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13409            0 :                           switch (TREE_CODE (_q40))
   13410              :                             {
   13411            0 :                             case SSA_NAME:
   13412            0 :                               {
   13413            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13414              :                                   {
   13415            0 :                                     switch (TREE_CODE (_q31))
   13416              :                                       {
   13417            0 :                                       case SSA_NAME:
   13418            0 :                                         {
   13419            0 :                                           switch (TREE_CODE (_q21))
   13420              :                                             {
   13421            0 :                                             case MINUS_EXPR:
   13422            0 :                                               {
   13423            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13424            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13425            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13426              :                                                   {
   13427            0 :                                                     switch (TREE_CODE (_q80))
   13428              :                                                       {
   13429            0 :                                                       case SSA_NAME:
   13430            0 :                                                         {
   13431            0 :                                                           switch (TREE_CODE (_q81))
   13432              :                                                             {
   13433            0 :                                                             case CALL_EXPR:
   13434            0 :                                                               switch (get_call_combined_fn (_q81))
   13435              :                                                                 {
   13436            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   13437            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13438              :     {
   13439            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13440            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13441              :                                                                         {
   13442            0 :                                                                           switch (TREE_CODE (_q110))
   13443              :                                                                             {
   13444            0 :                                                                             case SSA_NAME:
   13445            0 :                                                                               {
   13446            0 :                                                                                 switch (TREE_CODE (_p1))
   13447              :                                                                                   {
   13448            0 :                                                                                   case CALL_EXPR:
   13449            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13450              :                                                                                       {
   13451            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   13452            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13453              :     {
   13454            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13455            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13456              :                                                                                               {
   13457            0 :                                                                                                 switch (TREE_CODE (_q140))
   13458              :                                                                                                   {
   13459            0 :                                                                                                   case SSA_NAME:
   13460            0 :                                                                                                     {
   13461            0 :                                                                                                       switch (TREE_CODE (_p2))
   13462              :                                                                                                         {
   13463            0 :                                                                                                         case CALL_EXPR:
   13464            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13465              :                                                                                                             {
   13466            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   13467            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13468              :     {
   13469            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13470            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13471              :                                                                                                                     {
   13472            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13473              :                                                                                                                         {
   13474            0 :                                                                                                                         case SSA_NAME:
   13475            0 :                                                                                                                           {
   13476            0 :                                                                                                                             {
   13477            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13478            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   13479            0 :                                                                                                                               if (res) return res;
   13480              :                                                                                                                             }
   13481            0 :                                                                                                                             break;
   13482              :                                                                                                                           }
   13483              :                                                                                                                         default:;
   13484              :                                                                                                                         }
   13485              :                                                                                                                     }
   13486              :                                                                                                                 }
   13487              :                                                                                                               break;
   13488              :                                                                                                             default:;
   13489              :                                                                                                             }
   13490              :                                                                                                           break;
   13491              :                                                                                                         default:;
   13492              :                                                                                                         }
   13493              :                                                                                                       break;
   13494              :                                                                                                     }
   13495              :                                                                                                   default:;
   13496              :                                                                                                   }
   13497              :                                                                                               }
   13498              :                                                                                           }
   13499              :                                                                                         break;
   13500              :                                                                                       default:;
   13501              :                                                                                       }
   13502              :                                                                                     break;
   13503              :                                                                                   default:;
   13504              :                                                                                   }
   13505              :                                                                                 break;
   13506              :                                                                               }
   13507              :                                                                             default:;
   13508              :                                                                             }
   13509              :                                                                         }
   13510              :                                                                     }
   13511              :                                                                   break;
   13512              :                                                                 default:;
   13513              :                                                                 }
   13514              :                                                               break;
   13515              :                                                             default:;
   13516              :                                                             }
   13517              :                                                           break;
   13518              :                                                         }
   13519              :                                                       default:;
   13520              :                                                       }
   13521              :                                                   }
   13522              :                                                 break;
   13523              :                                               }
   13524              :                                             default:;
   13525              :                                             }
   13526              :                                           break;
   13527              :                                         }
   13528              :                                       default:;
   13529              :                                       }
   13530              :                                   }
   13531              :                                 break;
   13532              :                               }
   13533              :                             default:;
   13534              :                             }
   13535              :                         }
   13536              :                       break;
   13537            0 :                     case CFN_BUILT_IN_CEILL:
   13538            0 :                       if (call_expr_nargs (_q30) == 1)
   13539              :     {
   13540            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13541            0 :                           switch (TREE_CODE (_q40))
   13542              :                             {
   13543            0 :                             case SSA_NAME:
   13544            0 :                               {
   13545            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13546              :                                   {
   13547            0 :                                     switch (TREE_CODE (_q31))
   13548              :                                       {
   13549            0 :                                       case SSA_NAME:
   13550            0 :                                         {
   13551            0 :                                           switch (TREE_CODE (_q21))
   13552              :                                             {
   13553            0 :                                             case MINUS_EXPR:
   13554            0 :                                               {
   13555            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13556            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13557            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13558              :                                                   {
   13559            0 :                                                     switch (TREE_CODE (_q80))
   13560              :                                                       {
   13561            0 :                                                       case SSA_NAME:
   13562            0 :                                                         {
   13563            0 :                                                           switch (TREE_CODE (_q81))
   13564              :                                                             {
   13565            0 :                                                             case CALL_EXPR:
   13566            0 :                                                               switch (get_call_combined_fn (_q81))
   13567              :                                                                 {
   13568            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   13569            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13570              :     {
   13571            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13572            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13573              :                                                                         {
   13574            0 :                                                                           switch (TREE_CODE (_q110))
   13575              :                                                                             {
   13576            0 :                                                                             case SSA_NAME:
   13577            0 :                                                                               {
   13578            0 :                                                                                 switch (TREE_CODE (_p1))
   13579              :                                                                                   {
   13580            0 :                                                                                   case CALL_EXPR:
   13581            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13582              :                                                                                       {
   13583            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   13584            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13585              :     {
   13586            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13587            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13588              :                                                                                               {
   13589            0 :                                                                                                 switch (TREE_CODE (_q140))
   13590              :                                                                                                   {
   13591            0 :                                                                                                   case SSA_NAME:
   13592            0 :                                                                                                     {
   13593            0 :                                                                                                       switch (TREE_CODE (_p2))
   13594              :                                                                                                         {
   13595            0 :                                                                                                         case CALL_EXPR:
   13596            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13597              :                                                                                                             {
   13598            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   13599            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13600              :     {
   13601            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13602            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13603              :                                                                                                                     {
   13604            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13605              :                                                                                                                         {
   13606            0 :                                                                                                                         case SSA_NAME:
   13607            0 :                                                                                                                           {
   13608            0 :                                                                                                                             {
   13609            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13610            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   13611            0 :                                                                                                                               if (res) return res;
   13612              :                                                                                                                             }
   13613            0 :                                                                                                                             break;
   13614              :                                                                                                                           }
   13615              :                                                                                                                         default:;
   13616              :                                                                                                                         }
   13617              :                                                                                                                     }
   13618              :                                                                                                                 }
   13619              :                                                                                                               break;
   13620              :                                                                                                             default:;
   13621              :                                                                                                             }
   13622              :                                                                                                           break;
   13623              :                                                                                                         default:;
   13624              :                                                                                                         }
   13625              :                                                                                                       break;
   13626              :                                                                                                     }
   13627              :                                                                                                   default:;
   13628              :                                                                                                   }
   13629              :                                                                                               }
   13630              :                                                                                           }
   13631              :                                                                                         break;
   13632              :                                                                                       default:;
   13633              :                                                                                       }
   13634              :                                                                                     break;
   13635              :                                                                                   default:;
   13636              :                                                                                   }
   13637              :                                                                                 break;
   13638              :                                                                               }
   13639              :                                                                             default:;
   13640              :                                                                             }
   13641              :                                                                         }
   13642              :                                                                     }
   13643              :                                                                   break;
   13644              :                                                                 default:;
   13645              :                                                                 }
   13646              :                                                               break;
   13647              :                                                             default:;
   13648              :                                                             }
   13649              :                                                           break;
   13650              :                                                         }
   13651              :                                                       default:;
   13652              :                                                       }
   13653              :                                                   }
   13654              :                                                 break;
   13655              :                                               }
   13656              :                                             default:;
   13657              :                                             }
   13658              :                                           break;
   13659              :                                         }
   13660              :                                       default:;
   13661              :                                       }
   13662              :                                   }
   13663              :                                 break;
   13664              :                               }
   13665              :                             default:;
   13666              :                             }
   13667              :                         }
   13668              :                       break;
   13669              :                     default:;
   13670              :                     }
   13671              :                   break;
   13672              :                 default:;
   13673              :                 }
   13674              :               break;
   13675              :             }
   13676       895795 :           default:;
   13677              :           }
   13678       895795 :         switch (TREE_CODE (_p1))
   13679              :           {
   13680            0 :           case BIT_IOR_EXPR:
   13681            0 :             {
   13682            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13683            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13684            0 :               switch (TREE_CODE (_q51))
   13685              :                 {
   13686            0 :                 case INTEGER_CST:
   13687            0 :                   {
   13688            0 :                     switch (TREE_CODE (_p2))
   13689              :                       {
   13690            0 :                       case BIT_AND_EXPR:
   13691            0 :                         {
   13692            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   13693            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   13694            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13695              :                             {
   13696            0 :                               switch (TREE_CODE (_q81))
   13697              :                                 {
   13698            0 :                                 case INTEGER_CST:
   13699            0 :                                   {
   13700            0 :                                     {
   13701            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   13702            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13703            0 :                                       if (res) return res;
   13704              :                                     }
   13705            0 :                                     break;
   13706              :                                   }
   13707              :                                 default:;
   13708              :                                 }
   13709              :                             }
   13710              :                           break;
   13711              :                         }
   13712              :                       default:;
   13713              :                       }
   13714              :                     break;
   13715              :                   }
   13716              :                 default:;
   13717              :                 }
   13718              :               break;
   13719              :             }
   13720       895795 :           default:;
   13721              :           }
   13722       895795 :         switch (TREE_CODE (_q20))
   13723              :           {
   13724        85857 :           CASE_CONVERT:
   13725        85857 :             {
   13726        85857 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13727        85857 :               switch (TREE_CODE (_q21))
   13728              :                 {
   13729         4201 :                 case INTEGER_CST:
   13730         4201 :                   {
   13731         4201 :                     switch (TREE_CODE (_p1))
   13732              :                       {
   13733          169 :                       CASE_CONVERT:
   13734          169 :                         {
   13735          169 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13736          169 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13737              :                             {
   13738           63 :                               switch (TREE_CODE (_p2))
   13739              :                                 {
   13740           62 :                                 case INTEGER_CST:
   13741           62 :                                   {
   13742           62 :                                     {
   13743           62 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13744           62 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13745           62 :                                       if (res) return res;
   13746              :                                     }
   13747           62 :                                     break;
   13748              :                                   }
   13749              :                                 default:;
   13750              :                                 }
   13751              :                             }
   13752              :                           break;
   13753              :                         }
   13754         4201 :                       default:;
   13755              :                       }
   13756         4201 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   13757              :                       {
   13758            5 :                         switch (TREE_CODE (_p2))
   13759              :                           {
   13760            3 :                           case INTEGER_CST:
   13761            3 :                             {
   13762            3 :                               {
   13763            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13764            3 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13765            3 :                                 if (res) return res;
   13766              :                               }
   13767            3 :                               break;
   13768              :                             }
   13769              :                           default:;
   13770              :                           }
   13771              :                       }
   13772         4201 :                     switch (TREE_CODE (_p1))
   13773              :                       {
   13774         1265 :                       case PLUS_EXPR:
   13775         1265 :                         {
   13776         1265 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13777         1265 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13778         1265 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13779              :                             {
   13780           24 :                               switch (TREE_CODE (_q61))
   13781              :                                 {
   13782           24 :                                 case INTEGER_CST:
   13783           24 :                                   {
   13784           24 :                                     switch (TREE_CODE (_p2))
   13785              :                                       {
   13786           24 :                                       case INTEGER_CST:
   13787           24 :                                         {
   13788           24 :                                           {
   13789           24 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13790           24 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   13791           24 :                                             if (res) return res;
   13792              :                                           }
   13793           24 :                                           break;
   13794              :                                         }
   13795              :                                       default:;
   13796              :                                       }
   13797              :                                     break;
   13798              :                                   }
   13799              :                                 default:;
   13800              :                                 }
   13801              :                             }
   13802              :                           break;
   13803              :                         }
   13804            0 :                       case MINUS_EXPR:
   13805            0 :                         {
   13806            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13807            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13808            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13809              :                             {
   13810            0 :                               switch (TREE_CODE (_q61))
   13811              :                                 {
   13812            0 :                                 case INTEGER_CST:
   13813            0 :                                   {
   13814            0 :                                     switch (TREE_CODE (_p2))
   13815              :                                       {
   13816            0 :                                       case INTEGER_CST:
   13817            0 :                                         {
   13818            0 :                                           {
   13819            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13820            0 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   13821            0 :                                             if (res) return res;
   13822              :                                           }
   13823            0 :                                           break;
   13824              :                                         }
   13825              :                                       default:;
   13826              :                                       }
   13827              :                                     break;
   13828              :                                   }
   13829              :                                 default:;
   13830              :                                 }
   13831              :                             }
   13832              :                           break;
   13833              :                         }
   13834              :                       default:;
   13835              :                       }
   13836              :                     break;
   13837              :                   }
   13838              :                 default:;
   13839              :                 }
   13840              :               break;
   13841              :             }
   13842       895795 :           default:;
   13843              :           }
   13844       895795 :         switch (TREE_CODE (_q21))
   13845              :           {
   13846       463843 :           case INTEGER_CST:
   13847       463843 :             {
   13848       463843 :               switch (TREE_CODE (_p1))
   13849              :                 {
   13850        50039 :                 CASE_CONVERT:
   13851        50039 :                   {
   13852        50039 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13853        50039 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13854              :                       {
   13855         9992 :                         switch (TREE_CODE (_p2))
   13856              :                           {
   13857         9956 :                           case INTEGER_CST:
   13858         9956 :                             {
   13859         9956 :                               {
   13860         9956 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13861         9956 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13862         9956 :                                 if (res) return res;
   13863              :                               }
   13864         9640 :                               break;
   13865              :                             }
   13866              :                           default:;
   13867              :                           }
   13868              :                       }
   13869              :                     break;
   13870              :                   }
   13871       463527 :                 default:;
   13872              :                 }
   13873       463527 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13874              :                 {
   13875         8818 :                   switch (TREE_CODE (_p2))
   13876              :                     {
   13877         8664 :                     case INTEGER_CST:
   13878         8664 :                       {
   13879         8664 :                         {
   13880         8664 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13881         8664 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13882         8664 :                           if (res) return res;
   13883              :                         }
   13884           31 :                         break;
   13885              :                       }
   13886              :                     default:;
   13887              :                     }
   13888              :                 }
   13889       454894 :               switch (TREE_CODE (_p1))
   13890              :                 {
   13891        42892 :                 case PLUS_EXPR:
   13892        42892 :                   {
   13893        42892 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13894        42892 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13895        42892 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13896              :                       {
   13897          735 :                         switch (TREE_CODE (_q51))
   13898              :                           {
   13899          735 :                           case INTEGER_CST:
   13900          735 :                             {
   13901          735 :                               switch (TREE_CODE (_p2))
   13902              :                                 {
   13903          727 :                                 case INTEGER_CST:
   13904          727 :                                   {
   13905          727 :                                     {
   13906          727 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13907          727 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   13908          727 :                                       if (res) return res;
   13909              :                                     }
   13910           17 :                                     break;
   13911              :                                   }
   13912              :                                 default:;
   13913              :                                 }
   13914              :                               break;
   13915              :                             }
   13916              :                           default:;
   13917              :                           }
   13918              :                       }
   13919              :                     break;
   13920              :                   }
   13921          200 :                 case MINUS_EXPR:
   13922          200 :                   {
   13923          200 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13924          200 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13925          200 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13926              :                       {
   13927            4 :                         switch (TREE_CODE (_q51))
   13928              :                           {
   13929            0 :                           case INTEGER_CST:
   13930            0 :                             {
   13931            0 :                               switch (TREE_CODE (_p2))
   13932              :                                 {
   13933            0 :                                 case INTEGER_CST:
   13934            0 :                                   {
   13935            0 :                                     {
   13936            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13937            0 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   13938            0 :                                       if (res) return res;
   13939              :                                     }
   13940            0 :                                     break;
   13941              :                                   }
   13942              :                                 default:;
   13943              :                                 }
   13944              :                               break;
   13945              :                             }
   13946              :                           default:;
   13947              :                           }
   13948              :                       }
   13949              :                     break;
   13950              :                   }
   13951              :                 default:;
   13952              :                 }
   13953              :               break;
   13954              :             }
   13955       886136 :           default:;
   13956              :           }
   13957       886136 :         switch (TREE_CODE (_p1))
   13958              :           {
   13959           18 :           case MIN_EXPR:
   13960           18 :             {
   13961           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13962           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13963           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13964              :                 {
   13965            7 :                   switch (TREE_CODE (_p2))
   13966              :                     {
   13967            0 :                     case MIN_EXPR:
   13968            0 :                       {
   13969            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13970            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13971            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13972              :                           {
   13973            0 :                             {
   13974            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13975            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13976            0 :                               if (res) return res;
   13977              :                             }
   13978              :                           }
   13979            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13980              :                           {
   13981            0 :                             {
   13982            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13983            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13984            0 :                               if (res) return res;
   13985              :                             }
   13986              :                           }
   13987              :                         break;
   13988              :                       }
   13989            7 :                     default:;
   13990              :                     }
   13991            7 :                   {
   13992            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   13993            7 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13994            7 :                     if (res) return res;
   13995              :                   }
   13996              :                 }
   13997           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13998              :                 {
   13999            0 :                   switch (TREE_CODE (_p2))
   14000              :                     {
   14001            0 :                     case MIN_EXPR:
   14002            0 :                       {
   14003            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14004            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14005            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14006              :                           {
   14007            0 :                             {
   14008            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14009            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14010            0 :                               if (res) return res;
   14011              :                             }
   14012              :                           }
   14013            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14014              :                           {
   14015            0 :                             {
   14016            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14017            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14018            0 :                               if (res) return res;
   14019              :                             }
   14020              :                           }
   14021              :                         break;
   14022              :                       }
   14023              :                     default:;
   14024              :                     }
   14025              :                 }
   14026           18 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14027              :                 {
   14028            8 :                   switch (TREE_CODE (_p2))
   14029              :                     {
   14030            0 :                     case MIN_EXPR:
   14031            0 :                       {
   14032            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14033            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14034            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14035              :                           {
   14036            0 :                             {
   14037            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14038            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14039            0 :                               if (res) return res;
   14040              :                             }
   14041              :                           }
   14042            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14043              :                           {
   14044            0 :                             {
   14045            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14046            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14047            0 :                               if (res) return res;
   14048              :                             }
   14049              :                           }
   14050              :                         break;
   14051              :                       }
   14052              :                     default:;
   14053              :                     }
   14054              :                 }
   14055           18 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14056              :                 {
   14057            7 :                   switch (TREE_CODE (_p2))
   14058              :                     {
   14059            0 :                     case MIN_EXPR:
   14060            0 :                       {
   14061            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14062            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14063            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14064              :                           {
   14065            0 :                             {
   14066            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14067            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14068            0 :                               if (res) return res;
   14069              :                             }
   14070              :                           }
   14071            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14072              :                           {
   14073            0 :                             {
   14074            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14075            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14076            0 :                               if (res) return res;
   14077              :                             }
   14078              :                           }
   14079              :                         break;
   14080              :                       }
   14081              :                     default:;
   14082              :                     }
   14083              :                 }
   14084           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14085              :                 {
   14086            0 :                   {
   14087            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   14088            0 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14089            0 :                     if (res) return res;
   14090              :                   }
   14091              :                 }
   14092              :               break;
   14093              :             }
   14094          100 :           case MAX_EXPR:
   14095          100 :             {
   14096          100 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14097          100 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14098          100 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14099              :                 {
   14100            0 :                   switch (TREE_CODE (_p2))
   14101              :                     {
   14102            0 :                     case MAX_EXPR:
   14103            0 :                       {
   14104            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14105            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14106            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14107              :                           {
   14108            0 :                             {
   14109            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14110            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14111            0 :                               if (res) return res;
   14112              :                             }
   14113              :                           }
   14114            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14115              :                           {
   14116            0 :                             {
   14117            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14118            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14119            0 :                               if (res) return res;
   14120              :                             }
   14121              :                           }
   14122              :                         break;
   14123              :                       }
   14124              :                     default:;
   14125              :                     }
   14126              :                 }
   14127          100 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14128              :                 {
   14129            2 :                   switch (TREE_CODE (_p2))
   14130              :                     {
   14131            1 :                     case MAX_EXPR:
   14132            1 :                       {
   14133            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14134            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14135            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14136              :                           {
   14137            0 :                             {
   14138            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14139            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14140            0 :                               if (res) return res;
   14141              :                             }
   14142              :                           }
   14143            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14144              :                           {
   14145            1 :                             {
   14146            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14147            1 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14148            1 :                               if (res) return res;
   14149              :                             }
   14150              :                           }
   14151              :                         break;
   14152              :                       }
   14153              :                     default:;
   14154              :                     }
   14155              :                 }
   14156           99 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14157              :                 {
   14158            1 :                   switch (TREE_CODE (_p2))
   14159              :                     {
   14160            0 :                     case MAX_EXPR:
   14161            0 :                       {
   14162            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14163            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14164            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14165              :                           {
   14166            0 :                             {
   14167            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14168            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14169            0 :                               if (res) return res;
   14170              :                             }
   14171              :                           }
   14172            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14173              :                           {
   14174            0 :                             {
   14175            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14176            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14177            0 :                               if (res) return res;
   14178              :                             }
   14179              :                           }
   14180              :                         break;
   14181              :                       }
   14182            1 :                     default:;
   14183              :                     }
   14184            1 :                   {
   14185            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   14186            1 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14187            1 :                     if (res) return res;
   14188              :                   }
   14189              :                 }
   14190           98 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14191              :                 {
   14192            0 :                   switch (TREE_CODE (_p2))
   14193              :                     {
   14194            0 :                     case MAX_EXPR:
   14195            0 :                       {
   14196            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14197            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14198            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14199              :                           {
   14200            0 :                             {
   14201            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14202            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14203            0 :                               if (res) return res;
   14204              :                             }
   14205              :                           }
   14206            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14207              :                           {
   14208            0 :                             {
   14209            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14210            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14211            0 :                               if (res) return res;
   14212              :                             }
   14213              :                           }
   14214              :                         break;
   14215              :                       }
   14216            0 :                     default:;
   14217              :                     }
   14218            0 :                   {
   14219            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   14220            0 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14221            0 :                     if (res) return res;
   14222              :                   }
   14223              :                 }
   14224              :               break;
   14225              :             }
   14226       886134 :           default:;
   14227              :           }
   14228       886134 :         if (integer_zerop (_q20))
   14229              :           {
   14230            0 :             {
   14231            0 :               tree _q21_pops[1];
   14232            0 :               if (tree_nop_convert (_q21, _q21_pops))
   14233              :                 {
   14234            0 :                   tree _q40 = _q21_pops[0];
   14235            0 :                   switch (TREE_CODE (_p1))
   14236              :                     {
   14237            0 :                     case MIN_EXPR:
   14238            0 :                       {
   14239            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   14240            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   14241            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14242              :                           {
   14243            0 :                             switch (TREE_CODE (_q61))
   14244              :                               {
   14245            0 :                               case INTEGER_CST:
   14246            0 :                                 {
   14247            0 :                                   switch (TREE_CODE (_p2))
   14248              :                                     {
   14249            0 :                                     case INTEGER_CST:
   14250            0 :                                       {
   14251            0 :                                         {
   14252            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   14253            0 :                                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14254            0 :                                           if (res) return res;
   14255              :                                         }
   14256            0 :                                         break;
   14257              :                                       }
   14258              :                                     default:;
   14259              :                                     }
   14260              :                                   break;
   14261              :                                 }
   14262              :                               default:;
   14263              :                               }
   14264              :                           }
   14265              :                         break;
   14266              :                       }
   14267              :                     default:;
   14268              :                     }
   14269              :                 }
   14270              :             }
   14271              :           }
   14272       886134 :         if (tree_expr_nonnegative_p (_q21))
   14273              :           {
   14274       570640 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14275              :               {
   14276          578 :                 switch (TREE_CODE (_p2))
   14277              :                   {
   14278            0 :                   case ABS_EXPR:
   14279            0 :                     {
   14280            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   14281            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14282              :                         {
   14283            0 :                           {
   14284            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14285            0 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14286            0 :                             if (res) return res;
   14287              :                           }
   14288              :                         }
   14289              :                       break;
   14290              :                     }
   14291              :                   default:;
   14292              :                   }
   14293              :               }
   14294       570640 :             switch (TREE_CODE (_p1))
   14295              :               {
   14296            1 :               case ABS_EXPR:
   14297            1 :                 {
   14298            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14299            1 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14300              :                     {
   14301            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   14302              :                         {
   14303            0 :                           {
   14304            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   14305            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14306            0 :                             if (res) return res;
   14307              :                           }
   14308              :                         }
   14309              :                     }
   14310              :                   break;
   14311              :                 }
   14312              :               default:;
   14313              :               }
   14314              :           }
   14315       886134 :         switch (TREE_CODE (_q20))
   14316              :           {
   14317        56814 :           case PLUS_EXPR:
   14318        56814 :             {
   14319        56814 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14320        56814 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14321        56814 :               if (integer_onep (_q31))
   14322              :                 {
   14323        28680 :                   switch (TREE_CODE (_p1))
   14324              :                     {
   14325            2 :                     case NEGATE_EXPR:
   14326            2 :                       {
   14327            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   14328            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   14329              :                           {
   14330            2 :                             if (integer_onep (_p2))
   14331              :                               {
   14332            2 :                                 {
   14333            2 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14334            2 :                                   if (TYPE_UNSIGNED (type)
   14335              : )
   14336              :                                     {
   14337            2 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1813;
   14338            2 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1813;
   14339            2 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1813;
   14340            2 :                                       {
   14341            2 :                                         tree res_op0;
   14342            2 :                                         {
   14343            2 :                                           tree _o1[2], _r1;
   14344            2 :                                           _o1[0] = unshare_expr (captures[0]);
   14345            2 :                                           _o1[1] = captures[1];
   14346            2 :                                           _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
   14347            2 :                                           res_op0 = _r1;
   14348              :                                         }
   14349            2 :                                         tree res_op1;
   14350            2 :                                         {
   14351            2 :                                           tree _o1[1], _r1;
   14352            2 :                                           _o1[0] = captures[0];
   14353            2 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14354            2 :                                           res_op1 = _r1;
   14355              :                                         }
   14356            2 :                                         tree res_op2;
   14357            2 :                                         res_op2 = captures[2];
   14358            2 :                                         tree _r;
   14359            2 :                                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   14360            2 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1035, __FILE__, __LINE__, true);
   14361            2 :                                         return _r;
   14362              :                                       }
   14363            0 : next_after_fail1813:;
   14364              :                                     }
   14365              :                                 }
   14366              :                               }
   14367              :                           }
   14368              :                         break;
   14369              :                       }
   14370              :                     default:;
   14371              :                     }
   14372              :                 }
   14373              :               break;
   14374              :             }
   14375              :           default:;
   14376              :           }
   14377              :         break;
   14378              :       }
   14379      1361528 :     case LE_EXPR:
   14380      1361528 :       {
   14381      1361528 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14382      1361528 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14383      1361528 :         switch (TREE_CODE (_q20))
   14384              :           {
   14385          201 :           case MINUS_EXPR:
   14386          201 :             {
   14387          201 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14388          201 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14389          201 :               switch (TREE_CODE (_q30))
   14390              :                 {
   14391            0 :                 case CALL_EXPR:
   14392            0 :                   switch (get_call_combined_fn (_q30))
   14393              :                     {
   14394            0 :                     case CFN_BUILT_IN_CEIL:
   14395            0 :                       if (call_expr_nargs (_q30) == 1)
   14396              :     {
   14397            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14398            0 :                           switch (TREE_CODE (_q40))
   14399              :                             {
   14400            0 :                             case SSA_NAME:
   14401            0 :                               {
   14402            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14403              :                                   {
   14404            0 :                                     switch (TREE_CODE (_q31))
   14405              :                                       {
   14406            0 :                                       case SSA_NAME:
   14407            0 :                                         {
   14408            0 :                                           switch (TREE_CODE (_q21))
   14409              :                                             {
   14410            0 :                                             case MINUS_EXPR:
   14411            0 :                                               {
   14412            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14413            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14414            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14415              :                                                   {
   14416            0 :                                                     switch (TREE_CODE (_q80))
   14417              :                                                       {
   14418            0 :                                                       case SSA_NAME:
   14419            0 :                                                         {
   14420            0 :                                                           switch (TREE_CODE (_q81))
   14421              :                                                             {
   14422            0 :                                                             case CALL_EXPR:
   14423            0 :                                                               switch (get_call_combined_fn (_q81))
   14424              :                                                                 {
   14425            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   14426            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14427              :     {
   14428            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14429            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14430              :                                                                         {
   14431            0 :                                                                           switch (TREE_CODE (_q110))
   14432              :                                                                             {
   14433            0 :                                                                             case SSA_NAME:
   14434            0 :                                                                               {
   14435            0 :                                                                                 switch (TREE_CODE (_p1))
   14436              :                                                                                   {
   14437            0 :                                                                                   case CALL_EXPR:
   14438            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14439              :                                                                                       {
   14440            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   14441            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14442              :     {
   14443            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14444            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14445              :                                                                                               {
   14446            0 :                                                                                                 switch (TREE_CODE (_q140))
   14447              :                                                                                                   {
   14448            0 :                                                                                                   case SSA_NAME:
   14449            0 :                                                                                                     {
   14450            0 :                                                                                                       switch (TREE_CODE (_p2))
   14451              :                                                                                                         {
   14452            0 :                                                                                                         case CALL_EXPR:
   14453            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14454              :                                                                                                             {
   14455            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   14456            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14457              :     {
   14458            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14459            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14460              :                                                                                                                     {
   14461            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14462              :                                                                                                                         {
   14463            0 :                                                                                                                         case SSA_NAME:
   14464            0 :                                                                                                                           {
   14465            0 :                                                                                                                             {
   14466            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14467            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   14468            0 :                                                                                                                               if (res) return res;
   14469              :                                                                                                                             }
   14470            0 :                                                                                                                             break;
   14471              :                                                                                                                           }
   14472              :                                                                                                                         default:;
   14473              :                                                                                                                         }
   14474              :                                                                                                                     }
   14475              :                                                                                                                 }
   14476              :                                                                                                               break;
   14477              :                                                                                                             default:;
   14478              :                                                                                                             }
   14479              :                                                                                                           break;
   14480              :                                                                                                         default:;
   14481              :                                                                                                         }
   14482              :                                                                                                       break;
   14483              :                                                                                                     }
   14484              :                                                                                                   default:;
   14485              :                                                                                                   }
   14486              :                                                                                               }
   14487              :                                                                                           }
   14488              :                                                                                         break;
   14489              :                                                                                       default:;
   14490              :                                                                                       }
   14491              :                                                                                     break;
   14492              :                                                                                   default:;
   14493              :                                                                                   }
   14494              :                                                                                 break;
   14495              :                                                                               }
   14496              :                                                                             default:;
   14497              :                                                                             }
   14498              :                                                                         }
   14499              :                                                                     }
   14500              :                                                                   break;
   14501              :                                                                 default:;
   14502              :                                                                 }
   14503              :                                                               break;
   14504              :                                                             default:;
   14505              :                                                             }
   14506              :                                                           break;
   14507              :                                                         }
   14508              :                                                       default:;
   14509              :                                                       }
   14510              :                                                   }
   14511              :                                                 break;
   14512              :                                               }
   14513              :                                             default:;
   14514              :                                             }
   14515              :                                           break;
   14516              :                                         }
   14517              :                                       default:;
   14518              :                                       }
   14519              :                                   }
   14520              :                                 break;
   14521              :                               }
   14522              :                             default:;
   14523              :                             }
   14524              :                         }
   14525              :                       break;
   14526            0 :                     case CFN_CEIL:
   14527            0 :                       if (call_expr_nargs (_q30) == 1)
   14528              :     {
   14529            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14530            0 :                           switch (TREE_CODE (_q40))
   14531              :                             {
   14532            0 :                             case SSA_NAME:
   14533            0 :                               {
   14534            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14535              :                                   {
   14536            0 :                                     switch (TREE_CODE (_q31))
   14537              :                                       {
   14538            0 :                                       case SSA_NAME:
   14539            0 :                                         {
   14540            0 :                                           switch (TREE_CODE (_q21))
   14541              :                                             {
   14542            0 :                                             case MINUS_EXPR:
   14543            0 :                                               {
   14544            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14545            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14546            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14547              :                                                   {
   14548            0 :                                                     switch (TREE_CODE (_q80))
   14549              :                                                       {
   14550            0 :                                                       case SSA_NAME:
   14551            0 :                                                         {
   14552            0 :                                                           switch (TREE_CODE (_q81))
   14553              :                                                             {
   14554            0 :                                                             case CALL_EXPR:
   14555            0 :                                                               switch (get_call_combined_fn (_q81))
   14556              :                                                                 {
   14557            0 :                                                                 case CFN_FLOOR:
   14558            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14559              :     {
   14560            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14561            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14562              :                                                                         {
   14563            0 :                                                                           switch (TREE_CODE (_q110))
   14564              :                                                                             {
   14565            0 :                                                                             case SSA_NAME:
   14566            0 :                                                                               {
   14567            0 :                                                                                 switch (TREE_CODE (_p1))
   14568              :                                                                                   {
   14569            0 :                                                                                   case CALL_EXPR:
   14570            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14571              :                                                                                       {
   14572            0 :                                                                                       case CFN_CEIL:
   14573            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14574              :     {
   14575            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14576            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14577              :                                                                                               {
   14578            0 :                                                                                                 switch (TREE_CODE (_q140))
   14579              :                                                                                                   {
   14580            0 :                                                                                                   case SSA_NAME:
   14581            0 :                                                                                                     {
   14582            0 :                                                                                                       switch (TREE_CODE (_p2))
   14583              :                                                                                                         {
   14584            0 :                                                                                                         case CALL_EXPR:
   14585            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14586              :                                                                                                             {
   14587            0 :                                                                                                             case CFN_FLOOR:
   14588            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14589              :     {
   14590            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14591            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14592              :                                                                                                                     {
   14593            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14594              :                                                                                                                         {
   14595            0 :                                                                                                                         case SSA_NAME:
   14596            0 :                                                                                                                           {
   14597            0 :                                                                                                                             {
   14598            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14599            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   14600            0 :                                                                                                                               if (res) return res;
   14601              :                                                                                                                             }
   14602            0 :                                                                                                                             break;
   14603              :                                                                                                                           }
   14604              :                                                                                                                         default:;
   14605              :                                                                                                                         }
   14606              :                                                                                                                     }
   14607              :                                                                                                                 }
   14608              :                                                                                                               break;
   14609              :                                                                                                             default:;
   14610              :                                                                                                             }
   14611              :                                                                                                           break;
   14612              :                                                                                                         default:;
   14613              :                                                                                                         }
   14614              :                                                                                                       break;
   14615              :                                                                                                     }
   14616              :                                                                                                   default:;
   14617              :                                                                                                   }
   14618              :                                                                                               }
   14619              :                                                                                           }
   14620              :                                                                                         break;
   14621              :                                                                                       default:;
   14622              :                                                                                       }
   14623              :                                                                                     break;
   14624              :                                                                                   default:;
   14625              :                                                                                   }
   14626              :                                                                                 break;
   14627              :                                                                               }
   14628              :                                                                             default:;
   14629              :                                                                             }
   14630              :                                                                         }
   14631              :                                                                     }
   14632              :                                                                   break;
   14633              :                                                                 default:;
   14634              :                                                                 }
   14635              :                                                               break;
   14636              :                                                             default:;
   14637              :                                                             }
   14638              :                                                           break;
   14639              :                                                         }
   14640              :                                                       default:;
   14641              :                                                       }
   14642              :                                                   }
   14643              :                                                 break;
   14644              :                                               }
   14645              :                                             default:;
   14646              :                                             }
   14647              :                                           break;
   14648              :                                         }
   14649              :                                       default:;
   14650              :                                       }
   14651              :                                   }
   14652              :                                 break;
   14653              :                               }
   14654              :                             default:;
   14655              :                             }
   14656              :                         }
   14657              :                       break;
   14658            0 :                     case CFN_BUILT_IN_CEILF:
   14659            0 :                       if (call_expr_nargs (_q30) == 1)
   14660              :     {
   14661            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14662            0 :                           switch (TREE_CODE (_q40))
   14663              :                             {
   14664            0 :                             case SSA_NAME:
   14665            0 :                               {
   14666            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14667              :                                   {
   14668            0 :                                     switch (TREE_CODE (_q31))
   14669              :                                       {
   14670            0 :                                       case SSA_NAME:
   14671            0 :                                         {
   14672            0 :                                           switch (TREE_CODE (_q21))
   14673              :                                             {
   14674            0 :                                             case MINUS_EXPR:
   14675            0 :                                               {
   14676            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14677            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14678            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14679              :                                                   {
   14680            0 :                                                     switch (TREE_CODE (_q80))
   14681              :                                                       {
   14682            0 :                                                       case SSA_NAME:
   14683            0 :                                                         {
   14684            0 :                                                           switch (TREE_CODE (_q81))
   14685              :                                                             {
   14686            0 :                                                             case CALL_EXPR:
   14687            0 :                                                               switch (get_call_combined_fn (_q81))
   14688              :                                                                 {
   14689            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   14690            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14691              :     {
   14692            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14693            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14694              :                                                                         {
   14695            0 :                                                                           switch (TREE_CODE (_q110))
   14696              :                                                                             {
   14697            0 :                                                                             case SSA_NAME:
   14698            0 :                                                                               {
   14699            0 :                                                                                 switch (TREE_CODE (_p1))
   14700              :                                                                                   {
   14701            0 :                                                                                   case CALL_EXPR:
   14702            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14703              :                                                                                       {
   14704            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   14705            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14706              :     {
   14707            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14708            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14709              :                                                                                               {
   14710            0 :                                                                                                 switch (TREE_CODE (_q140))
   14711              :                                                                                                   {
   14712            0 :                                                                                                   case SSA_NAME:
   14713            0 :                                                                                                     {
   14714            0 :                                                                                                       switch (TREE_CODE (_p2))
   14715              :                                                                                                         {
   14716            0 :                                                                                                         case CALL_EXPR:
   14717            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14718              :                                                                                                             {
   14719            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   14720            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14721              :     {
   14722            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14723            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14724              :                                                                                                                     {
   14725            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14726              :                                                                                                                         {
   14727            0 :                                                                                                                         case SSA_NAME:
   14728            0 :                                                                                                                           {
   14729            0 :                                                                                                                             {
   14730            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14731            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   14732            0 :                                                                                                                               if (res) return res;
   14733              :                                                                                                                             }
   14734            0 :                                                                                                                             break;
   14735              :                                                                                                                           }
   14736              :                                                                                                                         default:;
   14737              :                                                                                                                         }
   14738              :                                                                                                                     }
   14739              :                                                                                                                 }
   14740              :                                                                                                               break;
   14741              :                                                                                                             default:;
   14742              :                                                                                                             }
   14743              :                                                                                                           break;
   14744              :                                                                                                         default:;
   14745              :                                                                                                         }
   14746              :                                                                                                       break;
   14747              :                                                                                                     }
   14748              :                                                                                                   default:;
   14749              :                                                                                                   }
   14750              :                                                                                               }
   14751              :                                                                                           }
   14752              :                                                                                         break;
   14753              :                                                                                       default:;
   14754              :                                                                                       }
   14755              :                                                                                     break;
   14756              :                                                                                   default:;
   14757              :                                                                                   }
   14758              :                                                                                 break;
   14759              :                                                                               }
   14760              :                                                                             default:;
   14761              :                                                                             }
   14762              :                                                                         }
   14763              :                                                                     }
   14764              :                                                                   break;
   14765              :                                                                 default:;
   14766              :                                                                 }
   14767              :                                                               break;
   14768              :                                                             default:;
   14769              :                                                             }
   14770              :                                                           break;
   14771              :                                                         }
   14772              :                                                       default:;
   14773              :                                                       }
   14774              :                                                   }
   14775              :                                                 break;
   14776              :                                               }
   14777              :                                             default:;
   14778              :                                             }
   14779              :                                           break;
   14780              :                                         }
   14781              :                                       default:;
   14782              :                                       }
   14783              :                                   }
   14784              :                                 break;
   14785              :                               }
   14786              :                             default:;
   14787              :                             }
   14788              :                         }
   14789              :                       break;
   14790            0 :                     case CFN_BUILT_IN_CEILL:
   14791            0 :                       if (call_expr_nargs (_q30) == 1)
   14792              :     {
   14793            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14794            0 :                           switch (TREE_CODE (_q40))
   14795              :                             {
   14796            0 :                             case SSA_NAME:
   14797            0 :                               {
   14798            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14799              :                                   {
   14800            0 :                                     switch (TREE_CODE (_q31))
   14801              :                                       {
   14802            0 :                                       case SSA_NAME:
   14803            0 :                                         {
   14804            0 :                                           switch (TREE_CODE (_q21))
   14805              :                                             {
   14806            0 :                                             case MINUS_EXPR:
   14807            0 :                                               {
   14808            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14809            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14810            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14811              :                                                   {
   14812            0 :                                                     switch (TREE_CODE (_q80))
   14813              :                                                       {
   14814            0 :                                                       case SSA_NAME:
   14815            0 :                                                         {
   14816            0 :                                                           switch (TREE_CODE (_q81))
   14817              :                                                             {
   14818            0 :                                                             case CALL_EXPR:
   14819            0 :                                                               switch (get_call_combined_fn (_q81))
   14820              :                                                                 {
   14821            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   14822            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14823              :     {
   14824            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14825            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14826              :                                                                         {
   14827            0 :                                                                           switch (TREE_CODE (_q110))
   14828              :                                                                             {
   14829            0 :                                                                             case SSA_NAME:
   14830            0 :                                                                               {
   14831            0 :                                                                                 switch (TREE_CODE (_p1))
   14832              :                                                                                   {
   14833            0 :                                                                                   case CALL_EXPR:
   14834            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14835              :                                                                                       {
   14836            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   14837            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14838              :     {
   14839            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14840            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14841              :                                                                                               {
   14842            0 :                                                                                                 switch (TREE_CODE (_q140))
   14843              :                                                                                                   {
   14844            0 :                                                                                                   case SSA_NAME:
   14845            0 :                                                                                                     {
   14846            0 :                                                                                                       switch (TREE_CODE (_p2))
   14847              :                                                                                                         {
   14848            0 :                                                                                                         case CALL_EXPR:
   14849            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14850              :                                                                                                             {
   14851            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   14852            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14853              :     {
   14854            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14855            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14856              :                                                                                                                     {
   14857            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14858              :                                                                                                                         {
   14859            0 :                                                                                                                         case SSA_NAME:
   14860            0 :                                                                                                                           {
   14861            0 :                                                                                                                             {
   14862            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14863            0 :                                                                                                                               tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   14864            0 :                                                                                                                               if (res) return res;
   14865              :                                                                                                                             }
   14866            0 :                                                                                                                             break;
   14867              :                                                                                                                           }
   14868              :                                                                                                                         default:;
   14869              :                                                                                                                         }
   14870              :                                                                                                                     }
   14871              :                                                                                                                 }
   14872              :                                                                                                               break;
   14873              :                                                                                                             default:;
   14874              :                                                                                                             }
   14875              :                                                                                                           break;
   14876              :                                                                                                         default:;
   14877              :                                                                                                         }
   14878              :                                                                                                       break;
   14879              :                                                                                                     }
   14880              :                                                                                                   default:;
   14881              :                                                                                                   }
   14882              :                                                                                               }
   14883              :                                                                                           }
   14884              :                                                                                         break;
   14885              :                                                                                       default:;
   14886              :                                                                                       }
   14887              :                                                                                     break;
   14888              :                                                                                   default:;
   14889              :                                                                                   }
   14890              :                                                                                 break;
   14891              :                                                                               }
   14892              :                                                                             default:;
   14893              :                                                                             }
   14894              :                                                                         }
   14895              :                                                                     }
   14896              :                                                                   break;
   14897              :                                                                 default:;
   14898              :                                                                 }
   14899              :                                                               break;
   14900              :                                                             default:;
   14901              :                                                             }
   14902              :                                                           break;
   14903              :                                                         }
   14904              :                                                       default:;
   14905              :                                                       }
   14906              :                                                   }
   14907              :                                                 break;
   14908              :                                               }
   14909              :                                             default:;
   14910              :                                             }
   14911              :                                           break;
   14912              :                                         }
   14913              :                                       default:;
   14914              :                                       }
   14915              :                                   }
   14916              :                                 break;
   14917              :                               }
   14918              :                             default:;
   14919              :                             }
   14920              :                         }
   14921              :                       break;
   14922              :                     default:;
   14923              :                     }
   14924              :                   break;
   14925              :                 default:;
   14926              :                 }
   14927              :               break;
   14928              :             }
   14929      1361528 :           default:;
   14930              :           }
   14931      1361528 :         if (integer_zerop (_q21))
   14932              :           {
   14933       122261 :             switch (TREE_CODE (_p1))
   14934              :               {
   14935          245 :               case NEGATE_EXPR:
   14936          245 :                 {
   14937          245 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14938          245 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14939              :                     {
   14940           70 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   14941              :                         {
   14942           70 :                           if (integer_zerop (_p2))
   14943              :                             {
   14944           70 :                               {
   14945           70 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   14946           70 :                                 if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
   14947              : )
   14948              :                                   {
   14949           68 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1814;
   14950           68 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1814;
   14951           68 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1814;
   14952           68 :                                     {
   14953           68 :                                       tree res_op0;
   14954           68 :                                       res_op0 = captures[2];
   14955           68 :                                       tree res_op1;
   14956           68 :                                       res_op1 = captures[1];
   14957           68 :                                       tree _r;
   14958           68 :                                       _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   14959           68 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
   14960           68 :                                       return _r;
   14961              :                                     }
   14962            2 : next_after_fail1814:;
   14963              :                                   }
   14964              :                               }
   14965              :                             }
   14966              :                         }
   14967              :                     }
   14968              :                   break;
   14969              :                 }
   14970              :               default:;
   14971              :               }
   14972              :           }
   14973      1361460 :         switch (TREE_CODE (_p1))
   14974              :           {
   14975            9 :           case BIT_IOR_EXPR:
   14976            9 :             {
   14977            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14978            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14979            9 :               switch (TREE_CODE (_q51))
   14980              :                 {
   14981            9 :                 case INTEGER_CST:
   14982            9 :                   {
   14983            9 :                     switch (TREE_CODE (_p2))
   14984              :                       {
   14985            0 :                       case BIT_AND_EXPR:
   14986            0 :                         {
   14987            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   14988            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   14989            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14990              :                             {
   14991            0 :                               switch (TREE_CODE (_q81))
   14992              :                                 {
   14993            0 :                                 case INTEGER_CST:
   14994            0 :                                   {
   14995            0 :                                     {
   14996            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   14997            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   14998            0 :                                       if (res) return res;
   14999              :                                     }
   15000            0 :                                     break;
   15001              :                                   }
   15002              :                                 default:;
   15003              :                                 }
   15004              :                             }
   15005              :                           break;
   15006              :                         }
   15007              :                       default:;
   15008              :                       }
   15009              :                     break;
   15010              :                   }
   15011              :                 default:;
   15012              :                 }
   15013              :               break;
   15014              :             }
   15015      1361460 :           default:;
   15016              :           }
   15017      1361460 :         switch (TREE_CODE (_q20))
   15018              :           {
   15019       140853 :           CASE_CONVERT:
   15020       140853 :             {
   15021       140853 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15022       140853 :               switch (TREE_CODE (_q21))
   15023              :                 {
   15024       104904 :                 case INTEGER_CST:
   15025       104904 :                   {
   15026       104904 :                     switch (TREE_CODE (_p1))
   15027              :                       {
   15028          623 :                       CASE_CONVERT:
   15029          623 :                         {
   15030          623 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15031          623 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15032              :                             {
   15033            8 :                               switch (TREE_CODE (_p2))
   15034              :                                 {
   15035            8 :                                 case INTEGER_CST:
   15036            8 :                                   {
   15037            8 :                                     {
   15038            8 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15039            8 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15040            8 :                                       if (res) return res;
   15041              :                                     }
   15042            8 :                                     break;
   15043              :                                   }
   15044              :                                 default:;
   15045              :                                 }
   15046              :                             }
   15047              :                           break;
   15048              :                         }
   15049       104904 :                       default:;
   15050              :                       }
   15051       104904 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   15052              :                       {
   15053           21 :                         switch (TREE_CODE (_p2))
   15054              :                           {
   15055           21 :                           case INTEGER_CST:
   15056           21 :                             {
   15057           21 :                               {
   15058           21 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15059           21 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15060           21 :                                 if (res) return res;
   15061              :                               }
   15062           21 :                               break;
   15063              :                             }
   15064              :                           default:;
   15065              :                           }
   15066              :                       }
   15067       104904 :                     switch (TREE_CODE (_p1))
   15068              :                       {
   15069          130 :                       case PLUS_EXPR:
   15070          130 :                         {
   15071          130 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15072          130 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15073          130 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15074              :                             {
   15075            6 :                               switch (TREE_CODE (_q61))
   15076              :                                 {
   15077            6 :                                 case INTEGER_CST:
   15078            6 :                                   {
   15079            6 :                                     switch (TREE_CODE (_p2))
   15080              :                                       {
   15081            6 :                                       case INTEGER_CST:
   15082            6 :                                         {
   15083            6 :                                           {
   15084            6 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15085            6 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15086            6 :                                             if (res) return res;
   15087              :                                           }
   15088            6 :                                           break;
   15089              :                                         }
   15090              :                                       default:;
   15091              :                                       }
   15092              :                                     break;
   15093              :                                   }
   15094              :                                 default:;
   15095              :                                 }
   15096              :                             }
   15097              :                           break;
   15098              :                         }
   15099          730 :                       case MINUS_EXPR:
   15100          730 :                         {
   15101          730 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15102          730 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15103          730 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15104              :                             {
   15105            0 :                               switch (TREE_CODE (_q61))
   15106              :                                 {
   15107            0 :                                 case INTEGER_CST:
   15108            0 :                                   {
   15109            0 :                                     switch (TREE_CODE (_p2))
   15110              :                                       {
   15111            0 :                                       case INTEGER_CST:
   15112            0 :                                         {
   15113            0 :                                           {
   15114            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15115            0 :                                             tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15116            0 :                                             if (res) return res;
   15117              :                                           }
   15118            0 :                                           break;
   15119              :                                         }
   15120              :                                       default:;
   15121              :                                       }
   15122              :                                     break;
   15123              :                                   }
   15124              :                                 default:;
   15125              :                                 }
   15126              :                             }
   15127              :                           break;
   15128              :                         }
   15129              :                       default:;
   15130              :                       }
   15131              :                     break;
   15132              :                   }
   15133              :                 default:;
   15134              :                 }
   15135              :               break;
   15136              :             }
   15137      1361460 :           default:;
   15138              :           }
   15139      1361460 :         switch (TREE_CODE (_q21))
   15140              :           {
   15141       972186 :           case INTEGER_CST:
   15142       972186 :             {
   15143       972186 :               switch (TREE_CODE (_p1))
   15144              :                 {
   15145        23804 :                 CASE_CONVERT:
   15146        23804 :                   {
   15147        23804 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15148        23804 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15149              :                       {
   15150          228 :                         switch (TREE_CODE (_p2))
   15151              :                           {
   15152          210 :                           case INTEGER_CST:
   15153          210 :                             {
   15154          210 :                               {
   15155          210 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15156          210 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15157          210 :                                 if (res) return res;
   15158              :                               }
   15159          110 :                               break;
   15160              :                             }
   15161              :                           default:;
   15162              :                           }
   15163              :                       }
   15164              :                     break;
   15165              :                   }
   15166       972086 :                 default:;
   15167              :                 }
   15168       972086 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15169              :                 {
   15170          274 :                   switch (TREE_CODE (_p2))
   15171              :                     {
   15172          237 :                     case INTEGER_CST:
   15173          237 :                       {
   15174          237 :                         {
   15175          237 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15176          237 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15177          237 :                           if (res) return res;
   15178              :                         }
   15179           93 :                         break;
   15180              :                       }
   15181              :                     default:;
   15182              :                     }
   15183              :                 }
   15184       971942 :               switch (TREE_CODE (_p1))
   15185              :                 {
   15186         3072 :                 case PLUS_EXPR:
   15187         3072 :                   {
   15188         3072 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15189         3072 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15190         3072 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15191              :                       {
   15192          181 :                         switch (TREE_CODE (_q51))
   15193              :                           {
   15194          181 :                           case INTEGER_CST:
   15195          181 :                             {
   15196          181 :                               switch (TREE_CODE (_p2))
   15197              :                                 {
   15198          170 :                                 case INTEGER_CST:
   15199          170 :                                   {
   15200          170 :                                     {
   15201          170 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15202          170 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15203          170 :                                       if (res) return res;
   15204              :                                     }
   15205          170 :                                     break;
   15206              :                                   }
   15207              :                                 default:;
   15208              :                                 }
   15209              :                               break;
   15210              :                             }
   15211              :                           default:;
   15212              :                           }
   15213              :                       }
   15214              :                     break;
   15215              :                   }
   15216         7361 :                 case MINUS_EXPR:
   15217         7361 :                   {
   15218         7361 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15219         7361 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15220         7361 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15221              :                       {
   15222            0 :                         switch (TREE_CODE (_q51))
   15223              :                           {
   15224            0 :                           case INTEGER_CST:
   15225            0 :                             {
   15226            0 :                               switch (TREE_CODE (_p2))
   15227              :                                 {
   15228            0 :                                 case INTEGER_CST:
   15229            0 :                                   {
   15230            0 :                                     {
   15231            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15232            0 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15233            0 :                                       if (res) return res;
   15234              :                                     }
   15235            0 :                                     break;
   15236              :                                   }
   15237              :                                 default:;
   15238              :                                 }
   15239              :                               break;
   15240              :                             }
   15241              :                           default:;
   15242              :                           }
   15243              :                       }
   15244              :                     break;
   15245              :                   }
   15246              :                 default:;
   15247              :                 }
   15248              :               break;
   15249              :             }
   15250      1361216 :           default:;
   15251              :           }
   15252      1361216 :         switch (TREE_CODE (_p1))
   15253              :           {
   15254           37 :           case MIN_EXPR:
   15255           37 :             {
   15256           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15257           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15258           37 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15259              :                 {
   15260            1 :                   switch (TREE_CODE (_p2))
   15261              :                     {
   15262            0 :                     case MIN_EXPR:
   15263            0 :                       {
   15264            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15265            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15266            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15267              :                           {
   15268            0 :                             {
   15269            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15270            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15271            0 :                               if (res) return res;
   15272              :                             }
   15273              :                           }
   15274            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15275              :                           {
   15276            0 :                             {
   15277            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15278            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15279            0 :                               if (res) return res;
   15280              :                             }
   15281              :                           }
   15282              :                         break;
   15283              :                       }
   15284              :                     default:;
   15285              :                     }
   15286              :                 }
   15287           37 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15288              :                 {
   15289            1 :                   switch (TREE_CODE (_p2))
   15290              :                     {
   15291            0 :                     case MIN_EXPR:
   15292            0 :                       {
   15293            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15294            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15295            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15296              :                           {
   15297            0 :                             {
   15298            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15299            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15300            0 :                               if (res) return res;
   15301              :                             }
   15302              :                           }
   15303            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15304              :                           {
   15305            0 :                             {
   15306            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15307            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15308            0 :                               if (res) return res;
   15309              :                             }
   15310              :                           }
   15311              :                         break;
   15312              :                       }
   15313              :                     default:;
   15314              :                     }
   15315              :                 }
   15316           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15317              :                 {
   15318            1 :                   switch (TREE_CODE (_p2))
   15319              :                     {
   15320            0 :                     case MIN_EXPR:
   15321            0 :                       {
   15322            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15323            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15324            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15325              :                           {
   15326            0 :                             {
   15327            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15328            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15329            0 :                               if (res) return res;
   15330              :                             }
   15331              :                           }
   15332            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15333              :                           {
   15334            0 :                             {
   15335            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15336            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15337            0 :                               if (res) return res;
   15338              :                             }
   15339              :                           }
   15340              :                         break;
   15341              :                       }
   15342            1 :                     default:;
   15343              :                     }
   15344            1 :                   {
   15345            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   15346            1 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15347            1 :                     if (res) return res;
   15348              :                   }
   15349              :                 }
   15350           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15351              :                 {
   15352            1 :                   switch (TREE_CODE (_p2))
   15353              :                     {
   15354            0 :                     case MIN_EXPR:
   15355            0 :                       {
   15356            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15357            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15358            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15359              :                           {
   15360            0 :                             {
   15361            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15362            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15363            0 :                               if (res) return res;
   15364              :                             }
   15365              :                           }
   15366            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15367              :                           {
   15368            0 :                             {
   15369            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15370            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15371            0 :                               if (res) return res;
   15372              :                             }
   15373              :                           }
   15374              :                         break;
   15375              :                       }
   15376            1 :                     default:;
   15377              :                     }
   15378            1 :                   {
   15379            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   15380            1 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15381            1 :                     if (res) return res;
   15382              :                   }
   15383              :                 }
   15384              :               break;
   15385              :             }
   15386           12 :           case MAX_EXPR:
   15387           12 :             {
   15388           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15389           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15390           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15391              :                 {
   15392            0 :                   switch (TREE_CODE (_p2))
   15393              :                     {
   15394            0 :                     case MAX_EXPR:
   15395            0 :                       {
   15396            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15397            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15398            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15399              :                           {
   15400            0 :                             {
   15401            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15402            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15403            0 :                               if (res) return res;
   15404              :                             }
   15405              :                           }
   15406            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15407              :                           {
   15408            0 :                             {
   15409            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15410            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15411            0 :                               if (res) return res;
   15412              :                             }
   15413              :                           }
   15414              :                         break;
   15415              :                       }
   15416            0 :                     default:;
   15417              :                     }
   15418            0 :                   {
   15419            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   15420            0 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15421            0 :                     if (res) return res;
   15422              :                   }
   15423              :                 }
   15424           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15425              :                 {
   15426            0 :                   switch (TREE_CODE (_p2))
   15427              :                     {
   15428            0 :                     case MAX_EXPR:
   15429            0 :                       {
   15430            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15431            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15432            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15433              :                           {
   15434            0 :                             {
   15435            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15436            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15437            0 :                               if (res) return res;
   15438              :                             }
   15439              :                           }
   15440            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15441              :                           {
   15442            0 :                             {
   15443            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15444            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15445            0 :                               if (res) return res;
   15446              :                             }
   15447              :                           }
   15448              :                         break;
   15449              :                       }
   15450              :                     default:;
   15451              :                     }
   15452              :                 }
   15453           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15454              :                 {
   15455            0 :                   switch (TREE_CODE (_p2))
   15456              :                     {
   15457            0 :                     case MAX_EXPR:
   15458            0 :                       {
   15459            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15460            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15461            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15462              :                           {
   15463            0 :                             {
   15464            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15465            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15466            0 :                               if (res) return res;
   15467              :                             }
   15468              :                           }
   15469            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15470              :                           {
   15471            0 :                             {
   15472            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15473            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15474            0 :                               if (res) return res;
   15475              :                             }
   15476              :                           }
   15477              :                         break;
   15478              :                       }
   15479              :                     default:;
   15480              :                     }
   15481              :                 }
   15482           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15483              :                 {
   15484            0 :                   switch (TREE_CODE (_p2))
   15485              :                     {
   15486            0 :                     case MAX_EXPR:
   15487            0 :                       {
   15488            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15489            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15490            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15491              :                           {
   15492            0 :                             {
   15493            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15494            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15495            0 :                               if (res) return res;
   15496              :                             }
   15497              :                           }
   15498            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15499              :                           {
   15500            0 :                             {
   15501            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15502            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15503            0 :                               if (res) return res;
   15504              :                             }
   15505              :                           }
   15506              :                         break;
   15507              :                       }
   15508              :                     default:;
   15509              :                     }
   15510              :                 }
   15511           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15512              :                 {
   15513            0 :                   {
   15514            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   15515            0 :                     tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15516            0 :                     if (res) return res;
   15517              :                   }
   15518              :                 }
   15519              :               break;
   15520              :             }
   15521      1361214 :           default:;
   15522              :           }
   15523      1361214 :         if (integer_zerop (_q20))
   15524              :           {
   15525            2 :             {
   15526            2 :               tree _q21_pops[1];
   15527            2 :               if (tree_nop_convert (_q21, _q21_pops))
   15528              :                 {
   15529            0 :                   tree _q40 = _q21_pops[0];
   15530            0 :                   switch (TREE_CODE (_p1))
   15531              :                     {
   15532            0 :                     case MAX_EXPR:
   15533            0 :                       {
   15534            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   15535            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   15536            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15537              :                           {
   15538            0 :                             switch (TREE_CODE (_q61))
   15539              :                               {
   15540            0 :                               case INTEGER_CST:
   15541            0 :                                 {
   15542            0 :                                   switch (TREE_CODE (_p2))
   15543              :                                     {
   15544            0 :                                     case INTEGER_CST:
   15545            0 :                                       {
   15546            0 :                                         {
   15547            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   15548            0 :                                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15549            0 :                                           if (res) return res;
   15550              :                                         }
   15551            0 :                                         break;
   15552              :                                       }
   15553              :                                     default:;
   15554              :                                     }
   15555              :                                   break;
   15556              :                                 }
   15557              :                               default:;
   15558              :                               }
   15559              :                           }
   15560              :                         break;
   15561              :                       }
   15562              :                     default:;
   15563              :                     }
   15564              :                 }
   15565              :             }
   15566              :           }
   15567      1361214 :         if (tree_expr_nonnegative_p (_q20))
   15568              :           {
   15569       863996 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   15570              :               {
   15571           12 :                 switch (TREE_CODE (_p2))
   15572              :                   {
   15573            0 :                   case ABS_EXPR:
   15574            0 :                     {
   15575            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15576            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   15577              :                         {
   15578            0 :                           {
   15579            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   15580            0 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   15581            0 :                             if (res) return res;
   15582              :                           }
   15583              :                         }
   15584              :                       break;
   15585              :                     }
   15586              :                   default:;
   15587              :                   }
   15588              :               }
   15589       863996 :             switch (TREE_CODE (_p1))
   15590              :               {
   15591            0 :               case ABS_EXPR:
   15592            0 :                 {
   15593            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15594            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15595              :                     {
   15596            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15597              :                         {
   15598            0 :                           {
   15599            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   15600            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   15601            0 :                             if (res) return res;
   15602              :                           }
   15603              :                         }
   15604              :                     }
   15605              :                   break;
   15606              :                 }
   15607              :               default:;
   15608              :               }
   15609              :           }
   15610              :         break;
   15611              :       }
   15612      1682537 :     case EQ_EXPR:
   15613      1682537 :       {
   15614      1682537 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15615      1682537 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15616      1682537 :         if (tree_zero_one_valued_p (_q20))
   15617              :           {
   15618       158325 :             if (integer_zerop (_q21))
   15619              :               {
   15620          976 :                 switch (TREE_CODE (_p2))
   15621              :                   {
   15622            1 :                   case BIT_XOR_EXPR:
   15623            1 :                     {
   15624            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15625            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   15626            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   15627              :                         {
   15628            1 :                           {
   15629            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   15630            1 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   15631            1 :                             if (res) return res;
   15632              :                           }
   15633              :                         }
   15634            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15635              :                         {
   15636            0 :                           {
   15637            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   15638            0 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   15639            0 :                             if (res) return res;
   15640              :                           }
   15641              :                         }
   15642              :                       break;
   15643              :                     }
   15644            1 :                   case BIT_IOR_EXPR:
   15645            1 :                     {
   15646            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15647            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   15648            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   15649              :                         {
   15650            1 :                           {
   15651            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   15652            1 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15653            1 :                             if (res) return res;
   15654              :                           }
   15655              :                         }
   15656            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15657              :                         {
   15658            0 :                           {
   15659            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   15660            0 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15661            0 :                             if (res) return res;
   15662              :                           }
   15663              :                         }
   15664              :                       break;
   15665              :                     }
   15666            1 :                   case PLUS_EXPR:
   15667            1 :                     {
   15668            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15669            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   15670            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   15671              :                         {
   15672            1 :                           {
   15673            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   15674            1 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   15675            1 :                             if (res) return res;
   15676              :                           }
   15677              :                         }
   15678            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15679              :                         {
   15680            0 :                           {
   15681            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   15682            0 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   15683            0 :                             if (res) return res;
   15684              :                           }
   15685              :                         }
   15686              :                       break;
   15687              :                     }
   15688              :                   default:;
   15689              :                   }
   15690              :               }
   15691              :           }
   15692      1682534 :         if (integer_zerop (_q21))
   15693              :           {
   15694       565357 :             switch (TREE_CODE (_p2))
   15695              :               {
   15696        16788 :               case PLUS_EXPR:
   15697        16788 :                 {
   15698        16788 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15699        16788 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15700        16788 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15701              :                     {
   15702            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15703              :                         {
   15704            0 :                           {
   15705            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15706            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   15707            0 :                             if (res) return res;
   15708              :                           }
   15709              :                         }
   15710              :                     }
   15711        16788 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15712              :                     {
   15713         1998 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   15714              :                         {
   15715            0 :                           {
   15716            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15717            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   15718            0 :                             if (res) return res;
   15719              :                           }
   15720              :                         }
   15721              :                     }
   15722              :                   break;
   15723              :                 }
   15724          108 :               case BIT_IOR_EXPR:
   15725          108 :                 {
   15726          108 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15727          108 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15728          108 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15729              :                     {
   15730            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15731              :                         {
   15732            0 :                           {
   15733            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15734            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15735            0 :                             if (res) return res;
   15736              :                           }
   15737              :                         }
   15738              :                     }
   15739          108 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15740              :                     {
   15741            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   15742              :                         {
   15743            0 :                           {
   15744            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15745            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15746            0 :                             if (res) return res;
   15747              :                           }
   15748              :                         }
   15749              :                     }
   15750              :                   break;
   15751              :                 }
   15752            0 :               case BIT_XOR_EXPR:
   15753            0 :                 {
   15754            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15755            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15756            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15757              :                     {
   15758            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15759              :                         {
   15760            0 :                           {
   15761            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15762            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   15763            0 :                             if (res) return res;
   15764              :                           }
   15765              :                         }
   15766              :                     }
   15767            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15768              :                     {
   15769            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   15770              :                         {
   15771            0 :                           {
   15772            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15773            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   15774            0 :                             if (res) return res;
   15775              :                           }
   15776              :                         }
   15777              :                     }
   15778              :                   break;
   15779              :                 }
   15780            1 :               case LROTATE_EXPR:
   15781            1 :                 {
   15782            1 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15783            1 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15784            1 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15785              :                     {
   15786            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15787              :                         {
   15788            1 :                           {
   15789            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15790            1 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15791            1 :                             if (res) return res;
   15792              :                           }
   15793              :                         }
   15794              :                     }
   15795              :                   break;
   15796              :                 }
   15797            0 :               case RROTATE_EXPR:
   15798            0 :                 {
   15799            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15800            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15801            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15802              :                     {
   15803            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15804              :                         {
   15805            0 :                           {
   15806            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15807            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15808            0 :                             if (res) return res;
   15809              :                           }
   15810              :                         }
   15811              :                     }
   15812              :                   break;
   15813              :                 }
   15814           48 :               case LSHIFT_EXPR:
   15815           48 :                 {
   15816           48 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15817           48 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15818           48 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15819              :                     {
   15820            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15821              :                         {
   15822            0 :                           {
   15823            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15824            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15825            0 :                             if (res) return res;
   15826              :                           }
   15827              :                         }
   15828              :                     }
   15829              :                   break;
   15830              :                 }
   15831           46 :               case RSHIFT_EXPR:
   15832           46 :                 {
   15833           46 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15834           46 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15835           46 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15836              :                     {
   15837           20 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15838              :                         {
   15839           20 :                           {
   15840           20 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15841           20 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15842           20 :                             if (res) return res;
   15843              :                           }
   15844              :                         }
   15845              :                     }
   15846              :                   break;
   15847              :                 }
   15848          183 :               case MINUS_EXPR:
   15849          183 :                 {
   15850          183 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15851          183 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15852          183 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15853              :                     {
   15854            7 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15855              :                         {
   15856            0 :                           {
   15857            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15858            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15859            0 :                             if (res) return res;
   15860              :                           }
   15861              :                         }
   15862              :                     }
   15863              :                   break;
   15864              :                 }
   15865       151514 :               case POINTER_PLUS_EXPR:
   15866       151514 :                 {
   15867       151514 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15868       151514 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15869       151514 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15870              :                     {
   15871            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15872              :                         {
   15873            0 :                           {
   15874            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15875            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15876            0 :                             if (res) return res;
   15877              :                           }
   15878              :                         }
   15879              :                     }
   15880              :                   break;
   15881              :                 }
   15882              :               default:;
   15883              :               }
   15884              :           }
   15885      1682513 :         if (integer_onep (_q21))
   15886              :           {
   15887        48193 :             switch (TREE_CODE (_p2))
   15888              :               {
   15889           91 :               case TRUNC_DIV_EXPR:
   15890           91 :                 {
   15891           91 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15892           91 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15893           91 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15894              :                     {
   15895            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15896              :                         {
   15897            0 :                           {
   15898            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15899            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   15900            0 :                             if (res) return res;
   15901              :                           }
   15902              :                         }
   15903              :                     }
   15904              :                   break;
   15905              :                 }
   15906            0 :               case CEIL_DIV_EXPR:
   15907            0 :                 {
   15908            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15909            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15910            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15911              :                     {
   15912            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15913              :                         {
   15914            0 :                           {
   15915            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15916            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   15917            0 :                             if (res) return res;
   15918              :                           }
   15919              :                         }
   15920              :                     }
   15921              :                   break;
   15922              :                 }
   15923            0 :               case FLOOR_DIV_EXPR:
   15924            0 :                 {
   15925            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15926            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15927            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15928              :                     {
   15929            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15930              :                         {
   15931            0 :                           {
   15932            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15933            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   15934            0 :                             if (res) return res;
   15935              :                           }
   15936              :                         }
   15937              :                     }
   15938              :                   break;
   15939              :                 }
   15940            0 :               case ROUND_DIV_EXPR:
   15941            0 :                 {
   15942            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15943            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15944            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15945              :                     {
   15946            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15947              :                         {
   15948            0 :                           {
   15949            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15950            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   15951            0 :                             if (res) return res;
   15952              :                           }
   15953              :                         }
   15954              :                     }
   15955              :                   break;
   15956              :                 }
   15957            0 :               case EXACT_DIV_EXPR:
   15958            0 :                 {
   15959            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15960            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15961            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15962              :                     {
   15963            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15964              :                         {
   15965            0 :                           {
   15966            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15967            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   15968            0 :                             if (res) return res;
   15969              :                           }
   15970              :                         }
   15971              :                     }
   15972              :                   break;
   15973              :                 }
   15974            0 :               case MULT_EXPR:
   15975            0 :                 {
   15976            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   15977            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   15978            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   15979              :                     {
   15980            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   15981              :                         {
   15982            0 :                           {
   15983            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15984            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   15985            0 :                             if (res) return res;
   15986              :                           }
   15987              :                         }
   15988              :                     }
   15989            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15990              :                     {
   15991            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   15992              :                         {
   15993            0 :                           {
   15994            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15995            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   15996            0 :                             if (res) return res;
   15997              :                           }
   15998              :                         }
   15999              :                     }
   16000              :                   break;
   16001              :                 }
   16002              :               default:;
   16003              :               }
   16004              :           }
   16005      1682513 :         if (integer_all_onesp (_q21))
   16006              :           {
   16007        42037 :             switch (TREE_CODE (_p2))
   16008              :               {
   16009            0 :               case BIT_AND_EXPR:
   16010            0 :                 {
   16011            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16012            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16013            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16014              :                     {
   16015            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16016              :                         {
   16017            0 :                           {
   16018            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16019            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16020            0 :                             if (res) return res;
   16021              :                           }
   16022              :                         }
   16023              :                     }
   16024            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16025              :                     {
   16026            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16027              :                         {
   16028            0 :                           {
   16029            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16030            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16031            0 :                             if (res) return res;
   16032              :                           }
   16033              :                         }
   16034              :                     }
   16035              :                   break;
   16036              :                 }
   16037              :               default:;
   16038              :               }
   16039              :           }
   16040      1682513 :         switch (TREE_CODE (_q20))
   16041              :           {
   16042        87034 :           case BIT_AND_EXPR:
   16043        87034 :             {
   16044        87034 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16045        87034 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16046        87034 :               switch (TREE_CODE (_q31))
   16047              :                 {
   16048        86781 :                 case INTEGER_CST:
   16049        86781 :                   {
   16050        86781 :                     if (integer_zerop (_q21))
   16051              :                       {
   16052         1581 :                         switch (TREE_CODE (_p1))
   16053              :                           {
   16054            0 :                           case BIT_IOR_EXPR:
   16055            0 :                             {
   16056            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   16057            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   16058            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   16059              :                                 {
   16060            0 :                                   if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   16061              :                                     {
   16062            0 :                                       switch (TREE_CODE (_q71))
   16063              :                                         {
   16064            0 :                                         case INTEGER_CST:
   16065            0 :                                           {
   16066            0 :                                             if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   16067              :                                               {
   16068            0 :                                                 {
   16069            0 :                                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   16070            0 :                                                   if (wi::popcount (wi::to_wide (captures[1])) == 1
   16071              : )
   16072              :                                                     {
   16073            0 :                                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1815;
   16074            0 :                                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1815;
   16075            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1815;
   16076            0 :                                                       {
   16077            0 :                                                         tree _r;
   16078            0 :                                                         _r = captures[2];
   16079            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   16080            0 :                                                         return _r;
   16081              :                                                       }
   16082            0 : next_after_fail1815:;
   16083              :                                                     }
   16084              :                                                 }
   16085              :                                               }
   16086              :                                             break;
   16087              :                                           }
   16088              :                                         default:;
   16089              :                                         }
   16090              :                                     }
   16091              :                                 }
   16092              :                               break;
   16093              :                             }
   16094              :                           default:;
   16095              :                           }
   16096              :                       }
   16097              :                     break;
   16098              :                   }
   16099              :                 default:;
   16100              :                 }
   16101              :               break;
   16102              :             }
   16103      1682513 :           default:;
   16104              :           }
   16105      1682513 :         switch (TREE_CODE (_p1))
   16106              :           {
   16107            0 :           case BIT_IOR_EXPR:
   16108            0 :             {
   16109            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16110            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16111            0 :               switch (TREE_CODE (_q51))
   16112              :                 {
   16113            0 :                 case INTEGER_CST:
   16114            0 :                   {
   16115            0 :                     switch (TREE_CODE (_p2))
   16116              :                       {
   16117            0 :                       case BIT_AND_EXPR:
   16118            0 :                         {
   16119            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   16120            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   16121            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16122              :                             {
   16123            0 :                               switch (TREE_CODE (_q81))
   16124              :                                 {
   16125            0 :                                 case INTEGER_CST:
   16126            0 :                                   {
   16127            0 :                                     {
   16128            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   16129            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16130            0 :                                       if (res) return res;
   16131              :                                     }
   16132            0 :                                     break;
   16133              :                                   }
   16134              :                                 default:;
   16135              :                                 }
   16136              :                             }
   16137              :                           break;
   16138              :                         }
   16139              :                       default:;
   16140              :                       }
   16141              :                     break;
   16142              :                   }
   16143              :                 default:;
   16144              :                 }
   16145              :               break;
   16146              :             }
   16147      1682513 :           default:;
   16148              :           }
   16149      1682513 :         switch (TREE_CODE (_q20))
   16150              :           {
   16151        71510 :           CASE_CONVERT:
   16152        71510 :             {
   16153        71510 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16154        71510 :               switch (TREE_CODE (_q21))
   16155              :                 {
   16156        24764 :                 case INTEGER_CST:
   16157        24764 :                   {
   16158        24764 :                     switch (TREE_CODE (_p1))
   16159              :                       {
   16160        11090 :                       CASE_CONVERT:
   16161        11090 :                         {
   16162        11090 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16163        11090 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16164              :                             {
   16165           57 :                               switch (TREE_CODE (_p2))
   16166              :                                 {
   16167           56 :                                 case INTEGER_CST:
   16168           56 :                                   {
   16169           56 :                                     {
   16170           56 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16171           56 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16172           56 :                                       if (res) return res;
   16173              :                                     }
   16174           56 :                                     break;
   16175              :                                   }
   16176              :                                 default:;
   16177              :                                 }
   16178              :                             }
   16179              :                           break;
   16180              :                         }
   16181        24764 :                       default:;
   16182              :                       }
   16183        24764 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16184              :                       {
   16185          118 :                         switch (TREE_CODE (_p2))
   16186              :                           {
   16187          112 :                           case INTEGER_CST:
   16188          112 :                             {
   16189          112 :                               {
   16190          112 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16191          112 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16192          112 :                                 if (res) return res;
   16193              :                               }
   16194          112 :                               break;
   16195              :                             }
   16196              :                           default:;
   16197              :                           }
   16198              :                       }
   16199              :                     break;
   16200              :                   }
   16201              :                 default:;
   16202              :                 }
   16203              :               break;
   16204              :             }
   16205      1682513 :           default:;
   16206              :           }
   16207      1682513 :         switch (TREE_CODE (_q21))
   16208              :           {
   16209       874224 :           case INTEGER_CST:
   16210       874224 :             {
   16211       874224 :               switch (TREE_CODE (_p1))
   16212              :                 {
   16213       195898 :                 CASE_CONVERT:
   16214       195898 :                   {
   16215       195898 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16216       195898 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16217              :                       {
   16218          321 :                         switch (TREE_CODE (_p2))
   16219              :                           {
   16220            7 :                           case INTEGER_CST:
   16221            7 :                             {
   16222            7 :                               {
   16223            7 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16224            7 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16225            7 :                                 if (res) return res;
   16226              :                               }
   16227            0 :                               break;
   16228              :                             }
   16229              :                           default:;
   16230              :                           }
   16231              :                       }
   16232              :                     break;
   16233              :                   }
   16234       874217 :                 default:;
   16235              :                 }
   16236       874217 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16237              :                 {
   16238           58 :                   switch (TREE_CODE (_p2))
   16239              :                     {
   16240            5 :                     case INTEGER_CST:
   16241            5 :                       {
   16242            5 :                         {
   16243            5 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16244            5 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16245            5 :                           if (res) return res;
   16246              :                         }
   16247            0 :                         break;
   16248              :                       }
   16249              :                     default:;
   16250              :                     }
   16251              :                 }
   16252              :               break;
   16253              :             }
   16254      1682501 :           default:;
   16255              :           }
   16256      1682501 :       if (tree_expr_nonnegative_p (_q21))
   16257              :         {
   16258      1526756 :           if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16259              :             {
   16260           80 :               switch (TREE_CODE (_p2))
   16261              :                 {
   16262            0 :                 case ABS_EXPR:
   16263            0 :                   {
   16264            0 :                     tree _q60 = TREE_OPERAND (_p2, 0);
   16265            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16266              :                       {
   16267            0 :                         {
   16268            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16269            0 :                           tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16270            0 :                           if (res) return res;
   16271              :                         }
   16272              :                       }
   16273              :                     break;
   16274              :                   }
   16275              :                 default:;
   16276              :                 }
   16277              :             }
   16278              :         }
   16279      1682501 :         if (tree_expr_nonnegative_p (_q20))
   16280              :           {
   16281       987448 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16282              :               {
   16283        22629 :                 switch (TREE_CODE (_p2))
   16284              :                   {
   16285            0 :                   case ABS_EXPR:
   16286            0 :                     {
   16287            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16288            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16289              :                         {
   16290            0 :                           {
   16291            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16292            0 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16293            0 :                             if (res) return res;
   16294              :                           }
   16295              :                         }
   16296              :                       break;
   16297              :                     }
   16298              :                   default:;
   16299              :                   }
   16300              :               }
   16301       987448 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16302              :               {
   16303           25 :                 switch (TREE_CODE (_p2))
   16304              :                   {
   16305            0 :                   case ABS_EXPR:
   16306            0 :                     {
   16307            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16308            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16309              :                         {
   16310            0 :                           {
   16311            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16312            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16313            0 :                             if (res) return res;
   16314              :                           }
   16315              :                         }
   16316              :                       break;
   16317              :                     }
   16318              :                   default:;
   16319              :                   }
   16320              :               }
   16321              :           }
   16322      1682501 :         if (tree_expr_nonnegative_p (_q21))
   16323              :           {
   16324      1526756 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16325              :               {
   16326        23083 :                 switch (TREE_CODE (_p2))
   16327              :                   {
   16328            0 :                   case ABS_EXPR:
   16329            0 :                     {
   16330            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16331            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16332              :                         {
   16333            0 :                           {
   16334            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16335            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures);
   16336            0 :                             if (res) return res;
   16337              :                           }
   16338              :                         }
   16339              :                       break;
   16340              :                     }
   16341              :                   default:;
   16342              :                   }
   16343              :               }
   16344              :           }
   16345              :         break;
   16346              :       }
   16347      2805228 :     case NE_EXPR:
   16348      2805228 :       {
   16349      2805228 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16350      2805228 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16351      2805228 :         if (tree_zero_one_valued_p (_q20))
   16352              :           {
   16353       157569 :             if (integer_zerop (_q21))
   16354              :               {
   16355       155802 :                 switch (TREE_CODE (_p1))
   16356              :                   {
   16357            5 :                   case BIT_XOR_EXPR:
   16358            5 :                     {
   16359            5 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16360            5 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16361            5 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16362              :                         {
   16363            1 :                           {
   16364            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16365            1 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16366            1 :                             if (res) return res;
   16367              :                           }
   16368              :                         }
   16369            4 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16370              :                         {
   16371            4 :                           {
   16372            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16373            4 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16374            4 :                             if (res) return res;
   16375              :                           }
   16376              :                         }
   16377              :                       break;
   16378              :                     }
   16379            1 :                   case BIT_IOR_EXPR:
   16380            1 :                     {
   16381            1 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16382            1 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16383            1 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16384              :                         {
   16385            1 :                           {
   16386            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16387            1 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16388            1 :                             if (res) return res;
   16389              :                           }
   16390              :                         }
   16391            0 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16392              :                         {
   16393            0 :                           {
   16394            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16395            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16396            0 :                             if (res) return res;
   16397              :                           }
   16398              :                         }
   16399              :                       break;
   16400              :                     }
   16401          110 :                   case PLUS_EXPR:
   16402          110 :                     {
   16403          110 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16404          110 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16405          110 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16406              :                         {
   16407            8 :                           {
   16408            8 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16409            8 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16410            8 :                             if (res) return res;
   16411              :                           }
   16412              :                         }
   16413          109 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16414              :                         {
   16415            1 :                           {
   16416            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16417            1 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16418            1 :                             if (res) return res;
   16419              :                           }
   16420              :                         }
   16421              :                       break;
   16422              :                     }
   16423              :                   default:;
   16424              :                   }
   16425              :               }
   16426              :           }
   16427      2805220 :         if (integer_zerop (_q21))
   16428              :           {
   16429      1855915 :             switch (TREE_CODE (_p1))
   16430              :               {
   16431           89 :               case TRUNC_DIV_EXPR:
   16432           89 :                 {
   16433           89 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16434           89 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16435           89 :                   if (integer_zerop (_p2))
   16436              :                     {
   16437           51 :                       {
   16438           51 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16439           51 :                         tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16440           51 :                         if (res) return res;
   16441              :                       }
   16442              :                     }
   16443              :                   break;
   16444              :                 }
   16445            0 :               case CEIL_DIV_EXPR:
   16446            0 :                 {
   16447            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16448            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16449            0 :                   if (integer_zerop (_p2))
   16450              :                     {
   16451            0 :                       {
   16452            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16453            0 :                         tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16454            0 :                         if (res) return res;
   16455              :                       }
   16456              :                     }
   16457              :                   break;
   16458              :                 }
   16459            0 :               case FLOOR_DIV_EXPR:
   16460            0 :                 {
   16461            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16462            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16463            0 :                   if (integer_zerop (_p2))
   16464              :                     {
   16465            0 :                       {
   16466            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16467            0 :                         tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16468            0 :                         if (res) return res;
   16469              :                       }
   16470              :                     }
   16471              :                   break;
   16472              :                 }
   16473            0 :               case ROUND_DIV_EXPR:
   16474            0 :                 {
   16475            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16476            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16477            0 :                   if (integer_zerop (_p2))
   16478              :                     {
   16479            0 :                       {
   16480            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16481            0 :                         tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16482            0 :                         if (res) return res;
   16483              :                       }
   16484              :                     }
   16485              :                   break;
   16486              :                 }
   16487           31 :               case EXACT_DIV_EXPR:
   16488           31 :                 {
   16489           31 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16490           31 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16491           31 :                   if (integer_zerop (_p2))
   16492              :                     {
   16493            0 :                       {
   16494            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16495            0 :                         tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16496            0 :                         if (res) return res;
   16497              :                       }
   16498              :                     }
   16499              :                   break;
   16500              :                 }
   16501          596 :               case MULT_EXPR:
   16502          596 :                 {
   16503          596 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16504          596 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16505          596 :                   if (integer_zerop (_p2))
   16506              :                     {
   16507           40 :                       {
   16508           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16509           40 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16510           40 :                         if (res) return res;
   16511              :                       }
   16512           40 :                       {
   16513           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   16514           40 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16515           40 :                         if (res) return res;
   16516              :                       }
   16517              :                     }
   16518              :                   break;
   16519              :                 }
   16520          278 :               case BIT_AND_EXPR:
   16521          278 :                 {
   16522          278 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16523          278 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16524          278 :                   if (integer_zerop (_p2))
   16525              :                     {
   16526           52 :                       {
   16527           52 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16528           52 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16529           52 :                         if (res) return res;
   16530              :                       }
   16531           52 :                       {
   16532           52 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   16533           52 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16534           52 :                         if (res) return res;
   16535              :                       }
   16536              :                     }
   16537              :                   break;
   16538              :                 }
   16539              :               default:;
   16540              :               }
   16541              :           }
   16542      2805218 :         if (uniform_integer_cst_p (_q21))
   16543              :           {
   16544      2154440 :             switch (TREE_CODE (_p1))
   16545              :               {
   16546       108734 :               case PLUS_EXPR:
   16547       108734 :                 {
   16548       108734 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16549       108734 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16550       108734 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16551              :                     {
   16552         2614 :                       if (uniform_integer_cst_p (_q51))
   16553              :                         {
   16554         2614 :                           if (uniform_integer_cst_p (_p2))
   16555              :                             {
   16556         2612 :                               {
   16557         2612 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   16558         2612 :                                 {
   16559         2612 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   16560         2612 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   16561         2612 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   16562         2612 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   16563              : )
   16564              :                                       {
   16565           10 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1816;
   16566           10 :                                         if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1816;
   16567           10 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1816;
   16568           10 :                                         {
   16569           10 :                                           tree _r;
   16570           10 :                                           _r = captures[2];
   16571           10 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   16572            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16573           10 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   16574           10 :                                           return _r;
   16575              :                                         }
   16576         2602 : next_after_fail1816:;
   16577              :                                       }
   16578              :                                 }
   16579              :                               }
   16580              :                             }
   16581              :                         }
   16582              :                     }
   16583              :                   break;
   16584              :                 }
   16585              :               default:;
   16586              :               }
   16587              :           }
   16588      2805208 :         switch (TREE_CODE (_q20))
   16589              :           {
   16590       275087 :           case BIT_AND_EXPR:
   16591       275087 :             {
   16592       275087 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16593       275087 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16594       275087 :               switch (TREE_CODE (_q31))
   16595              :                 {
   16596       204558 :                 case INTEGER_CST:
   16597       204558 :                   {
   16598       204558 :                     if (integer_zerop (_q21))
   16599              :                       {
   16600       204545 :                         switch (TREE_CODE (_p1))
   16601              :                           {
   16602           44 :                           case BIT_AND_EXPR:
   16603           44 :                             {
   16604           44 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   16605           44 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   16606           44 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   16607              :                                 {
   16608           18 :                                   switch (TREE_CODE (_q71))
   16609              :                                     {
   16610           18 :                                     case INTEGER_CST:
   16611           18 :                                       {
   16612           18 :                                         if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   16613              :                                           {
   16614            0 :                                             {
   16615            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _p1, _q71 };
   16616            0 :                                               if (wi::to_wide (captures[3]) == ~wi::to_wide (captures[1])
   16617              : )
   16618              :                                                 {
   16619            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1817;
   16620            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1817;
   16621            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1817;
   16622            0 :                                                   {
   16623            0 :                                                     tree _r;
   16624            0 :                                                     _r = captures[2];
   16625            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   16626            0 :                                                     return _r;
   16627              :                                                   }
   16628            0 : next_after_fail1817:;
   16629              :                                                 }
   16630              :                                             }
   16631              :                                           }
   16632           18 :                                         switch (TREE_CODE (_p2))
   16633              :                                           {
   16634           18 :                                           case BIT_IOR_EXPR:
   16635           18 :                                             {
   16636           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   16637           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   16638           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   16639              :                                                 {
   16640           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   16641              :                                                     {
   16642           18 :                                                       {
   16643           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   16644           18 :                                                         tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16645           18 :                                                         if (res) return res;
   16646              :                                                       }
   16647              :                                                     }
   16648              :                                                 }
   16649              :                                               break;
   16650              :                                             }
   16651              :                                           default:;
   16652              :                                           }
   16653              :                                         break;
   16654              :                                       }
   16655              :                                     default:;
   16656              :                                     }
   16657              :                                 }
   16658              :                               break;
   16659              :                             }
   16660          139 :                           case PLUS_EXPR:
   16661          139 :                             {
   16662          139 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   16663          139 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   16664          139 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   16665              :                                 {
   16666           18 :                                   switch (TREE_CODE (_q71))
   16667              :                                     {
   16668           18 :                                     case INTEGER_CST:
   16669           18 :                                       {
   16670           18 :                                         switch (TREE_CODE (_p2))
   16671              :                                           {
   16672           18 :                                           case BIT_IOR_EXPR:
   16673           18 :                                             {
   16674           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   16675           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   16676           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   16677              :                                                 {
   16678           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   16679              :                                                     {
   16680           18 :                                                       {
   16681           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   16682           18 :                                                         tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16683           18 :                                                         if (res) return res;
   16684              :                                                       }
   16685              :                                                     }
   16686              :                                                 }
   16687              :                                               break;
   16688              :                                             }
   16689              :                                           default:;
   16690              :                                           }
   16691              :                                         break;
   16692              :                                       }
   16693              :                                     default:;
   16694              :                                     }
   16695              :                                 }
   16696              :                               break;
   16697              :                             }
   16698              :                           default:;
   16699              :                           }
   16700              :                       }
   16701              :                     break;
   16702              :                   }
   16703              :                 default:;
   16704              :                 }
   16705              :               break;
   16706              :             }
   16707      2805184 :           default:;
   16708              :           }
   16709      2805184 :         switch (TREE_CODE (_p1))
   16710              :           {
   16711         9285 :           case BIT_IOR_EXPR:
   16712         9285 :             {
   16713         9285 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16714         9285 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16715         9285 :               switch (TREE_CODE (_q51))
   16716              :                 {
   16717         9060 :                 case INTEGER_CST:
   16718         9060 :                   {
   16719         9060 :                     switch (TREE_CODE (_p2))
   16720              :                       {
   16721            0 :                       case BIT_AND_EXPR:
   16722            0 :                         {
   16723            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   16724            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   16725            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16726              :                             {
   16727            0 :                               switch (TREE_CODE (_q81))
   16728              :                                 {
   16729            0 :                                 case INTEGER_CST:
   16730            0 :                                   {
   16731            0 :                                     {
   16732            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   16733            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   16734            0 :                                       if (res) return res;
   16735              :                                     }
   16736            0 :                                     break;
   16737              :                                   }
   16738              :                                 default:;
   16739              :                                 }
   16740              :                             }
   16741              :                           break;
   16742              :                         }
   16743              :                       default:;
   16744              :                       }
   16745              :                     break;
   16746              :                   }
   16747              :                 default:;
   16748              :                 }
   16749              :               break;
   16750              :             }
   16751      2805184 :           default:;
   16752              :           }
   16753      2805184 :         switch (TREE_CODE (_q20))
   16754              :           {
   16755       349296 :           CASE_CONVERT:
   16756       349296 :             {
   16757       349296 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16758       349296 :               switch (TREE_CODE (_q21))
   16759              :                 {
   16760       295724 :                 case INTEGER_CST:
   16761       295724 :                   {
   16762       295724 :                     switch (TREE_CODE (_p1))
   16763              :                       {
   16764        96493 :                       CASE_CONVERT:
   16765        96493 :                         {
   16766        96493 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16767        96493 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16768              :                             {
   16769           57 :                               switch (TREE_CODE (_p2))
   16770              :                                 {
   16771            9 :                                 case INTEGER_CST:
   16772            9 :                                   {
   16773            9 :                                     {
   16774            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16775            9 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   16776            9 :                                       if (res) return res;
   16777              :                                     }
   16778            9 :                                     break;
   16779              :                                   }
   16780              :                                 default:;
   16781              :                                 }
   16782              :                             }
   16783              :                           break;
   16784              :                         }
   16785       295724 :                       default:;
   16786              :                       }
   16787       295724 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16788              :                       {
   16789           48 :                         switch (TREE_CODE (_p2))
   16790              :                           {
   16791            0 :                           case INTEGER_CST:
   16792            0 :                             {
   16793            0 :                               {
   16794            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16795            0 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   16796            0 :                                 if (res) return res;
   16797              :                               }
   16798            0 :                               break;
   16799              :                             }
   16800              :                           default:;
   16801              :                           }
   16802              :                       }
   16803              :                     break;
   16804              :                   }
   16805              :                 default:;
   16806              :                 }
   16807              :               break;
   16808              :             }
   16809      2805184 :           default:;
   16810              :           }
   16811      2805184 :         switch (TREE_CODE (_q21))
   16812              :           {
   16813      2154406 :           case INTEGER_CST:
   16814      2154406 :             {
   16815      2154406 :               switch (TREE_CODE (_p1))
   16816              :                 {
   16817       360796 :                 CASE_CONVERT:
   16818       360796 :                   {
   16819       360796 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16820       360796 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16821              :                       {
   16822        71713 :                         switch (TREE_CODE (_p2))
   16823              :                           {
   16824        70518 :                           case INTEGER_CST:
   16825        70518 :                             {
   16826        70518 :                               {
   16827        70518 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16828        70518 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   16829        70518 :                                 if (res) return res;
   16830              :                               }
   16831        70518 :                               break;
   16832              :                             }
   16833              :                           default:;
   16834              :                           }
   16835              :                       }
   16836              :                     break;
   16837              :                   }
   16838      2154406 :                 default:;
   16839              :                 }
   16840      2154406 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16841              :                 {
   16842        52911 :                   switch (TREE_CODE (_p2))
   16843              :                     {
   16844        50435 :                     case INTEGER_CST:
   16845        50435 :                       {
   16846        50435 :                         {
   16847        50435 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16848        50435 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   16849        50435 :                           if (res) return res;
   16850              :                         }
   16851        50435 :                         break;
   16852              :                       }
   16853              :                     default:;
   16854              :                     }
   16855              :                 }
   16856              :               break;
   16857              :             }
   16858      2805184 :           default:;
   16859              :           }
   16860      2805184 :         switch (TREE_CODE (_p1))
   16861              :           {
   16862        12380 :           case MINUS_EXPR:
   16863        12380 :             {
   16864        12380 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16865        12380 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16866        12380 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16867              :                 {
   16868            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16869              :                     {
   16870            0 :                       if (integer_zerop (_p2))
   16871              :                         {
   16872            0 :                           {
   16873            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16874            0 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures);
   16875            0 :                             if (res) return res;
   16876              :                           }
   16877              :                         }
   16878              :                     }
   16879              :                 }
   16880        12380 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16881              :                 {
   16882           19 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16883              :                     {
   16884           19 :                       if (integer_zerop (_p2))
   16885              :                         {
   16886            0 :                           {
   16887            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   16888            0 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures);
   16889            0 :                             if (res) return res;
   16890              :                           }
   16891              :                         }
   16892              :                     }
   16893              :                 }
   16894              :               break;
   16895              :             }
   16896           14 :           case BIT_XOR_EXPR:
   16897           14 :             {
   16898           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16899           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16900           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16901              :                 {
   16902            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16903              :                     {
   16904            7 :                       if (integer_zerop (_p2))
   16905              :                         {
   16906            0 :                           {
   16907            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16908            0 :                             tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures);
   16909            0 :                             if (res) return res;
   16910              :                           }
   16911              :                         }
   16912              :                     }
   16913              :                 }
   16914           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16915              :                 {
   16916            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16917              :                     {
   16918            0 :                       if (integer_zerop (_p2))
   16919              :                         {
   16920            0 :                           {
   16921            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   16922            0 :                             tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures);
   16923            0 :                             if (res) return res;
   16924              :                           }
   16925              :                         }
   16926              :                     }
   16927              :                 }
   16928              :               break;
   16929              :             }
   16930          265 :           case BIT_AND_EXPR:
   16931          265 :             {
   16932          265 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16933          265 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16934          265 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16935              :                 {
   16936            2 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16937              :                     {
   16938            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16939              :                         {
   16940            0 :                           {
   16941            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16942            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16943            0 :                             if (res) return res;
   16944              :                           }
   16945              :                         }
   16946            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   16947              :                         {
   16948            0 :                           {
   16949            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   16950            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16951            0 :                             if (res) return res;
   16952              :                           }
   16953              :                         }
   16954              :                     }
   16955              :                 }
   16956          265 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16957              :                 {
   16958            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16959              :                     {
   16960            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16961              :                         {
   16962            0 :                           {
   16963            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16964            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16965            0 :                             if (res) return res;
   16966              :                           }
   16967              :                         }
   16968            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   16969              :                         {
   16970            0 :                           {
   16971            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   16972            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16973            0 :                             if (res) return res;
   16974              :                           }
   16975              :                         }
   16976              :                     }
   16977              :                 }
   16978              :               break;
   16979              :             }
   16980         9285 :           case BIT_IOR_EXPR:
   16981         9285 :             {
   16982         9285 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16983         9285 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16984         9285 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16985              :                 {
   16986            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16987              :                     {
   16988            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16989              :                         {
   16990            0 :                           {
   16991            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16992            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16993            0 :                             if (res) return res;
   16994              :                           }
   16995              :                         }
   16996            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   16997              :                         {
   16998            0 :                           {
   16999            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17000            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17001            0 :                             if (res) return res;
   17002              :                           }
   17003              :                         }
   17004              :                     }
   17005              :                 }
   17006         9285 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17007              :                 {
   17008            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17009              :                     {
   17010            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17011              :                         {
   17012            0 :                           {
   17013            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17014            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17015            0 :                             if (res) return res;
   17016              :                           }
   17017              :                         }
   17018            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17019              :                         {
   17020            0 :                           {
   17021            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17022            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17023            0 :                             if (res) return res;
   17024              :                           }
   17025              :                         }
   17026              :                     }
   17027              :                 }
   17028              :               break;
   17029              :             }
   17030            0 :           case MIN_EXPR:
   17031            0 :             {
   17032            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17033            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17034            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17035              :                 {
   17036            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17037              :                     {
   17038            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17039              :                         {
   17040            0 :                           {
   17041            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17042            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17043            0 :                             if (res) return res;
   17044              :                           }
   17045              :                         }
   17046            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17047              :                         {
   17048            0 :                           {
   17049            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17050            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17051            0 :                             if (res) return res;
   17052              :                           }
   17053              :                         }
   17054              :                     }
   17055            0 :                   switch (TREE_CODE (_p2))
   17056              :                     {
   17057            0 :                     case MIN_EXPR:
   17058            0 :                       {
   17059            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17060            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17061            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17062              :                           {
   17063            0 :                             {
   17064            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17065            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17066            0 :                               if (res) return res;
   17067              :                             }
   17068              :                           }
   17069            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17070              :                           {
   17071            0 :                             {
   17072            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17073            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17074            0 :                               if (res) return res;
   17075              :                             }
   17076              :                           }
   17077              :                         break;
   17078              :                       }
   17079              :                     default:;
   17080              :                     }
   17081              :                 }
   17082            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17083              :                 {
   17084            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17085              :                     {
   17086            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17087              :                         {
   17088            0 :                           {
   17089            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17090            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17091            0 :                             if (res) return res;
   17092              :                           }
   17093              :                         }
   17094            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17095              :                         {
   17096            0 :                           {
   17097            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17098            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17099            0 :                             if (res) return res;
   17100              :                           }
   17101              :                         }
   17102              :                     }
   17103            0 :                   switch (TREE_CODE (_p2))
   17104              :                     {
   17105            0 :                     case MIN_EXPR:
   17106            0 :                       {
   17107            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17108            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17109            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17110              :                           {
   17111            0 :                             {
   17112            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17113            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17114            0 :                               if (res) return res;
   17115              :                             }
   17116              :                           }
   17117            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17118              :                           {
   17119            0 :                             {
   17120            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17121            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17122            0 :                               if (res) return res;
   17123              :                             }
   17124              :                           }
   17125              :                         break;
   17126              :                       }
   17127              :                     default:;
   17128              :                     }
   17129              :                 }
   17130            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17131              :                 {
   17132            0 :                   switch (TREE_CODE (_p2))
   17133              :                     {
   17134            0 :                     case MIN_EXPR:
   17135            0 :                       {
   17136            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17137            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17138            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17139              :                           {
   17140            0 :                             {
   17141            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17142            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17143            0 :                               if (res) return res;
   17144              :                             }
   17145              :                           }
   17146            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17147              :                           {
   17148            0 :                             {
   17149            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17150            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17151            0 :                               if (res) return res;
   17152              :                             }
   17153              :                           }
   17154              :                         break;
   17155              :                       }
   17156              :                     default:;
   17157              :                     }
   17158              :                 }
   17159            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17160              :                 {
   17161            0 :                   switch (TREE_CODE (_p2))
   17162              :                     {
   17163            0 :                     case MIN_EXPR:
   17164            0 :                       {
   17165            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17166            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17167            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17168              :                           {
   17169            0 :                             {
   17170            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17171            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17172            0 :                               if (res) return res;
   17173              :                             }
   17174              :                           }
   17175            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17176              :                           {
   17177            0 :                             {
   17178            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17179            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17180            0 :                               if (res) return res;
   17181              :                             }
   17182              :                           }
   17183              :                         break;
   17184              :                       }
   17185              :                     default:;
   17186              :                     }
   17187              :                 }
   17188              :               break;
   17189              :             }
   17190            0 :           case MAX_EXPR:
   17191            0 :             {
   17192            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17193            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17194            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17195              :                 {
   17196            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17197              :                     {
   17198            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17199              :                         {
   17200            0 :                           {
   17201            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17202            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17203            0 :                             if (res) return res;
   17204              :                           }
   17205              :                         }
   17206            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17207              :                         {
   17208            0 :                           {
   17209            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17210            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17211            0 :                             if (res) return res;
   17212              :                           }
   17213              :                         }
   17214              :                     }
   17215            0 :                   switch (TREE_CODE (_p2))
   17216              :                     {
   17217            0 :                     case MAX_EXPR:
   17218            0 :                       {
   17219            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17220            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17221            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17222              :                           {
   17223            0 :                             {
   17224            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17225            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17226            0 :                               if (res) return res;
   17227              :                             }
   17228              :                           }
   17229            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17230              :                           {
   17231            0 :                             {
   17232            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17233            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17234            0 :                               if (res) return res;
   17235              :                             }
   17236              :                           }
   17237              :                         break;
   17238              :                       }
   17239              :                     default:;
   17240              :                     }
   17241              :                 }
   17242            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17243              :                 {
   17244            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17245              :                     {
   17246            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17247              :                         {
   17248            0 :                           {
   17249            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17250            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17251            0 :                             if (res) return res;
   17252              :                           }
   17253              :                         }
   17254            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17255              :                         {
   17256            0 :                           {
   17257            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17258            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17259            0 :                             if (res) return res;
   17260              :                           }
   17261              :                         }
   17262              :                     }
   17263            0 :                   switch (TREE_CODE (_p2))
   17264              :                     {
   17265            0 :                     case MAX_EXPR:
   17266            0 :                       {
   17267            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17268            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17269            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17270              :                           {
   17271            0 :                             {
   17272            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17273            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17274            0 :                               if (res) return res;
   17275              :                             }
   17276              :                           }
   17277            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17278              :                           {
   17279            0 :                             {
   17280            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17281            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17282            0 :                               if (res) return res;
   17283              :                             }
   17284              :                           }
   17285              :                         break;
   17286              :                       }
   17287              :                     default:;
   17288              :                     }
   17289              :                 }
   17290            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17291              :                 {
   17292            0 :                   switch (TREE_CODE (_p2))
   17293              :                     {
   17294            0 :                     case MAX_EXPR:
   17295            0 :                       {
   17296            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17297            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17298            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17299              :                           {
   17300            0 :                             {
   17301            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17302            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17303            0 :                               if (res) return res;
   17304              :                             }
   17305              :                           }
   17306            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17307              :                           {
   17308            0 :                             {
   17309            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17310            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17311            0 :                               if (res) return res;
   17312              :                             }
   17313              :                           }
   17314              :                         break;
   17315              :                       }
   17316              :                     default:;
   17317              :                     }
   17318              :                 }
   17319            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17320              :                 {
   17321            0 :                   switch (TREE_CODE (_p2))
   17322              :                     {
   17323            0 :                     case MAX_EXPR:
   17324            0 :                       {
   17325            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17326            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17327            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17328              :                           {
   17329            0 :                             {
   17330            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17331            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17332            0 :                               if (res) return res;
   17333              :                             }
   17334              :                           }
   17335            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17336              :                           {
   17337            0 :                             {
   17338            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17339            0 :                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17340            0 :                               if (res) return res;
   17341              :                             }
   17342              :                           }
   17343              :                         break;
   17344              :                       }
   17345              :                     default:;
   17346              :                     }
   17347              :                 }
   17348              :               break;
   17349              :             }
   17350        24064 :           case MULT_EXPR:
   17351        24064 :             {
   17352        24064 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17353        24064 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17354        24064 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17355              :                 {
   17356        19377 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17357              :                     {
   17358            0 :                       switch (TREE_CODE (_p2))
   17359              :                         {
   17360            0 :                         case MULT_EXPR:
   17361            0 :                           {
   17362            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17363            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17364            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17365              :                               {
   17366            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17367              :                                   {
   17368            0 :                                     {
   17369            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17370            0 :                                       const enum tree_code op = MULT_EXPR;
   17371            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17372              : )
   17373              :                                         {
   17374            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1818;
   17375            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1818;
   17376            0 :                                           {
   17377            0 :                                             tree _r;
   17378            0 :                                             _r = captures[2];
   17379            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   17380            0 :                                             return _r;
   17381              :                                           }
   17382            0 : next_after_fail1818:;
   17383              :                                         }
   17384              :                                     }
   17385              :                                   }
   17386              :                               }
   17387              :                             break;
   17388              :                           }
   17389              :                         default:;
   17390              :                         }
   17391              :                     }
   17392              :                 }
   17393        24064 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17394              :                 {
   17395            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17396              :                     {
   17397            0 :                       switch (TREE_CODE (_p2))
   17398              :                         {
   17399            0 :                         case MULT_EXPR:
   17400            0 :                           {
   17401            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17402            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17403            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17404              :                               {
   17405            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   17406              :                                   {
   17407            0 :                                     {
   17408            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17409            0 :                                       const enum tree_code op = MULT_EXPR;
   17410            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17411              : )
   17412              :                                         {
   17413            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1819;
   17414            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1819;
   17415            0 :                                           {
   17416            0 :                                             tree _r;
   17417            0 :                                             _r = captures[2];
   17418            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   17419            0 :                                             return _r;
   17420              :                                           }
   17421            0 : next_after_fail1819:;
   17422              :                                         }
   17423              :                                     }
   17424              :                                   }
   17425              :                               }
   17426              :                             break;
   17427              :                           }
   17428              :                         default:;
   17429              :                         }
   17430              :                     }
   17431              :                 }
   17432              :               break;
   17433              :             }
   17434       108784 :           case PLUS_EXPR:
   17435       108784 :             {
   17436       108784 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17437       108784 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17438       108784 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17439              :                 {
   17440         2612 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17441              :                     {
   17442            0 :                       switch (TREE_CODE (_p2))
   17443              :                         {
   17444            0 :                         case PLUS_EXPR:
   17445            0 :                           {
   17446            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17447            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17448            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17449              :                               {
   17450            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17451              :                                   {
   17452            0 :                                     {
   17453            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17454            0 :                                       const enum tree_code op = PLUS_EXPR;
   17455            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17456              : )
   17457              :                                         {
   17458            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1820;
   17459            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1820;
   17460            0 :                                           {
   17461            0 :                                             tree _r;
   17462            0 :                                             _r = captures[2];
   17463            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   17464            0 :                                             return _r;
   17465              :                                           }
   17466            0 : next_after_fail1820:;
   17467              :                                         }
   17468              :                                     }
   17469              :                                   }
   17470              :                               }
   17471              :                             break;
   17472              :                           }
   17473            0 :                         case MULT_EXPR:
   17474            0 :                           {
   17475            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17476            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17477            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17478              :                               {
   17479            0 :                                 if (uniform_integer_cst_p (_q81))
   17480              :                                   {
   17481            0 :                                     {
   17482            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   17483            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17484              : )
   17485              :                                         {
   17486            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1821;
   17487            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1821;
   17488            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1821;
   17489            0 :                                           {
   17490            0 :                                             tree _r;
   17491            0 :                                             _r = captures[2];
   17492            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   17493            0 :                                             return _r;
   17494              :                                           }
   17495            0 : next_after_fail1821:;
   17496              :                                         }
   17497              :                                     }
   17498              :                                   }
   17499              :                               }
   17500            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17501              :                               {
   17502            0 :                                 if (uniform_integer_cst_p (_q81))
   17503              :                                   {
   17504            0 :                                     {
   17505            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   17506            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17507              : )
   17508              :                                         {
   17509            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1822;
   17510            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1822;
   17511            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1822;
   17512            0 :                                           {
   17513            0 :                                             tree _r;
   17514            0 :                                             _r = captures[2];
   17515            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   17516            0 :                                             return _r;
   17517              :                                           }
   17518            0 : next_after_fail1822:;
   17519              :                                         }
   17520              :                                     }
   17521              :                                   }
   17522              :                               }
   17523              :                             break;
   17524              :                           }
   17525              :                         default:;
   17526              :                         }
   17527              :                     }
   17528              :                 }
   17529       108784 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17530              :                 {
   17531            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17532              :                     {
   17533            0 :                       switch (TREE_CODE (_p2))
   17534              :                         {
   17535            0 :                         case PLUS_EXPR:
   17536            0 :                           {
   17537            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17538            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17539            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17540              :                               {
   17541            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   17542              :                                   {
   17543            0 :                                     {
   17544            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17545            0 :                                       const enum tree_code op = PLUS_EXPR;
   17546            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17547              : )
   17548              :                                         {
   17549            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1823;
   17550            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1823;
   17551            0 :                                           {
   17552            0 :                                             tree _r;
   17553            0 :                                             _r = captures[2];
   17554            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   17555            0 :                                             return _r;
   17556              :                                           }
   17557            0 : next_after_fail1823:;
   17558              :                                         }
   17559              :                                     }
   17560              :                                   }
   17561              :                               }
   17562              :                             break;
   17563              :                           }
   17564            0 :                         case MULT_EXPR:
   17565            0 :                           {
   17566            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17567            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17568            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17569              :                               {
   17570            0 :                                 if (uniform_integer_cst_p (_q81))
   17571              :                                   {
   17572            0 :                                     {
   17573            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   17574            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17575              : )
   17576              :                                         {
   17577            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1824;
   17578            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1824;
   17579            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
   17580            0 :                                           {
   17581            0 :                                             tree _r;
   17582            0 :                                             _r = captures[2];
   17583            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   17584            0 :                                             return _r;
   17585              :                                           }
   17586            0 : next_after_fail1824:;
   17587              :                                         }
   17588              :                                     }
   17589              :                                   }
   17590              :                               }
   17591            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17592              :                               {
   17593            0 :                                 if (uniform_integer_cst_p (_q81))
   17594              :                                   {
   17595            0 :                                     {
   17596            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   17597            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17598              : )
   17599              :                                         {
   17600            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1825;
   17601            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1825;
   17602            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
   17603            0 :                                           {
   17604            0 :                                             tree _r;
   17605            0 :                                             _r = captures[2];
   17606            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   17607            0 :                                             return _r;
   17608              :                                           }
   17609            0 : next_after_fail1825:;
   17610              :                                         }
   17611              :                                     }
   17612              :                                   }
   17613              :                               }
   17614              :                             break;
   17615              :                           }
   17616              :                         default:;
   17617              :                         }
   17618              :                     }
   17619              :                 }
   17620              :               break;
   17621              :             }
   17622      2805184 :           default:;
   17623              :           }
   17624      2805184 :         switch (TREE_CODE (_q21))
   17625              :           {
   17626      2154406 :           case INTEGER_CST:
   17627      2154406 :             {
   17628      2154406 :               switch (TREE_CODE (_p1))
   17629              :                 {
   17630          228 :                 case NEGATE_EXPR:
   17631          228 :                   {
   17632          228 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17633          228 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17634              :                       {
   17635           42 :                         switch (TREE_CODE (_p2))
   17636              :                           {
   17637           14 :                           case INTEGER_CST:
   17638           14 :                             {
   17639           14 :                               {
   17640           14 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   17641           14 :                                 if (!TYPE_SATURATING (type)
   17642           14 :  && (TYPE_OVERFLOW_WRAPS (type)
   17643            5 :  || !wi::only_sign_bit_p (wi::to_wide (captures[1])))
   17644           41 :  && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   17645              : )
   17646              :                                   {
   17647           11 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1826;
   17648           11 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1826;
   17649           11 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
   17650           11 :                                     {
   17651           11 :                                       tree _r;
   17652           11 :                                       _r = captures[2];
   17653           11 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   17654            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17655           11 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
   17656           11 :                                       return _r;
   17657              :                                     }
   17658            3 : next_after_fail1826:;
   17659              :                                   }
   17660              :                               }
   17661            3 :                               break;
   17662              :                             }
   17663              :                           default:;
   17664              :                           }
   17665              :                       }
   17666              :                     break;
   17667              :                   }
   17668           97 :                 case BIT_NOT_EXPR:
   17669           97 :                   {
   17670           97 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17671           97 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17672              :                       {
   17673           20 :                         switch (TREE_CODE (_p2))
   17674              :                           {
   17675           20 :                           case INTEGER_CST:
   17676           20 :                             {
   17677           20 :                               {
   17678           20 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   17679           20 :                                 if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   17680              : )
   17681              :                                   {
   17682           20 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1827;
   17683           20 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1827;
   17684           20 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1827;
   17685           20 :                                     {
   17686           20 :                                       tree _r;
   17687           20 :                                       _r = captures[2];
   17688           20 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   17689            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17690           20 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   17691           20 :                                       return _r;
   17692              :                                     }
   17693            0 : next_after_fail1827:;
   17694              :                                   }
   17695              :                               }
   17696            0 :                               break;
   17697              :                             }
   17698              :                           default:;
   17699              :                           }
   17700              :                       }
   17701              :                     break;
   17702              :                   }
   17703            5 :                 case ABS_EXPR:
   17704            5 :                   {
   17705            5 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17706            5 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17707              :                       {
   17708            1 :                         switch (TREE_CODE (_p2))
   17709              :                           {
   17710            1 :                           case INTEGER_CST:
   17711            1 :                             {
   17712            1 :                               {
   17713            1 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   17714            1 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   17715              : )
   17716              :                                   {
   17717            0 :                                     if (ABS_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   17718              : )
   17719              :                                       {
   17720            0 :                                         {
   17721            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   17722            0 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1828;
   17723            0 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1828;
   17724            0 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1828;
   17725            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1828;
   17726            0 :                                             {
   17727            0 :                                               tree res_op0;
   17728            0 :                                               {
   17729            0 :                                                 tree _o1[1], _r1;
   17730            0 :                                                 _o1[0] = captures[0];
   17731            0 :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   17732            0 :                                                 res_op0 = _r1;
   17733              :                                               }
   17734            0 :                                               tree _r;
   17735            0 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   17736            0 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   17737            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17738            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   17739            0 :                                               return _r;
   17740              :                                             }
   17741            1 : next_after_fail1828:;
   17742              :                                         }
   17743              :                                       }
   17744              :                                     else
   17745              :                                       {
   17746            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1829;
   17747            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1829;
   17748            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1829;
   17749            0 :                                         {
   17750            0 :                                           tree _r;
   17751            0 :                                           _r = captures[2];
   17752            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   17753            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17754            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   17755            0 :                                           return _r;
   17756              :                                         }
   17757            1 : next_after_fail1829:;
   17758              :                                       }
   17759              :                                   }
   17760              :                               }
   17761            1 :                               break;
   17762              :                             }
   17763              :                           default:;
   17764              :                           }
   17765              :                       }
   17766              :                     break;
   17767              :                   }
   17768            0 :                 case ABSU_EXPR:
   17769            0 :                   {
   17770            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17771            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17772              :                       {
   17773            0 :                         switch (TREE_CODE (_p2))
   17774              :                           {
   17775            0 :                           case INTEGER_CST:
   17776            0 :                             {
   17777            0 :                               {
   17778            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   17779            0 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   17780              : )
   17781              :                                   {
   17782            0 :                                     if (ABSU_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   17783              : )
   17784              :                                       {
   17785              :                                         {
   17786              :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   17787              :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1830;
   17788              :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1830;
   17789              :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1830;
   17790              :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1830;
   17791              :                                             {
   17792              :                                               tree res_op0;
   17793              :                                               {
   17794              :                                                 tree _o1[1], _r1;
   17795              :                                                 _o1[0] = captures[0];
   17796              :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   17797              :                                                 res_op0 = _r1;
   17798              :                                               }
   17799              :                                               tree _r;
   17800              :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   17801              :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   17802              :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17803              :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   17804              :                                               return _r;
   17805              :                                             }
   17806              : next_after_fail1830:;
   17807              :                                         }
   17808              :                                       }
   17809              :                                     else
   17810              :                                       {
   17811            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1831;
   17812            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1831;
   17813            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1831;
   17814            0 :                                         {
   17815            0 :                                           tree _r;
   17816            0 :                                           _r = captures[2];
   17817            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   17818            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17819            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   17820            0 :                                           return _r;
   17821              :                                         }
   17822            0 : next_after_fail1831:;
   17823              :                                       }
   17824              :                                   }
   17825              :                               }
   17826            0 :                               break;
   17827              :                             }
   17828              :                           default:;
   17829              :                           }
   17830              :                       }
   17831              :                     break;
   17832              :                   }
   17833              :                 default:;
   17834              :                 }
   17835              :               break;
   17836              :             }
   17837              :           default:;
   17838              :           }
   17839              :         break;
   17840              :       }
   17841      1223103 :     case INTEGER_CST:
   17842      1223103 :       {
   17843      1223103 :         {
   17844      1223103 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   17845      1223103 :           if (integer_zerop (captures[0])
   17846              : )
   17847              :             {
   17848       641345 :               if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
   17849              : )
   17850              :                 {
   17851       633133 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1832;
   17852       460810 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1832;
   17853       448396 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1832;
   17854       448396 :                   {
   17855       448396 :                     tree _r;
   17856       448396 :                     _r = captures[2];
   17857       448396 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   17858            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   17859       448396 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   17860       448396 :                     return _r;
   17861              :                   }
   17862       407826 : next_after_fail1832:;
   17863              :                 }
   17864              :             }
   17865              :           else
   17866              :             {
   17867       581758 :               if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
   17868              : )
   17869              :                 {
   17870       580766 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1833;
   17871       457170 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1833;
   17872       366881 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1833;
   17873       366881 :                   {
   17874       366881 :                     tree _r;
   17875       366881 :                     _r = captures[1];
   17876       366881 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   17877            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   17878       366881 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   17879       366881 :                     return _r;
   17880              :                   }
   17881       407826 : next_after_fail1833:;
   17882              :                 }
   17883              :             }
   17884              :         }
   17885       407826 :         break;
   17886              :       }
   17887     11598468 :     default:;
   17888              :     }
   17889     11598468 :   switch (TREE_CODE (_p1))
   17890              :     {
   17891       813107 :     case COND_EXPR:
   17892       813107 :       {
   17893       813107 :         tree _q30 = TREE_OPERAND (_p1, 0);
   17894       813107 :         tree _q31 = TREE_OPERAND (_p1, 1);
   17895       813107 :         tree _q32 = TREE_OPERAND (_p1, 2);
   17896       813107 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17897              :           {
   17898          609 :             {
   17899          609 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   17900          609 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1834;
   17901          609 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1834;
   17902           55 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1834;
   17903           54 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1834;
   17904           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1834;
   17905           10 :               {
   17906           10 :                 tree res_op0;
   17907           10 :                 res_op0 = captures[0];
   17908           10 :                 tree res_op1;
   17909           10 :                 res_op1 = captures[1];
   17910           10 :                 tree res_op2;
   17911           10 :                 res_op2 = captures[3];
   17912           10 :                 tree _r;
   17913           10 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   17914           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   17915           10 :                 return _r;
   17916              :               }
   17917          599 : next_after_fail1834:;
   17918              :             }
   17919              :           }
   17920              :         break;
   17921              :       }
   17922     11598458 :     default:;
   17923              :     }
   17924     11598458 :   switch (TREE_CODE (_p2))
   17925              :     {
   17926       855567 :     case COND_EXPR:
   17927       855567 :       {
   17928       855567 :         tree _q40 = TREE_OPERAND (_p2, 0);
   17929       855567 :         tree _q41 = TREE_OPERAND (_p2, 1);
   17930       855567 :         tree _q42 = TREE_OPERAND (_p2, 2);
   17931       855567 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17932              :           {
   17933         3762 :             {
   17934         3762 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   17935         3762 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1835;
   17936         3762 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1835;
   17937         3762 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1835;
   17938          184 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1835;
   17939          184 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1835;
   17940          184 :               {
   17941          184 :                 tree res_op0;
   17942          184 :                 res_op0 = captures[0];
   17943          184 :                 tree res_op1;
   17944          184 :                 res_op1 = captures[1];
   17945          184 :                 tree res_op2;
   17946          184 :                 res_op2 = captures[3];
   17947          184 :                 tree _r;
   17948          184 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   17949          184 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   17950          184 :                 return _r;
   17951              :               }
   17952         3578 : next_after_fail1835:;
   17953              :             }
   17954              :           }
   17955       855383 :         {
   17956       855383 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   17957       855383 :           if (inverse_conditions_p (captures[0], captures[2])
   17958              : )
   17959              :             {
   17960         1186 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1836;
   17961         1186 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1836;
   17962         1186 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1836;
   17963         1186 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1836;
   17964         1186 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1836;
   17965         1186 :               {
   17966         1186 :                 tree res_op0;
   17967         1186 :                 res_op0 = captures[0];
   17968         1186 :                 tree res_op1;
   17969         1186 :                 res_op1 = captures[1];
   17970         1186 :                 tree res_op2;
   17971         1186 :                 res_op2 = captures[3];
   17972         1186 :                 tree _r;
   17973         1186 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   17974         1186 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   17975         1186 :                 return _r;
   17976              :               }
   17977       854197 : next_after_fail1836:;
   17978              :             }
   17979              :         }
   17980       854197 :         break;
   17981              :       }
   17982     11597088 :     default:;
   17983              :     }
   17984     11597088 :   switch (TREE_CODE (_p1))
   17985              :     {
   17986       813097 :     case COND_EXPR:
   17987       813097 :       {
   17988       813097 :         tree _q30 = TREE_OPERAND (_p1, 0);
   17989       813097 :         tree _q31 = TREE_OPERAND (_p1, 1);
   17990       813097 :         tree _q32 = TREE_OPERAND (_p1, 2);
   17991       813097 :         {
   17992       813097 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   17993       813097 :           if (inverse_conditions_p (captures[0], captures[1])
   17994              : )
   17995              :             {
   17996          172 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1837;
   17997          172 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1837;
   17998            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1837;
   17999            2 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1837;
   18000            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1837;
   18001            2 :               {
   18002            2 :                 tree res_op0;
   18003            2 :                 res_op0 = captures[0];
   18004            2 :                 tree res_op1;
   18005            2 :                 res_op1 = captures[3];
   18006            2 :                 tree res_op2;
   18007            2 :                 res_op2 = captures[4];
   18008            2 :                 tree _r;
   18009            2 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18010            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   18011            2 :                 return _r;
   18012              :               }
   18013       813095 : next_after_fail1837:;
   18014              :             }
   18015              :         }
   18016       813095 :         break;
   18017              :       }
   18018     11597086 :     default:;
   18019              :     }
   18020     11597086 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   18021              :     {
   18022        50776 :       {
   18023        50776 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   18024        50776 :         if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1838;
   18025        50776 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1838;
   18026        50776 :         {
   18027        50776 :           tree _r;
   18028        50776 :           _r = captures[1];
   18029        50776 :           if (TREE_SIDE_EFFECTS (captures[0]))
   18030          357 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18031        50776 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   18032        50776 :           return _r;
   18033              :         }
   18034            0 : next_after_fail1838:;
   18035              :       }
   18036              :     }
   18037     11546310 :   switch (TREE_CODE (_p0))
   18038              :     {
   18039      1652564 :     case EQ_EXPR:
   18040      1652564 :       {
   18041      1652564 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18042      1652564 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18043      1652564 :         if (zerop (_q21))
   18044              :           {
   18045       755232 :             switch (TREE_CODE (_p2))
   18046              :               {
   18047           36 :               case NEGATE_EXPR:
   18048           36 :                 {
   18049           36 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18050           36 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18051              :                     {
   18052           16 :                       {
   18053           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18054           16 :                         const enum tree_code cmp = EQ_EXPR;
   18055           16 :                         if (!HONOR_SIGNED_ZEROS (type)
   18056           16 :  && bitwise_equal_p (captures[0], captures[1])
   18057              : )
   18058              :                           {
   18059            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1839;
   18060            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1839;
   18061            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1839;
   18062            0 :                             {
   18063            0 :                               tree _r;
   18064            0 :                               _r = captures[2];
   18065            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   18066            0 :                               return _r;
   18067              :                             }
   18068           16 : next_after_fail1839:;
   18069              :                           }
   18070              :                       }
   18071              :                     }
   18072              :                   break;
   18073              :                 }
   18074       755232 :               default:;
   18075              :               }
   18076       755232 :             if (zerop (_p1))
   18077              :               {
   18078        44304 :                 switch (TREE_CODE (_p2))
   18079              :                   {
   18080           14 :                   case NEGATE_EXPR:
   18081           14 :                     {
   18082           14 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18083           14 :                       {
   18084           14 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18085           14 :                         const enum tree_code cmp = EQ_EXPR;
   18086           14 :                         if (!HONOR_SIGNED_ZEROS (type)
   18087           14 :  && bitwise_equal_p (captures[0], captures[2])
   18088              : )
   18089              :                           {
   18090            7 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1840;
   18091            7 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1840;
   18092            7 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1840;
   18093            7 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1840;
   18094            7 :                             {
   18095            7 :                               tree _r;
   18096            7 :                               _r = captures[1];
   18097            7 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   18098            7 :                               return _r;
   18099              :                             }
   18100            7 : next_after_fail1840:;
   18101              :                           }
   18102              :                       }
   18103            7 :                       break;
   18104              :                     }
   18105              :                   default:;
   18106              :                   }
   18107              :               }
   18108              :           }
   18109      1652557 :         switch (TREE_CODE (_q20))
   18110              :           {
   18111           28 :           case MINUS_EXPR:
   18112           28 :             {
   18113           28 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18114           28 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18115           28 :               if (zerop (_q21))
   18116              :                 {
   18117            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18118              :                     {
   18119            0 :                       switch (TREE_CODE (_p2))
   18120              :                         {
   18121            0 :                         case MINUS_EXPR:
   18122            0 :                           {
   18123            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18124            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18125            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18126              :                               {
   18127            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18128              :                                   {
   18129            0 :                                     {
   18130            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18131            0 :                                       const enum tree_code cmp = EQ_EXPR;
   18132            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18133              : )
   18134              :                                         {
   18135            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1841;
   18136            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1841;
   18137            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1841;
   18138            0 :                                           {
   18139            0 :                                             tree _r;
   18140            0 :                                             _r = captures[3];
   18141            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18142            0 :                                             return _r;
   18143              :                                           }
   18144            0 : next_after_fail1841:;
   18145              :                                         }
   18146              :                                     }
   18147              :                                   }
   18148              :                               }
   18149              :                             break;
   18150              :                           }
   18151              :                         default:;
   18152              :                         }
   18153              :                     }
   18154              :                 }
   18155           28 :               if (integer_zerop (_q21))
   18156              :                 {
   18157            0 :                   if (integer_zerop (_p1))
   18158              :                     {
   18159            0 :                       switch (TREE_CODE (_p2))
   18160              :                         {
   18161            0 :                         case MINUS_EXPR:
   18162            0 :                           {
   18163            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18164            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18165            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18166              :                               {
   18167            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18168              :                                   {
   18169            0 :                                     {
   18170            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18171            0 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   18172            0 :                                       if (res) return res;
   18173              :                                     }
   18174              :                                   }
   18175              :                               }
   18176              :                             break;
   18177              :                           }
   18178              :                         default:;
   18179              :                         }
   18180              :                     }
   18181              :                 }
   18182              :               break;
   18183              :             }
   18184        59912 :           case CALL_EXPR:
   18185        59912 :             switch (get_call_combined_fn (_q20))
   18186              :               {
   18187            0 :               case CFN_BUILT_IN_SIGNBITF:
   18188            0 :                 if (call_expr_nargs (_q20) == 1)
   18189              :     {
   18190            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18191            0 :                     if (integer_zerop (_q21))
   18192              :                       {
   18193            0 :                         switch (TREE_CODE (_p1))
   18194              :                           {
   18195            0 :                           case NEGATE_EXPR:
   18196            0 :                             {
   18197            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18198            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18199              :                                 {
   18200            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18201              :                                     {
   18202            0 :                                       {
   18203            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18204            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITF);
   18205            0 :                                         if (res) return res;
   18206              :                                       }
   18207              :                                     }
   18208              :                                 }
   18209              :                               break;
   18210              :                             }
   18211              :                           default:;
   18212              :                           }
   18213              :                       }
   18214              :                   }
   18215              :                 break;
   18216            0 :               case CFN_BUILT_IN_SIGNBITL:
   18217            0 :                 if (call_expr_nargs (_q20) == 1)
   18218              :     {
   18219            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18220            0 :                     if (integer_zerop (_q21))
   18221              :                       {
   18222            0 :                         switch (TREE_CODE (_p1))
   18223              :                           {
   18224            0 :                           case NEGATE_EXPR:
   18225            0 :                             {
   18226            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18227            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18228              :                                 {
   18229            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18230              :                                     {
   18231            0 :                                       {
   18232            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18233            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITL);
   18234            0 :                                         if (res) return res;
   18235              :                                       }
   18236              :                                     }
   18237              :                                 }
   18238              :                               break;
   18239              :                             }
   18240              :                           default:;
   18241              :                           }
   18242              :                       }
   18243              :                   }
   18244              :                 break;
   18245            0 :               case CFN_SIGNBIT:
   18246            0 :                 if (call_expr_nargs (_q20) == 1)
   18247              :     {
   18248            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18249            0 :                     if (integer_zerop (_q21))
   18250              :                       {
   18251            0 :                         switch (TREE_CODE (_p1))
   18252              :                           {
   18253            0 :                           case NEGATE_EXPR:
   18254            0 :                             {
   18255            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18256            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18257              :                                 {
   18258            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18259              :                                     {
   18260            0 :                                       {
   18261            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18262            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_SIGNBIT);
   18263            0 :                                         if (res) return res;
   18264              :                                       }
   18265              :                                     }
   18266              :                                 }
   18267              :                               break;
   18268              :                             }
   18269              :                           default:;
   18270              :                           }
   18271              :                       }
   18272              :                   }
   18273              :                 break;
   18274          411 :               case CFN_BUILT_IN_SIGNBIT:
   18275          411 :                 if (call_expr_nargs (_q20) == 1)
   18276              :     {
   18277          411 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18278          411 :                     if (integer_zerop (_q21))
   18279              :                       {
   18280          411 :                         switch (TREE_CODE (_p1))
   18281              :                           {
   18282            3 :                           case NEGATE_EXPR:
   18283            3 :                             {
   18284            3 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18285            3 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18286              :                                 {
   18287            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18288              :                                     {
   18289            3 :                                       {
   18290            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18291            3 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBIT);
   18292            3 :                                         if (res) return res;
   18293              :                                       }
   18294              :                                     }
   18295              :                                 }
   18296              :                               break;
   18297              :                             }
   18298              :                           default:;
   18299              :                           }
   18300              :                       }
   18301              :                   }
   18302              :                 break;
   18303              :               default:;
   18304              :               }
   18305              :             break;
   18306              :           default:;
   18307              :           }
   18308              :         break;
   18309              :       }
   18310          164 :     case UNEQ_EXPR:
   18311          164 :       {
   18312          164 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18313          164 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18314          164 :         if (zerop (_q21))
   18315              :           {
   18316            1 :             switch (TREE_CODE (_p2))
   18317              :               {
   18318            0 :               case NEGATE_EXPR:
   18319            0 :                 {
   18320            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18321            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18322              :                     {
   18323            0 :                       {
   18324            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18325            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   18326            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   18327            0 :  && bitwise_equal_p (captures[0], captures[1])
   18328              : )
   18329              :                           {
   18330            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1842;
   18331            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1842;
   18332            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1842;
   18333            0 :                             {
   18334            0 :                               tree _r;
   18335            0 :                               _r = captures[2];
   18336            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   18337            0 :                               return _r;
   18338              :                             }
   18339            0 : next_after_fail1842:;
   18340              :                           }
   18341              :                       }
   18342              :                     }
   18343              :                   break;
   18344              :                 }
   18345            1 :               default:;
   18346              :               }
   18347            1 :             if (zerop (_p1))
   18348              :               {
   18349            0 :                 switch (TREE_CODE (_p2))
   18350              :                   {
   18351            0 :                   case NEGATE_EXPR:
   18352            0 :                     {
   18353            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18354            0 :                       {
   18355            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18356            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   18357            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   18358            0 :  && bitwise_equal_p (captures[0], captures[2])
   18359              : )
   18360              :                           {
   18361            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1843;
   18362            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1843;
   18363            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1843;
   18364            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1843;
   18365            0 :                             {
   18366            0 :                               tree _r;
   18367            0 :                               _r = captures[1];
   18368            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   18369            0 :                               return _r;
   18370              :                             }
   18371            0 : next_after_fail1843:;
   18372              :                           }
   18373              :                       }
   18374            0 :                       break;
   18375              :                     }
   18376              :                   default:;
   18377              :                   }
   18378              :               }
   18379              :           }
   18380          164 :         switch (TREE_CODE (_q20))
   18381              :           {
   18382            0 :           case MINUS_EXPR:
   18383            0 :             {
   18384            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18385            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18386            0 :               if (zerop (_q21))
   18387              :                 {
   18388            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18389              :                     {
   18390            0 :                       switch (TREE_CODE (_p2))
   18391              :                         {
   18392            0 :                         case MINUS_EXPR:
   18393            0 :                           {
   18394            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18395            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18396            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18397              :                               {
   18398            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18399              :                                   {
   18400            0 :                                     {
   18401            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18402            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   18403            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18404              : )
   18405              :                                         {
   18406            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1844;
   18407            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1844;
   18408            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1844;
   18409            0 :                                           {
   18410            0 :                                             tree _r;
   18411            0 :                                             _r = captures[3];
   18412            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18413            0 :                                             return _r;
   18414              :                                           }
   18415            0 : next_after_fail1844:;
   18416              :                                         }
   18417              :                                     }
   18418              :                                   }
   18419              :                               }
   18420              :                             break;
   18421              :                           }
   18422              :                         default:;
   18423              :                         }
   18424              :                     }
   18425              :                 }
   18426            0 :               if (integer_zerop (_q21))
   18427              :                 {
   18428            0 :                   if (integer_zerop (_p1))
   18429              :                     {
   18430            0 :                       switch (TREE_CODE (_p2))
   18431              :                         {
   18432            0 :                         case MINUS_EXPR:
   18433            0 :                           {
   18434            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18435            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18436            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18437              :                               {
   18438            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18439              :                                   {
   18440            0 :                                     {
   18441            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18442            0 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   18443            0 :                                       if (res) return res;
   18444              :                                     }
   18445              :                                   }
   18446              :                               }
   18447              :                             break;
   18448              :                           }
   18449              :                         default:;
   18450              :                         }
   18451              :                     }
   18452              :                 }
   18453              :               break;
   18454              :             }
   18455              :           default:;
   18456              :           }
   18457              :         break;
   18458              :       }
   18459      2803046 :     case NE_EXPR:
   18460      2803046 :       {
   18461      2803046 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18462      2803046 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18463      2803046 :         if (zerop (_q21))
   18464              :           {
   18465      1923614 :             switch (TREE_CODE (_p2))
   18466              :               {
   18467           50 :               case NEGATE_EXPR:
   18468           50 :                 {
   18469           50 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18470           50 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18471              :                     {
   18472           10 :                       {
   18473           10 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   18474           10 :                         const enum tree_code cmp = NE_EXPR;
   18475           10 :                         if (!HONOR_SIGNED_ZEROS (type)
   18476           10 :  && bitwise_equal_p (captures[0], captures[1])
   18477              : )
   18478              :                           {
   18479            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1845;
   18480            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1845;
   18481            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1845;
   18482            0 :                             {
   18483            0 :                               tree _r;
   18484            0 :                               _r = captures[1];
   18485            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   18486            0 :                               return _r;
   18487              :                             }
   18488           10 : next_after_fail1845:;
   18489              :                           }
   18490              :                       }
   18491              :                     }
   18492              :                   break;
   18493              :                 }
   18494      1923614 :               default:;
   18495              :               }
   18496      1923614 :           if (integer_zerop (_p2))
   18497              :             {
   18498       327706 :               {
   18499       327706 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   18500       327706 :                 const enum tree_code cmp = NE_EXPR;
   18501       327706 :                 if (!HONOR_SIGNED_ZEROS (type)
   18502       327706 :  && bitwise_equal_p (captures[0], captures[1])
   18503              : )
   18504              :                   {
   18505          530 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1846;
   18506          498 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1846;
   18507          498 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1846;
   18508          498 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1846;
   18509          498 :                     {
   18510          498 :                       tree _r;
   18511          498 :                       _r = captures[1];
   18512          498 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   18513          498 :                       return _r;
   18514              :                     }
   18515       327208 : next_after_fail1846:;
   18516              :                   }
   18517              :               }
   18518              :             }
   18519              :           }
   18520      2802548 :         switch (TREE_CODE (_q20))
   18521              :           {
   18522          562 :           case MINUS_EXPR:
   18523          562 :             {
   18524          562 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18525          562 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18526          562 :               if (zerop (_q21))
   18527              :                 {
   18528           76 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18529              :                     {
   18530            0 :                       switch (TREE_CODE (_p2))
   18531              :                         {
   18532            0 :                         case MINUS_EXPR:
   18533            0 :                           {
   18534            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18535            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18536            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18537              :                               {
   18538            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18539              :                                   {
   18540            0 :                                     {
   18541            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   18542            0 :                                       const enum tree_code cmp = NE_EXPR;
   18543            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18544              : )
   18545              :                                         {
   18546            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1847;
   18547            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1847;
   18548            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1847;
   18549            0 :                                           {
   18550            0 :                                             tree _r;
   18551            0 :                                             _r = captures[0];
   18552            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   18553            0 :                                             return _r;
   18554              :                                           }
   18555            0 : next_after_fail1847:;
   18556              :                                         }
   18557              :                                     }
   18558              :                                   }
   18559              :                               }
   18560              :                             break;
   18561              :                           }
   18562              :                         default:;
   18563              :                         }
   18564              :                     }
   18565              :                 }
   18566          562 :               if (integer_zerop (_q21))
   18567              :                 {
   18568           25 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18569              :                     {
   18570            0 :                       if (integer_zerop (_p2))
   18571              :                         {
   18572            0 :                           {
   18573            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   18574            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18575            0 :                             if (res) return res;
   18576              :                           }
   18577              :                         }
   18578              :                     }
   18579              :                 }
   18580              :               break;
   18581              :             }
   18582       275063 :           case BIT_AND_EXPR:
   18583       275063 :             {
   18584       275063 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18585       275063 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18586       275063 :               if (integer_pow2p (_q31))
   18587              :                 {
   18588       202770 :                   if (integer_zerop (_q21))
   18589              :                     {
   18590       202770 :                       switch (TREE_CODE (_p1))
   18591              :                         {
   18592         2327 :                         case INTEGER_CST:
   18593         2327 :                           {
   18594         2327 :                             if (integer_zerop (_p2))
   18595              :                               {
   18596         1404 :                                 {
   18597         1404 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   18598         1404 :                                   if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
   18599              : )
   18600              :                                     {
   18601          652 :                                       {
   18602          652 :  int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
   18603          652 :  - wi::exact_log2 (wi::to_wide (captures[1])));
   18604          652 :                                           if (shift > 0
   18605              : )
   18606              :                                             {
   18607          377 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1848;
   18608          377 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1848;
   18609          377 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1848;
   18610          377 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1848;
   18611          377 :                                               {
   18612          377 :                                                 tree res_op0;
   18613          377 :                                                 {
   18614          377 :                                                   tree _o1[2], _r1;
   18615          377 :                                                   {
   18616          377 :                                                     tree _o2[1], _r2;
   18617          377 :                                                     _o2[0] = captures[0];
   18618          377 :                                                     if (TREE_TYPE (_o2[0]) != type)
   18619              :                                                       {
   18620          374 :                                                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
   18621              :                                                       }
   18622              :                                                     else
   18623              :                                                       _r2 = _o2[0];
   18624          377 :                                                     _o1[0] = _r2;
   18625              :                                                   }
   18626          377 :                                                   _o1[1] =  build_int_cst (integer_type_node, shift);
   18627          377 :                                                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18628          377 :                                                   res_op0 = _r1;
   18629              :                                                 }
   18630          377 :                                                 tree res_op1;
   18631          377 :                                                 res_op1 = captures[2];
   18632          377 :                                                 tree _r;
   18633          377 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   18634          377 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   18635          652 :                                                 return _r;
   18636              :                                               }
   18637              : next_after_fail1848:;
   18638              :                                             }
   18639              :                                           else
   18640              :                                             {
   18641          275 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1849;
   18642          275 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1849;
   18643          275 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1849;
   18644          275 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1849;
   18645          275 :                                               {
   18646          275 :                                                 tree res_op0;
   18647          275 :                                                 {
   18648          275 :                                                   tree _o1[1], _r1;
   18649          275 :                                                   {
   18650          275 :                                                     tree _o2[2], _r2;
   18651          275 :                                                     _o2[0] = captures[0];
   18652          275 :                                                     _o2[1] =  build_int_cst (integer_type_node, -shift);
   18653          275 :                                                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   18654          275 :                                                     _o1[0] = _r2;
   18655              :                                                   }
   18656          275 :                                                   if (TREE_TYPE (_o1[0]) != type)
   18657              :                                                     {
   18658          139 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   18659              :                                                     }
   18660              :                                                   else
   18661              :                                                     _r1 = _o1[0];
   18662          275 :                                                   res_op0 = _r1;
   18663              :                                                 }
   18664          275 :                                                 tree res_op1;
   18665          275 :                                                 res_op1 = captures[2];
   18666          275 :                                                 tree _r;
   18667          275 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   18668          275 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   18669          275 :                                                 return _r;
   18670              :                                               }
   18671              : next_after_fail1849:;
   18672              :                                             }
   18673              :                                       }
   18674              :                                     }
   18675              :                                 }
   18676              :                               }
   18677              :                             break;
   18678              :                           }
   18679              :                         default:;
   18680              :                         }
   18681              :                     }
   18682              :                 }
   18683              :               break;
   18684              :             }
   18685       317638 :           case CALL_EXPR:
   18686       317638 :             switch (get_call_combined_fn (_q20))
   18687              :               {
   18688           30 :               case CFN_BUILT_IN_SIGNBITF:
   18689           30 :                 if (call_expr_nargs (_q20) == 1)
   18690              :     {
   18691           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18692           30 :                     if (integer_zerop (_q21))
   18693              :                       {
   18694           30 :                         switch (TREE_CODE (_p1))
   18695              :                           {
   18696            0 :                           case NEGATE_EXPR:
   18697            0 :                             {
   18698            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18699            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18700              :                                 {
   18701            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18702              :                                     {
   18703            0 :                                       {
   18704            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18705            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITF);
   18706            0 :                                         if (res) return res;
   18707              :                                       }
   18708              :                                     }
   18709              :                                 }
   18710              :                               break;
   18711              :                             }
   18712              :                           default:;
   18713              :                           }
   18714              :                       }
   18715              :                   }
   18716              :                 break;
   18717           30 :               case CFN_BUILT_IN_SIGNBITL:
   18718           30 :                 if (call_expr_nargs (_q20) == 1)
   18719              :     {
   18720           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18721           30 :                     if (integer_zerop (_q21))
   18722              :                       {
   18723           30 :                         switch (TREE_CODE (_p1))
   18724              :                           {
   18725            0 :                           case NEGATE_EXPR:
   18726            0 :                             {
   18727            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18728            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18729              :                                 {
   18730            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18731              :                                     {
   18732            0 :                                       {
   18733            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18734            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITL);
   18735            0 :                                         if (res) return res;
   18736              :                                       }
   18737              :                                     }
   18738              :                                 }
   18739              :                               break;
   18740              :                             }
   18741              :                           default:;
   18742              :                           }
   18743              :                       }
   18744              :                   }
   18745              :                 break;
   18746            0 :               case CFN_SIGNBIT:
   18747            0 :                 if (call_expr_nargs (_q20) == 1)
   18748              :     {
   18749            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18750            0 :                     if (integer_zerop (_q21))
   18751              :                       {
   18752            0 :                         switch (TREE_CODE (_p1))
   18753              :                           {
   18754            0 :                           case NEGATE_EXPR:
   18755            0 :                             {
   18756            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18757            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18758              :                                 {
   18759            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18760              :                                     {
   18761            0 :                                       {
   18762            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18763            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_SIGNBIT);
   18764            0 :                                         if (res) return res;
   18765              :                                       }
   18766              :                                     }
   18767              :                                 }
   18768              :                               break;
   18769              :                             }
   18770              :                           default:;
   18771              :                           }
   18772              :                       }
   18773              :                   }
   18774              :                 break;
   18775         2896 :               case CFN_BUILT_IN_SIGNBIT:
   18776         2896 :                 if (call_expr_nargs (_q20) == 1)
   18777              :     {
   18778         2896 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18779         2896 :                     if (integer_zerop (_q21))
   18780              :                       {
   18781         2896 :                         switch (TREE_CODE (_p1))
   18782              :                           {
   18783            4 :                           case NEGATE_EXPR:
   18784            4 :                             {
   18785            4 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18786            4 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18787              :                                 {
   18788            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18789              :                                     {
   18790            3 :                                       {
   18791            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18792            3 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBIT);
   18793            3 :                                         if (res) return res;
   18794              :                                       }
   18795              :                                     }
   18796              :                                 }
   18797              :                               break;
   18798              :                             }
   18799              :                           default:;
   18800              :                           }
   18801              :                       }
   18802              :                   }
   18803              :                 break;
   18804              :               default:;
   18805              :               }
   18806              :             break;
   18807      2801893 :           default:;
   18808              :           }
   18809      2801893 :         if (integer_zerop (_q21))
   18810              :           {
   18811      1852741 :             switch (TREE_CODE (_p1))
   18812              :               {
   18813        95162 :               case PLUS_EXPR:
   18814        95162 :                 {
   18815        95162 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   18816        95162 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   18817        95162 :                   {
   18818        95162 :                     tree _q50_pops[1];
   18819        95162 :                     if (tree_nop_convert (_q50, _q50_pops))
   18820              :                       {
   18821        11556 :                         tree _q60 = _q50_pops[0];
   18822        11556 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18823              :                           {
   18824         1650 :                             if (integer_all_onesp (_q51))
   18825              :                               {
   18826         1650 :                                 if (integer_zerop (_p2))
   18827              :                                   {
   18828         1644 :                                     {
   18829         1644 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   18830         1644 :                                       tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures);
   18831         1644 :                                       if (res) return res;
   18832              :                                     }
   18833              :                                   }
   18834              :                               }
   18835              :                           }
   18836              :                       }
   18837              :                   }
   18838        93518 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18839              :                     {
   18840         2028 :                       if (integer_all_onesp (_q51))
   18841              :                         {
   18842         1993 :                           if (integer_zerop (_p2))
   18843              :                             {
   18844         1985 :                               {
   18845         1985 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   18846         1985 :                                 tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures);
   18847         1985 :                                 if (res) return res;
   18848              :                               }
   18849              :                             }
   18850              :                         }
   18851              :                     }
   18852              :                   break;
   18853              :                 }
   18854       568055 :               case CALL_EXPR:
   18855       568055 :                 switch (get_call_combined_fn (_p1))
   18856              :                   {
   18857            0 :                   case CFN_PARITY:
   18858            0 :                     if (call_expr_nargs (_p1) == 1)
   18859              :     {
   18860            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18861            0 :                         switch (TREE_CODE (_q50))
   18862              :                           {
   18863            0 :                           CASE_CONVERT:
   18864            0 :                             {
   18865            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18866            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18867              :                                 {
   18868            0 :                                   if (integer_zerop (_p2))
   18869              :                                     {
   18870            0 :                                       {
   18871            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18872            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   18873            0 :                                         if (res) return res;
   18874              :                                       }
   18875              :                                     }
   18876              :                                 }
   18877              :                               break;
   18878              :                             }
   18879            0 :                           default:;
   18880              :                           }
   18881            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18882              :                           {
   18883            0 :                             if (integer_zerop (_p2))
   18884              :                               {
   18885            0 :                                 {
   18886            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18887            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   18888            0 :                                   if (res) return res;
   18889              :                                 }
   18890              :                               }
   18891              :                           }
   18892              :                       }
   18893              :                     break;
   18894            7 :                   case CFN_BUILT_IN_FFS:
   18895            7 :                     if (call_expr_nargs (_p1) == 1)
   18896              :     {
   18897            7 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18898            7 :                         switch (TREE_CODE (_q50))
   18899              :                           {
   18900            0 :                           CASE_CONVERT:
   18901            0 :                             {
   18902            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18903            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18904              :                                 {
   18905            0 :                                   if (integer_zerop (_p2))
   18906              :                                     {
   18907            0 :                                       {
   18908            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18909            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   18910            0 :                                         if (res) return res;
   18911              :                                       }
   18912              :                                     }
   18913              :                                 }
   18914              :                               break;
   18915              :                             }
   18916            7 :                           default:;
   18917              :                           }
   18918            7 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18919              :                           {
   18920            0 :                             if (integer_zerop (_p2))
   18921              :                               {
   18922            0 :                                 {
   18923            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18924            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   18925            0 :                                   if (res) return res;
   18926              :                                 }
   18927              :                               }
   18928              :                           }
   18929              :                       }
   18930              :                     break;
   18931            0 :                   case CFN_BUILT_IN_FFSIMAX:
   18932            0 :                     if (call_expr_nargs (_p1) == 1)
   18933              :     {
   18934            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18935            0 :                         switch (TREE_CODE (_q50))
   18936              :                           {
   18937            0 :                           CASE_CONVERT:
   18938            0 :                             {
   18939            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18940            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18941              :                                 {
   18942            0 :                                   if (integer_zerop (_p2))
   18943              :                                     {
   18944            0 :                                       {
   18945            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18946            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   18947            0 :                                         if (res) return res;
   18948              :                                       }
   18949              :                                     }
   18950              :                                 }
   18951              :                               break;
   18952              :                             }
   18953            0 :                           default:;
   18954              :                           }
   18955            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18956              :                           {
   18957            0 :                             if (integer_zerop (_p2))
   18958              :                               {
   18959            0 :                                 {
   18960            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18961            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   18962            0 :                                   if (res) return res;
   18963              :                                 }
   18964              :                               }
   18965              :                           }
   18966              :                       }
   18967              :                     break;
   18968            2 :                   case CFN_BUILT_IN_POPCOUNT:
   18969            2 :                     if (call_expr_nargs (_p1) == 1)
   18970              :     {
   18971            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18972            2 :                         switch (TREE_CODE (_q50))
   18973              :                           {
   18974            1 :                           CASE_CONVERT:
   18975            1 :                             {
   18976            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18977            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18978              :                                 {
   18979            1 :                                   if (integer_zerop (_p2))
   18980              :                                     {
   18981            1 :                                       {
   18982            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18983            1 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   18984            1 :                                         if (res) return res;
   18985              :                                       }
   18986              :                                     }
   18987              :                                 }
   18988              :                               break;
   18989              :                             }
   18990            1 :                           default:;
   18991              :                           }
   18992            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18993              :                           {
   18994            0 :                             if (integer_zerop (_p2))
   18995              :                               {
   18996            0 :                                 {
   18997            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18998            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   18999            0 :                                   if (res) return res;
   19000              :                                 }
   19001              :                               }
   19002              :                           }
   19003              :                       }
   19004              :                     break;
   19005            2 :                   case CFN_BUILT_IN_PARITYL:
   19006            2 :                     if (call_expr_nargs (_p1) == 1)
   19007              :     {
   19008            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19009            2 :                         switch (TREE_CODE (_q50))
   19010              :                           {
   19011            1 :                           CASE_CONVERT:
   19012            1 :                             {
   19013            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19014            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19015              :                                 {
   19016            1 :                                   if (integer_zerop (_p2))
   19017              :                                     {
   19018            1 :                                       {
   19019            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19020            1 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19021            1 :                                         if (res) return res;
   19022              :                                       }
   19023              :                                     }
   19024              :                                 }
   19025              :                               break;
   19026              :                             }
   19027            1 :                           default:;
   19028              :                           }
   19029            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19030              :                           {
   19031            0 :                             if (integer_zerop (_p2))
   19032              :                               {
   19033            0 :                                 {
   19034            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19035            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19036            0 :                                   if (res) return res;
   19037              :                                 }
   19038              :                               }
   19039              :                           }
   19040              :                       }
   19041              :                     break;
   19042           16 :                   case CFN_BUILT_IN_FFSL:
   19043           16 :                     if (call_expr_nargs (_p1) == 1)
   19044              :     {
   19045           16 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19046           16 :                         switch (TREE_CODE (_q50))
   19047              :                           {
   19048           16 :                           CASE_CONVERT:
   19049           16 :                             {
   19050           16 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19051           16 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19052              :                                 {
   19053            0 :                                   if (integer_zerop (_p2))
   19054              :                                     {
   19055            0 :                                       {
   19056            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19057            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19058            0 :                                         if (res) return res;
   19059              :                                       }
   19060              :                                     }
   19061              :                                 }
   19062              :                               break;
   19063              :                             }
   19064           16 :                           default:;
   19065              :                           }
   19066           16 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19067              :                           {
   19068            0 :                             if (integer_zerop (_p2))
   19069              :                               {
   19070            0 :                                 {
   19071            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19072            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19073            0 :                                   if (res) return res;
   19074              :                                 }
   19075              :                               }
   19076              :                           }
   19077              :                       }
   19078              :                     break;
   19079            2 :                   case CFN_BUILT_IN_POPCOUNTLL:
   19080            2 :                     if (call_expr_nargs (_p1) == 1)
   19081              :     {
   19082            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19083            2 :                         switch (TREE_CODE (_q50))
   19084              :                           {
   19085            1 :                           CASE_CONVERT:
   19086            1 :                             {
   19087            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19088            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19089              :                                 {
   19090            1 :                                   if (integer_zerop (_p2))
   19091              :                                     {
   19092            1 :                                       {
   19093            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19094            1 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19095            1 :                                         if (res) return res;
   19096              :                                       }
   19097              :                                     }
   19098              :                                 }
   19099              :                               break;
   19100              :                             }
   19101            1 :                           default:;
   19102              :                           }
   19103            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19104              :                           {
   19105            0 :                             if (integer_zerop (_p2))
   19106              :                               {
   19107            0 :                                 {
   19108            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19109            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19110            0 :                                   if (res) return res;
   19111              :                                 }
   19112              :                               }
   19113              :                           }
   19114              :                       }
   19115              :                     break;
   19116            0 :                   case CFN_POPCOUNT:
   19117            0 :                     if (call_expr_nargs (_p1) == 1)
   19118              :     {
   19119            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19120            0 :                         switch (TREE_CODE (_q50))
   19121              :                           {
   19122            0 :                           CASE_CONVERT:
   19123            0 :                             {
   19124            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19125            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19126              :                                 {
   19127            0 :                                   if (integer_zerop (_p2))
   19128              :                                     {
   19129            0 :                                       {
   19130            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19131            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19132            0 :                                         if (res) return res;
   19133              :                                       }
   19134              :                                     }
   19135              :                                 }
   19136              :                               break;
   19137              :                             }
   19138            0 :                           default:;
   19139              :                           }
   19140            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19141              :                           {
   19142            0 :                             if (integer_zerop (_p2))
   19143              :                               {
   19144            0 :                                 {
   19145            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19146            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19147            0 :                                   if (res) return res;
   19148              :                                 }
   19149              :                               }
   19150              :                           }
   19151              :                       }
   19152              :                     break;
   19153            0 :                   case CFN_BUILT_IN_PARITYIMAX:
   19154            0 :                     if (call_expr_nargs (_p1) == 1)
   19155              :     {
   19156            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19157            0 :                         switch (TREE_CODE (_q50))
   19158              :                           {
   19159            0 :                           CASE_CONVERT:
   19160            0 :                             {
   19161            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19162            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19163              :                                 {
   19164            0 :                                   if (integer_zerop (_p2))
   19165              :                                     {
   19166            0 :                                       {
   19167            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19168            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19169            0 :                                         if (res) return res;
   19170              :                                       }
   19171              :                                     }
   19172              :                                 }
   19173              :                               break;
   19174              :                             }
   19175            0 :                           default:;
   19176              :                           }
   19177            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19178              :                           {
   19179            0 :                             if (integer_zerop (_p2))
   19180              :                               {
   19181            0 :                                 {
   19182            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19183            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19184            0 :                                   if (res) return res;
   19185              :                                 }
   19186              :                               }
   19187              :                           }
   19188              :                       }
   19189              :                     break;
   19190            2 :                   case CFN_BUILT_IN_CLRSBL:
   19191            2 :                     if (call_expr_nargs (_p1) == 1)
   19192              :     {
   19193            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19194            2 :                         switch (TREE_CODE (_q50))
   19195              :                           {
   19196            0 :                           CASE_CONVERT:
   19197            0 :                             {
   19198            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19199            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19200              :                                 {
   19201            0 :                                   switch (TREE_CODE (_p2))
   19202              :                                     {
   19203            0 :                                     case INTEGER_CST:
   19204            0 :                                       {
   19205            0 :                                         {
   19206            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19207            0 :                                           tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19208            0 :                                           if (res) return res;
   19209              :                                         }
   19210            0 :                                         break;
   19211              :                                       }
   19212              :                                     default:;
   19213              :                                     }
   19214              :                                 }
   19215              :                               break;
   19216              :                             }
   19217            2 :                           default:;
   19218              :                           }
   19219            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19220              :                           {
   19221            1 :                             switch (TREE_CODE (_p2))
   19222              :                               {
   19223            1 :                               case INTEGER_CST:
   19224            1 :                                 {
   19225            1 :                                   {
   19226            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19227            1 :                                     tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19228            1 :                                     if (res) return res;
   19229              :                                   }
   19230            0 :                                   break;
   19231              :                                 }
   19232              :                               default:;
   19233              :                               }
   19234              :                           }
   19235              :                       }
   19236              :                     break;
   19237            0 :                   case CFN_FFS:
   19238            0 :                     if (call_expr_nargs (_p1) == 1)
   19239              :     {
   19240            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19241            0 :                         switch (TREE_CODE (_q50))
   19242              :                           {
   19243            0 :                           CASE_CONVERT:
   19244            0 :                             {
   19245            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19246            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19247              :                                 {
   19248            0 :                                   if (integer_zerop (_p2))
   19249              :                                     {
   19250            0 :                                       {
   19251            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19252            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19253            0 :                                         if (res) return res;
   19254              :                                       }
   19255              :                                     }
   19256              :                                 }
   19257              :                               break;
   19258              :                             }
   19259            0 :                           default:;
   19260              :                           }
   19261            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19262              :                           {
   19263            0 :                             if (integer_zerop (_p2))
   19264              :                               {
   19265            0 :                                 {
   19266            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19267            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19268            0 :                                   if (res) return res;
   19269              :                                 }
   19270              :                               }
   19271              :                           }
   19272              :                       }
   19273              :                     break;
   19274            2 :                   case CFN_BUILT_IN_PARITY:
   19275            2 :                     if (call_expr_nargs (_p1) == 1)
   19276              :     {
   19277            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19278            2 :                         switch (TREE_CODE (_q50))
   19279              :                           {
   19280            1 :                           CASE_CONVERT:
   19281            1 :                             {
   19282            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19283            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19284              :                                 {
   19285            1 :                                   if (integer_zerop (_p2))
   19286              :                                     {
   19287            1 :                                       {
   19288            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19289            1 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19290            1 :                                         if (res) return res;
   19291              :                                       }
   19292              :                                     }
   19293              :                                 }
   19294              :                               break;
   19295              :                             }
   19296            1 :                           default:;
   19297              :                           }
   19298            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19299              :                           {
   19300            0 :                             if (integer_zerop (_p2))
   19301              :                               {
   19302            0 :                                 {
   19303            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19304            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19305            0 :                                   if (res) return res;
   19306              :                                 }
   19307              :                               }
   19308              :                           }
   19309              :                       }
   19310              :                     break;
   19311            0 :                   case CFN_BUILT_IN_POPCOUNTIMAX:
   19312            0 :                     if (call_expr_nargs (_p1) == 1)
   19313              :     {
   19314            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19315            0 :                         switch (TREE_CODE (_q50))
   19316              :                           {
   19317            0 :                           CASE_CONVERT:
   19318            0 :                             {
   19319            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19320            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19321              :                                 {
   19322            0 :                                   if (integer_zerop (_p2))
   19323              :                                     {
   19324            0 :                                       {
   19325            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19326            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19327            0 :                                         if (res) return res;
   19328              :                                       }
   19329              :                                     }
   19330              :                                 }
   19331              :                               break;
   19332              :                             }
   19333            0 :                           default:;
   19334              :                           }
   19335            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19336              :                           {
   19337            0 :                             if (integer_zerop (_p2))
   19338              :                               {
   19339            0 :                                 {
   19340            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19341            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19342            0 :                                   if (res) return res;
   19343              :                                 }
   19344              :                               }
   19345              :                           }
   19346              :                       }
   19347              :                     break;
   19348            0 :                   case CFN_BUILT_IN_CLRSBIMAX:
   19349            0 :                     if (call_expr_nargs (_p1) == 1)
   19350              :     {
   19351            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19352            0 :                         switch (TREE_CODE (_q50))
   19353              :                           {
   19354            0 :                           CASE_CONVERT:
   19355            0 :                             {
   19356            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19357            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19358              :                                 {
   19359            0 :                                   switch (TREE_CODE (_p2))
   19360              :                                     {
   19361            0 :                                     case INTEGER_CST:
   19362            0 :                                       {
   19363            0 :                                         {
   19364            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19365            0 :                                           tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19366            0 :                                           if (res) return res;
   19367              :                                         }
   19368            0 :                                         break;
   19369              :                                       }
   19370              :                                     default:;
   19371              :                                     }
   19372              :                                 }
   19373              :                               break;
   19374              :                             }
   19375            0 :                           default:;
   19376              :                           }
   19377            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19378              :                           {
   19379            0 :                             switch (TREE_CODE (_p2))
   19380              :                               {
   19381            0 :                               case INTEGER_CST:
   19382            0 :                                 {
   19383            0 :                                   {
   19384            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19385            0 :                                     tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19386            0 :                                     if (res) return res;
   19387              :                                   }
   19388            0 :                                   break;
   19389              :                                 }
   19390              :                               default:;
   19391              :                               }
   19392              :                           }
   19393              :                       }
   19394              :                     break;
   19395            2 :                   case CFN_BUILT_IN_CLRSBLL:
   19396            2 :                     if (call_expr_nargs (_p1) == 1)
   19397              :     {
   19398            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19399            2 :                         switch (TREE_CODE (_q50))
   19400              :                           {
   19401            0 :                           CASE_CONVERT:
   19402            0 :                             {
   19403            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19404            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19405              :                                 {
   19406            0 :                                   switch (TREE_CODE (_p2))
   19407              :                                     {
   19408            0 :                                     case INTEGER_CST:
   19409            0 :                                       {
   19410            0 :                                         {
   19411            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19412            0 :                                           tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   19413            0 :                                           if (res) return res;
   19414              :                                         }
   19415            0 :                                         break;
   19416              :                                       }
   19417              :                                     default:;
   19418              :                                     }
   19419              :                                 }
   19420              :                               break;
   19421              :                             }
   19422            2 :                           default:;
   19423              :                           }
   19424            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19425              :                           {
   19426            1 :                             switch (TREE_CODE (_p2))
   19427              :                               {
   19428            1 :                               case INTEGER_CST:
   19429            1 :                                 {
   19430            1 :                                   {
   19431            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19432            1 :                                     tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   19433            1 :                                     if (res) return res;
   19434              :                                   }
   19435            0 :                                   break;
   19436              :                                 }
   19437              :                               default:;
   19438              :                               }
   19439              :                           }
   19440              :                       }
   19441              :                     break;
   19442            0 :                   case CFN_CLRSB:
   19443            0 :                     if (call_expr_nargs (_p1) == 1)
   19444              :     {
   19445            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19446            0 :                         switch (TREE_CODE (_q50))
   19447              :                           {
   19448            0 :                           CASE_CONVERT:
   19449            0 :                             {
   19450            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19451            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19452              :                                 {
   19453            0 :                                   switch (TREE_CODE (_p2))
   19454              :                                     {
   19455            0 :                                     case INTEGER_CST:
   19456            0 :                                       {
   19457            0 :                                         {
   19458            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19459            0 :                                           tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   19460            0 :                                           if (res) return res;
   19461              :                                         }
   19462            0 :                                         break;
   19463              :                                       }
   19464              :                                     default:;
   19465              :                                     }
   19466              :                                 }
   19467              :                               break;
   19468              :                             }
   19469            0 :                           default:;
   19470              :                           }
   19471            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19472              :                           {
   19473            0 :                             switch (TREE_CODE (_p2))
   19474              :                               {
   19475            0 :                               case INTEGER_CST:
   19476            0 :                                 {
   19477            0 :                                   {
   19478            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19479            0 :                                     tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   19480            0 :                                     if (res) return res;
   19481              :                                   }
   19482            0 :                                   break;
   19483              :                                 }
   19484              :                               default:;
   19485              :                               }
   19486              :                           }
   19487              :                       }
   19488              :                     break;
   19489            0 :                   case CFN_BUILT_IN_BSWAP128:
   19490            0 :                     if (call_expr_nargs (_p1) == 1)
   19491              :     {
   19492            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19493            0 :                         switch (TREE_CODE (_q50))
   19494              :                           {
   19495            0 :                           CASE_CONVERT:
   19496            0 :                             {
   19497            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19498            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19499              :                                 {
   19500            0 :                                   if (integer_zerop (_p2))
   19501              :                                     {
   19502            0 :                                       {
   19503            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19504            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   19505            0 :                                         if (res) return res;
   19506              :                                       }
   19507              :                                     }
   19508              :                                 }
   19509              :                               break;
   19510              :                             }
   19511            0 :                           default:;
   19512              :                           }
   19513            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19514              :                           {
   19515            0 :                             if (integer_zerop (_p2))
   19516              :                               {
   19517            0 :                                 {
   19518            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19519            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   19520            0 :                                   if (res) return res;
   19521              :                                 }
   19522              :                               }
   19523              :                           }
   19524              :                       }
   19525              :                     break;
   19526            2 :                   case CFN_BUILT_IN_POPCOUNTL:
   19527            2 :                     if (call_expr_nargs (_p1) == 1)
   19528              :     {
   19529            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19530            2 :                         switch (TREE_CODE (_q50))
   19531              :                           {
   19532            1 :                           CASE_CONVERT:
   19533            1 :                             {
   19534            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19535            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19536              :                                 {
   19537            1 :                                   if (integer_zerop (_p2))
   19538              :                                     {
   19539            1 :                                       {
   19540            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19541            1 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   19542            1 :                                         if (res) return res;
   19543              :                                       }
   19544              :                                     }
   19545              :                                 }
   19546              :                               break;
   19547              :                             }
   19548            1 :                           default:;
   19549              :                           }
   19550            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19551              :                           {
   19552            0 :                             if (integer_zerop (_p2))
   19553              :                               {
   19554            0 :                                 {
   19555            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19556            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   19557            0 :                                   if (res) return res;
   19558              :                                 }
   19559              :                               }
   19560              :                           }
   19561              :                       }
   19562              :                     break;
   19563            2 :                   case CFN_BUILT_IN_CLRSB:
   19564            2 :                     if (call_expr_nargs (_p1) == 1)
   19565              :     {
   19566            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19567            2 :                         switch (TREE_CODE (_q50))
   19568              :                           {
   19569            0 :                           CASE_CONVERT:
   19570            0 :                             {
   19571            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19572            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19573              :                                 {
   19574            0 :                                   switch (TREE_CODE (_p2))
   19575              :                                     {
   19576            0 :                                     case INTEGER_CST:
   19577            0 :                                       {
   19578            0 :                                         {
   19579            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19580            0 :                                           tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   19581            0 :                                           if (res) return res;
   19582              :                                         }
   19583            0 :                                         break;
   19584              :                                       }
   19585              :                                     default:;
   19586              :                                     }
   19587              :                                 }
   19588              :                               break;
   19589              :                             }
   19590            2 :                           default:;
   19591              :                           }
   19592            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19593              :                           {
   19594            1 :                             switch (TREE_CODE (_p2))
   19595              :                               {
   19596            1 :                               case INTEGER_CST:
   19597            1 :                                 {
   19598            1 :                                   {
   19599            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19600            1 :                                     tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   19601            1 :                                     if (res) return res;
   19602              :                                   }
   19603            0 :                                   break;
   19604              :                                 }
   19605              :                               default:;
   19606              :                               }
   19607              :                           }
   19608              :                       }
   19609              :                     break;
   19610            0 :                   case CFN_BUILT_IN_FFSLL:
   19611            0 :                     if (call_expr_nargs (_p1) == 1)
   19612              :     {
   19613            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19614            0 :                         switch (TREE_CODE (_q50))
   19615              :                           {
   19616            0 :                           CASE_CONVERT:
   19617            0 :                             {
   19618            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19619            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19620              :                                 {
   19621            0 :                                   if (integer_zerop (_p2))
   19622              :                                     {
   19623            0 :                                       {
   19624            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19625            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   19626            0 :                                         if (res) return res;
   19627              :                                       }
   19628              :                                     }
   19629              :                                 }
   19630              :                               break;
   19631              :                             }
   19632            0 :                           default:;
   19633              :                           }
   19634            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19635              :                           {
   19636            0 :                             if (integer_zerop (_p2))
   19637              :                               {
   19638            0 :                                 {
   19639            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19640            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   19641            0 :                                   if (res) return res;
   19642              :                                 }
   19643              :                               }
   19644              :                           }
   19645              :                       }
   19646              :                     break;
   19647            2 :                   case CFN_BUILT_IN_PARITYLL:
   19648            2 :                     if (call_expr_nargs (_p1) == 1)
   19649              :     {
   19650            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19651            2 :                         switch (TREE_CODE (_q50))
   19652              :                           {
   19653            1 :                           CASE_CONVERT:
   19654            1 :                             {
   19655            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19656            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19657              :                                 {
   19658            1 :                                   if (integer_zerop (_p2))
   19659              :                                     {
   19660            1 :                                       {
   19661            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19662            1 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   19663            1 :                                         if (res) return res;
   19664              :                                       }
   19665              :                                     }
   19666              :                                 }
   19667              :                               break;
   19668              :                             }
   19669            1 :                           default:;
   19670              :                           }
   19671            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19672              :                           {
   19673            0 :                             if (integer_zerop (_p2))
   19674              :                               {
   19675            0 :                                 {
   19676            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19677            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   19678            0 :                                   if (res) return res;
   19679              :                                 }
   19680              :                               }
   19681              :                           }
   19682              :                       }
   19683              :                     break;
   19684            3 :                   case CFN_BUILT_IN_BSWAP16:
   19685            3 :                     if (call_expr_nargs (_p1) == 1)
   19686              :     {
   19687            3 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19688            3 :                         switch (TREE_CODE (_q50))
   19689              :                           {
   19690            0 :                           CASE_CONVERT:
   19691            0 :                             {
   19692            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19693            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19694              :                                 {
   19695            0 :                                   if (integer_zerop (_p2))
   19696              :                                     {
   19697            0 :                                       {
   19698            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19699            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   19700            0 :                                         if (res) return res;
   19701              :                                       }
   19702              :                                     }
   19703              :                                 }
   19704              :                               break;
   19705              :                             }
   19706            3 :                           default:;
   19707              :                           }
   19708            3 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19709              :                           {
   19710            1 :                             if (integer_zerop (_p2))
   19711              :                               {
   19712            1 :                                 {
   19713            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19714            1 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   19715            1 :                                   if (res) return res;
   19716              :                                 }
   19717              :                               }
   19718              :                           }
   19719              :                       }
   19720              :                     break;
   19721            2 :                   case CFN_BUILT_IN_BSWAP32:
   19722            2 :                     if (call_expr_nargs (_p1) == 1)
   19723              :     {
   19724            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19725            2 :                         switch (TREE_CODE (_q50))
   19726              :                           {
   19727            0 :                           CASE_CONVERT:
   19728            0 :                             {
   19729            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19730            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19731              :                                 {
   19732            0 :                                   if (integer_zerop (_p2))
   19733              :                                     {
   19734            0 :                                       {
   19735            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19736            0 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   19737            0 :                                         if (res) return res;
   19738              :                                       }
   19739              :                                     }
   19740              :                                 }
   19741              :                               break;
   19742              :                             }
   19743            2 :                           default:;
   19744              :                           }
   19745            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19746              :                           {
   19747            1 :                             if (integer_zerop (_p2))
   19748              :                               {
   19749            1 :                                 {
   19750            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19751            1 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   19752            1 :                                   if (res) return res;
   19753              :                                 }
   19754              :                               }
   19755              :                           }
   19756              :                       }
   19757              :                     break;
   19758            2 :                   case CFN_BUILT_IN_BSWAP64:
   19759            2 :                     if (call_expr_nargs (_p1) == 1)
   19760              :     {
   19761            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19762            2 :                         switch (TREE_CODE (_q50))
   19763              :                           {
   19764            1 :                           CASE_CONVERT:
   19765            1 :                             {
   19766            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19767            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19768              :                                 {
   19769            1 :                                   if (integer_zerop (_p2))
   19770              :                                     {
   19771            1 :                                       {
   19772            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19773            1 :                                         tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   19774            1 :                                         if (res) return res;
   19775              :                                       }
   19776              :                                     }
   19777              :                                 }
   19778              :                               break;
   19779              :                             }
   19780            1 :                           default:;
   19781              :                           }
   19782            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19783              :                           {
   19784            0 :                             if (integer_zerop (_p2))
   19785              :                               {
   19786            0 :                                 {
   19787            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19788            0 :                                   tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   19789            0 :                                   if (res) return res;
   19790              :                                 }
   19791              :                               }
   19792              :                           }
   19793              :                       }
   19794              :                     break;
   19795              :                   default:;
   19796              :                   }
   19797              :                 break;
   19798      1849100 :               default:;
   19799              :               }
   19800      1849100 :           {
   19801      1849100 :             tree _p1_pops[1];
   19802      1849100 :             if (tree_nop_convert (_p1, _p1_pops))
   19803              :               {
   19804       153618 :                 tree _q50 = _p1_pops[0];
   19805       153618 :                 switch (TREE_CODE (_q50))
   19806              :                   {
   19807          339 :                   case PLUS_EXPR:
   19808          339 :                     {
   19809          339 :                       tree _q60 = TREE_OPERAND (_q50, 0);
   19810          339 :                       tree _q61 = TREE_OPERAND (_q50, 1);
   19811          339 :                       {
   19812          339 :                         tree _q60_pops[1];
   19813          339 :                         if (tree_nop_convert (_q60, _q60_pops))
   19814              :                           {
   19815           52 :                             tree _q70 = _q60_pops[0];
   19816           52 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   19817              :                               {
   19818            2 :                                 if (integer_all_onesp (_q61))
   19819              :                                   {
   19820            2 :                                     if (integer_zerop (_p2))
   19821              :                                       {
   19822            2 :                                         {
   19823            2 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   19824            2 :                                           tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures);
   19825            2 :                                           if (res) return res;
   19826              :                                         }
   19827              :                                       }
   19828              :                                   }
   19829              :                               }
   19830              :                           }
   19831              :                       }
   19832          337 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19833              :                         {
   19834           14 :                           if (integer_all_onesp (_q61))
   19835              :                             {
   19836            0 :                               if (integer_zerop (_p2))
   19837              :                                 {
   19838            0 :                                   {
   19839            0 :                                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   19840            0 :                                     tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures);
   19841            0 :                                     if (res) return res;
   19842              :                                   }
   19843              :                                 }
   19844              :                             }
   19845              :                         }
   19846              :                       break;
   19847              :                     }
   19848              :                   default:;
   19849              :                   }
   19850              :               }
   19851              :           }
   19852              :           }
   19853              :         break;
   19854              :       }
   19855            7 :     case LTGT_EXPR:
   19856            7 :       {
   19857            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19858            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19859            7 :         if (zerop (_q21))
   19860              :           {
   19861            0 :             switch (TREE_CODE (_p2))
   19862              :               {
   19863            0 :               case NEGATE_EXPR:
   19864            0 :                 {
   19865            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19866            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19867              :                     {
   19868            0 :                       {
   19869            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19870            0 :                         const enum tree_code cmp = LTGT_EXPR;
   19871            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   19872            0 :  && bitwise_equal_p (captures[0], captures[1])
   19873              : )
   19874              :                           {
   19875            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1850;
   19876            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1850;
   19877            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1850;
   19878            0 :                             {
   19879            0 :                               tree _r;
   19880            0 :                               _r = captures[1];
   19881            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   19882            0 :                               return _r;
   19883              :                             }
   19884            0 : next_after_fail1850:;
   19885              :                           }
   19886              :                       }
   19887              :                     }
   19888              :                   break;
   19889              :                 }
   19890            0 :               default:;
   19891              :               }
   19892            0 :           if (integer_zerop (_p2))
   19893              :             {
   19894            0 :               {
   19895            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19896            0 :                 const enum tree_code cmp = LTGT_EXPR;
   19897            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   19898            0 :  && bitwise_equal_p (captures[0], captures[1])
   19899              : )
   19900              :                   {
   19901            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1851;
   19902            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1851;
   19903            0 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1851;
   19904            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1851;
   19905            0 :                     {
   19906            0 :                       tree _r;
   19907            0 :                       _r = captures[1];
   19908            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   19909            0 :                       return _r;
   19910              :                     }
   19911            0 : next_after_fail1851:;
   19912              :                   }
   19913              :               }
   19914              :             }
   19915              :           }
   19916            7 :         switch (TREE_CODE (_q20))
   19917              :           {
   19918            0 :           case MINUS_EXPR:
   19919            0 :             {
   19920            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19921            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19922            0 :               if (zerop (_q21))
   19923              :                 {
   19924            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19925              :                     {
   19926            0 :                       switch (TREE_CODE (_p2))
   19927              :                         {
   19928            0 :                         case MINUS_EXPR:
   19929            0 :                           {
   19930            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19931            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19932            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19933              :                               {
   19934            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19935              :                                   {
   19936            0 :                                     {
   19937            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19938            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   19939            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19940              : )
   19941              :                                         {
   19942            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1852;
   19943            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1852;
   19944            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1852;
   19945            0 :                                           {
   19946            0 :                                             tree _r;
   19947            0 :                                             _r = captures[0];
   19948            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   19949            0 :                                             return _r;
   19950              :                                           }
   19951            0 : next_after_fail1852:;
   19952              :                                         }
   19953              :                                     }
   19954              :                                   }
   19955              :                               }
   19956              :                             break;
   19957              :                           }
   19958              :                         default:;
   19959              :                         }
   19960              :                     }
   19961              :                 }
   19962            0 :               if (integer_zerop (_q21))
   19963              :                 {
   19964            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19965              :                     {
   19966            0 :                       if (integer_zerop (_p2))
   19967              :                         {
   19968            0 :                           {
   19969            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19970            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   19971            0 :                             if (res) return res;
   19972              :                           }
   19973              :                         }
   19974              :                     }
   19975              :                 }
   19976              :               break;
   19977              :             }
   19978              :           default:;
   19979              :           }
   19980              :         break;
   19981              :       }
   19982       531929 :     case GE_EXPR:
   19983       531929 :       {
   19984       531929 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19985       531929 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19986       531929 :         switch (TREE_CODE (_q20))
   19987              :           {
   19988        55543 :           CASE_CONVERT:
   19989        55543 :             {
   19990        55543 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19991        55543 :               if (zerop (_q21))
   19992              :                 {
   19993        24738 :                   switch (TREE_CODE (_p2))
   19994              :                     {
   19995           13 :                     case NEGATE_EXPR:
   19996           13 :                       {
   19997           13 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   19998           13 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   19999              :                           {
   20000           13 :                             {
   20001           13 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20002           13 :                               const enum tree_code cmp = GE_EXPR;
   20003           13 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20004           13 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20005            0 :  && element_precision (captures[1])
   20006            0 :  <= element_precision (captures[0])
   20007            0 :  && bitwise_equal_p (captures[1], captures[2])
   20008           13 :  && (!VECTOR_TYPE_P (type)
   20009            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20010              : )
   20011              :                                 {
   20012            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20013              : )
   20014              :                                     {
   20015            0 :                                       {
   20016            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20017            0 :                                           if (types_match (captures[0], stype)
   20018              : )
   20019              :                                             {
   20020            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1853;
   20021            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1853;
   20022            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1853;
   20023            0 :                                               {
   20024            0 :                                                 tree res_op0;
   20025            0 :                                                 res_op0 = captures[0];
   20026            0 :                                                 tree _r;
   20027            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20028            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   20029            0 :                                                 return _r;
   20030              :                                               }
   20031           13 : next_after_fail1853:;
   20032              :                                             }
   20033              :                                           else
   20034              :                                             {
   20035            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1854;
   20036            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1854;
   20037            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1854;
   20038            0 :                                               {
   20039            0 :                                                 tree res_op0;
   20040            0 :                                                 {
   20041            0 :                                                   tree _o1[1], _r1;
   20042            0 :                                                   _o1[0] = captures[2];
   20043            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20044              :                                                     {
   20045            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20046              :                                                     }
   20047              :                                                   else
   20048              :                                                     _r1 = _o1[0];
   20049            0 :                                                   res_op0 = _r1;
   20050              :                                                 }
   20051            0 :                                                 tree _r;
   20052            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20053            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   20054            0 :                                                 return _r;
   20055              :                                               }
   20056           13 : next_after_fail1854:;
   20057              :                                             }
   20058              :                                       }
   20059              :                                     }
   20060              :                                   else
   20061              :                                     {
   20062            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1855;
   20063            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1855;
   20064            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1855;
   20065            0 :                                       {
   20066            0 :                                         tree res_op0;
   20067            0 :                                         res_op0 = captures[2];
   20068            0 :                                         tree _r;
   20069            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20070            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   20071            0 :                                         return _r;
   20072              :                                       }
   20073           13 : next_after_fail1855:;
   20074              :                                     }
   20075              :                                 }
   20076              :                             }
   20077              :                           }
   20078              :                         break;
   20079              :                       }
   20080              :                     default:;
   20081              :                     }
   20082              :                 }
   20083              :               break;
   20084              :             }
   20085       531929 :           default:;
   20086              :           }
   20087       531929 :         if (zerop (_q21))
   20088              :           {
   20089       142023 :             switch (TREE_CODE (_p2))
   20090              :               {
   20091        30277 :               case NEGATE_EXPR:
   20092        30277 :                 {
   20093        30277 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20094        30277 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20095              :                     {
   20096        30271 :                       {
   20097        30271 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20098        30271 :                         const enum tree_code cmp = GE_EXPR;
   20099        30271 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20100        30263 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20101        60526 :  && element_precision (captures[1])
   20102        30263 :  <= element_precision (captures[0])
   20103        30263 :  && bitwise_equal_p (captures[1], captures[2])
   20104        60436 :  && (!VECTOR_TYPE_P (type)
   20105            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20106              : )
   20107              :                           {
   20108        30165 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20109              : )
   20110              :                               {
   20111           46 :                                 {
   20112           46 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20113           46 :                                     if (types_match (captures[0], stype)
   20114              : )
   20115              :                                       {
   20116           13 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1856;
   20117           13 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1856;
   20118           13 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1856;
   20119           13 :                                         {
   20120           13 :                                           tree res_op0;
   20121           13 :                                           res_op0 = captures[0];
   20122           13 :                                           tree _r;
   20123           13 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20124           13 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   20125           13 :                                           return _r;
   20126              :                                         }
   20127          106 : next_after_fail1856:;
   20128              :                                       }
   20129              :                                     else
   20130              :                                       {
   20131           33 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1857;
   20132           33 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1857;
   20133           33 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1857;
   20134           33 :                                         {
   20135           33 :                                           tree res_op0;
   20136           33 :                                           {
   20137           33 :                                             tree _o1[1], _r1;
   20138           33 :                                             _o1[0] = captures[2];
   20139           33 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20140              :                                               {
   20141           33 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20142              :                                               }
   20143              :                                             else
   20144              :                                               _r1 = _o1[0];
   20145           33 :                                             res_op0 = _r1;
   20146              :                                           }
   20147           33 :                                           tree _r;
   20148           33 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20149           33 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   20150           33 :                                           return _r;
   20151              :                                         }
   20152          106 : next_after_fail1857:;
   20153              :                                       }
   20154              :                                 }
   20155              :                               }
   20156              :                             else
   20157              :                               {
   20158        30119 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1858;
   20159        30119 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1858;
   20160        30119 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1858;
   20161        30119 :                                 {
   20162        30119 :                                   tree res_op0;
   20163        30119 :                                   res_op0 = captures[2];
   20164        30119 :                                   tree _r;
   20165        30119 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20166        30119 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   20167        30119 :                                   return _r;
   20168              :                                 }
   20169          106 : next_after_fail1858:;
   20170              :                               }
   20171              :                           }
   20172              :                       }
   20173              :                     }
   20174              :                   break;
   20175              :                 }
   20176              :               default:;
   20177              :               }
   20178              :           }
   20179       501764 :         switch (TREE_CODE (_q20))
   20180              :           {
   20181        31898 :           case MINUS_EXPR:
   20182        31898 :             {
   20183        31898 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20184        31898 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20185        31898 :               if (zerop (_q21))
   20186              :                 {
   20187        31108 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20188              :                     {
   20189            1 :                       switch (TREE_CODE (_p2))
   20190              :                         {
   20191            1 :                         case MINUS_EXPR:
   20192            1 :                           {
   20193            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20194            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20195            1 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20196              :                               {
   20197            1 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20198              :                                   {
   20199            1 :                                     {
   20200            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20201            1 :                                       const enum tree_code cmp = GE_EXPR;
   20202            1 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20203            1 :  && !TYPE_UNSIGNED (type)
   20204            2 :  && (!VECTOR_TYPE_P (type)
   20205            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20206              : )
   20207              :                                         {
   20208            1 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1859;
   20209            1 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1859;
   20210            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
   20211            1 :                                           {
   20212            1 :                                             tree res_op0;
   20213            1 :                                             res_op0 = captures[0];
   20214            1 :                                             tree _r;
   20215            1 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20216            1 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   20217            1 :                                             return _r;
   20218              :                                           }
   20219            0 : next_after_fail1859:;
   20220              :                                         }
   20221              :                                     }
   20222              :                                   }
   20223              :                               }
   20224              :                             break;
   20225              :                           }
   20226              :                         default:;
   20227              :                         }
   20228              :                     }
   20229              :                 }
   20230              :               break;
   20231              :             }
   20232       501763 :           default:;
   20233              :           }
   20234       501763 :         if (integer_zerop (_q21))
   20235              :           {
   20236       111306 :             switch (TREE_CODE (_p1))
   20237              :               {
   20238           65 :               case BIT_NOT_EXPR:
   20239           65 :                 {
   20240           65 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   20241           65 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   20242              :                     {
   20243            9 :                       {
   20244            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   20245            9 :                         tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   20246            9 :                         if (res) return res;
   20247              :                       }
   20248              :                     }
   20249              :                   break;
   20250              :                 }
   20251       111297 :               default:;
   20252              :               }
   20253       111297 :             switch (TREE_CODE (_p2))
   20254              :               {
   20255           30 :               case BIT_NOT_EXPR:
   20256           30 :                 {
   20257           30 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20258           30 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20259              :                     {
   20260            9 :                       {
   20261            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20262            9 :                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   20263            9 :                         if (res) return res;
   20264              :                       }
   20265              :                     }
   20266              :                   break;
   20267              :                 }
   20268              :               default:;
   20269              :               }
   20270              :           }
   20271              :         break;
   20272              :       }
   20273       886064 :     case GT_EXPR:
   20274       886064 :       {
   20275       886064 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20276       886064 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20277       886064 :         switch (TREE_CODE (_q20))
   20278              :           {
   20279        85818 :           CASE_CONVERT:
   20280        85818 :             {
   20281        85818 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20282        85818 :               if (zerop (_q21))
   20283              :                 {
   20284         1562 :                   switch (TREE_CODE (_p2))
   20285              :                     {
   20286           20 :                     case NEGATE_EXPR:
   20287           20 :                       {
   20288           20 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20289           20 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20290              :                           {
   20291            0 :                             {
   20292            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20293            0 :                               const enum tree_code cmp = GT_EXPR;
   20294            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20295            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20296            0 :  && element_precision (captures[1])
   20297            0 :  <= element_precision (captures[0])
   20298            0 :  && bitwise_equal_p (captures[1], captures[2])
   20299            0 :  && (!VECTOR_TYPE_P (type)
   20300            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20301              : )
   20302              :                                 {
   20303            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20304              : )
   20305              :                                     {
   20306            0 :                                       {
   20307            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20308            0 :                                           if (types_match (captures[0], stype)
   20309              : )
   20310              :                                             {
   20311            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1860;
   20312            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1860;
   20313            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
   20314            0 :                                               {
   20315            0 :                                                 tree res_op0;
   20316            0 :                                                 res_op0 = captures[0];
   20317            0 :                                                 tree _r;
   20318            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20319            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   20320            0 :                                                 return _r;
   20321              :                                               }
   20322            0 : next_after_fail1860:;
   20323              :                                             }
   20324              :                                           else
   20325              :                                             {
   20326            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1861;
   20327            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1861;
   20328            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
   20329            0 :                                               {
   20330            0 :                                                 tree res_op0;
   20331            0 :                                                 {
   20332            0 :                                                   tree _o1[1], _r1;
   20333            0 :                                                   _o1[0] = captures[2];
   20334            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20335              :                                                     {
   20336            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20337              :                                                     }
   20338              :                                                   else
   20339              :                                                     _r1 = _o1[0];
   20340            0 :                                                   res_op0 = _r1;
   20341              :                                                 }
   20342            0 :                                                 tree _r;
   20343            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20344            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   20345            0 :                                                 return _r;
   20346              :                                               }
   20347            0 : next_after_fail1861:;
   20348              :                                             }
   20349              :                                       }
   20350              :                                     }
   20351              :                                   else
   20352              :                                     {
   20353            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1862;
   20354            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1862;
   20355            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
   20356            0 :                                       {
   20357            0 :                                         tree res_op0;
   20358            0 :                                         res_op0 = captures[2];
   20359            0 :                                         tree _r;
   20360            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20361            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   20362            0 :                                         return _r;
   20363              :                                       }
   20364            0 : next_after_fail1862:;
   20365              :                                     }
   20366              :                                 }
   20367              :                             }
   20368              :                           }
   20369              :                         break;
   20370              :                       }
   20371              :                     default:;
   20372              :                     }
   20373              :                 }
   20374              :               break;
   20375              :             }
   20376       886064 :           default:;
   20377              :           }
   20378       886064 :         if (zerop (_q21))
   20379              :           {
   20380       195815 :             switch (TREE_CODE (_p2))
   20381              :               {
   20382          306 :               case NEGATE_EXPR:
   20383          306 :                 {
   20384          306 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20385          306 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20386              :                     {
   20387          131 :                       {
   20388          131 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20389          131 :                         const enum tree_code cmp = GT_EXPR;
   20390          131 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20391           99 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20392          198 :  && element_precision (captures[1])
   20393           99 :  <= element_precision (captures[0])
   20394           99 :  && bitwise_equal_p (captures[1], captures[2])
   20395          225 :  && (!VECTOR_TYPE_P (type)
   20396            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20397              : )
   20398              :                           {
   20399           94 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20400              : )
   20401              :                               {
   20402            0 :                                 {
   20403            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20404            0 :                                     if (types_match (captures[0], stype)
   20405              : )
   20406              :                                       {
   20407            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1863;
   20408            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1863;
   20409            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
   20410            0 :                                         {
   20411            0 :                                           tree res_op0;
   20412            0 :                                           res_op0 = captures[0];
   20413            0 :                                           tree _r;
   20414            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20415            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   20416            0 :                                           return _r;
   20417              :                                         }
   20418           37 : next_after_fail1863:;
   20419              :                                       }
   20420              :                                     else
   20421              :                                       {
   20422            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1864;
   20423            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1864;
   20424            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
   20425            0 :                                         {
   20426            0 :                                           tree res_op0;
   20427            0 :                                           {
   20428            0 :                                             tree _o1[1], _r1;
   20429            0 :                                             _o1[0] = captures[2];
   20430            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20431              :                                               {
   20432            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20433              :                                               }
   20434              :                                             else
   20435              :                                               _r1 = _o1[0];
   20436            0 :                                             res_op0 = _r1;
   20437              :                                           }
   20438            0 :                                           tree _r;
   20439            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20440            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   20441            0 :                                           return _r;
   20442              :                                         }
   20443           37 : next_after_fail1864:;
   20444              :                                       }
   20445              :                                 }
   20446              :                               }
   20447              :                             else
   20448              :                               {
   20449           94 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1865;
   20450           94 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1865;
   20451           94 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
   20452           94 :                                 {
   20453           94 :                                   tree res_op0;
   20454           94 :                                   res_op0 = captures[2];
   20455           94 :                                   tree _r;
   20456           94 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20457           94 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   20458           94 :                                   return _r;
   20459              :                                 }
   20460           37 : next_after_fail1865:;
   20461              :                               }
   20462              :                           }
   20463              :                       }
   20464              :                     }
   20465              :                   break;
   20466              :                 }
   20467              :               default:;
   20468              :               }
   20469              :           }
   20470       885970 :         switch (TREE_CODE (_q20))
   20471              :           {
   20472          956 :           case MINUS_EXPR:
   20473          956 :             {
   20474          956 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20475          956 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20476          956 :               if (zerop (_q21))
   20477              :                 {
   20478          160 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20479              :                     {
   20480           15 :                       switch (TREE_CODE (_p2))
   20481              :                         {
   20482            9 :                         case MINUS_EXPR:
   20483            9 :                           {
   20484            9 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20485            9 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20486            9 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20487              :                               {
   20488            9 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20489              :                                   {
   20490            9 :                                     {
   20491            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20492            9 :                                       const enum tree_code cmp = GT_EXPR;
   20493            9 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20494            9 :  && !TYPE_UNSIGNED (type)
   20495           18 :  && (!VECTOR_TYPE_P (type)
   20496            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20497              : )
   20498              :                                         {
   20499            9 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1866;
   20500            9 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1866;
   20501            9 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
   20502            9 :                                           {
   20503            9 :                                             tree res_op0;
   20504            9 :                                             res_op0 = captures[0];
   20505            9 :                                             tree _r;
   20506            9 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20507            9 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   20508            9 :                                             return _r;
   20509              :                                           }
   20510            0 : next_after_fail1866:;
   20511              :                                         }
   20512              :                                     }
   20513              :                                   }
   20514              :                               }
   20515              :                             break;
   20516              :                           }
   20517              :                         default:;
   20518              :                         }
   20519              :                     }
   20520              :                 }
   20521              :               break;
   20522              :             }
   20523              :           default:;
   20524              :           }
   20525              :         break;
   20526              :       }
   20527      1361178 :     case LE_EXPR:
   20528      1361178 :       {
   20529      1361178 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20530      1361178 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20531      1361178 :         switch (TREE_CODE (_q20))
   20532              :           {
   20533       140853 :           CASE_CONVERT:
   20534       140853 :             {
   20535       140853 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20536       140853 :               if (zerop (_q21))
   20537              :                 {
   20538         1303 :                   switch (TREE_CODE (_p2))
   20539              :                     {
   20540            0 :                     case NEGATE_EXPR:
   20541            0 :                       {
   20542            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20543            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20544              :                           {
   20545            0 :                             {
   20546            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20547            0 :                               const enum tree_code cmp = LE_EXPR;
   20548            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20549            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20550            0 :  && element_precision (captures[1])
   20551            0 :  <= element_precision (captures[0])
   20552            0 :  && bitwise_equal_p (captures[1], captures[2])
   20553            0 :  && (!VECTOR_TYPE_P (type)
   20554            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   20555            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   20556              : )
   20557              :                                 {
   20558            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   20559            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   20560            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20561              : )
   20562              :                                     {
   20563            0 :                                       {
   20564            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20565            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   20566            0 :                                           if (types_match (captures[0], stype)
   20567              : )
   20568              :                                             {
   20569            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1867;
   20570            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1867;
   20571            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
   20572            0 :                                               {
   20573            0 :                                                 tree res_op0;
   20574            0 :                                                 {
   20575            0 :                                                   tree _o1[1], _r1;
   20576            0 :                                                   {
   20577            0 :                                                     tree _o2[1], _r2;
   20578            0 :                                                     _o2[0] = captures[0];
   20579            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20580            0 :                                                     _o1[0] = _r2;
   20581              :                                                   }
   20582            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20583            0 :                                                   res_op0 = _r1;
   20584              :                                                 }
   20585            0 :                                                 tree _r;
   20586            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20587            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20588            0 :                                                 return _r;
   20589              :                                               }
   20590            0 : next_after_fail1867:;
   20591              :                                             }
   20592              :                                           else
   20593              :                                             {
   20594            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1868;
   20595            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1868;
   20596            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   20597            0 :                                               {
   20598            0 :                                                 tree res_op0;
   20599            0 :                                                 {
   20600            0 :                                                   tree _o1[1], _r1;
   20601            0 :                                                   {
   20602            0 :                                                     tree _o2[1], _r2;
   20603            0 :                                                     {
   20604            0 :                                                       tree _o3[1], _r3;
   20605            0 :                                                       _o3[0] = captures[2];
   20606            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   20607              :                                                         {
   20608            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   20609              :                                                         }
   20610              :                                                       else
   20611              :                                                         _r3 = _o3[0];
   20612            0 :                                                       _o2[0] = _r3;
   20613              :                                                     }
   20614            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20615            0 :                                                     _o1[0] = _r2;
   20616              :                                                   }
   20617            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20618            0 :                                                   res_op0 = _r1;
   20619              :                                                 }
   20620            0 :                                                 tree _r;
   20621            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20622            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20623            0 :                                                 return _r;
   20624              :                                               }
   20625            0 : next_after_fail1868:;
   20626              :                                             }
   20627              :                                       }
   20628              :                                     }
   20629              :                                   else
   20630              :                                     {
   20631            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1869;
   20632            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1869;
   20633            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   20634            0 :                                       {
   20635            0 :                                         tree res_op0;
   20636            0 :                                         {
   20637            0 :                                           tree _o1[1], _r1;
   20638            0 :                                           {
   20639            0 :                                             tree _o2[1], _r2;
   20640            0 :                                             _o2[0] = captures[2];
   20641            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   20642            0 :                                             _o1[0] = _r2;
   20643              :                                           }
   20644            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20645            0 :                                           res_op0 = _r1;
   20646              :                                         }
   20647            0 :                                         tree _r;
   20648            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20649            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   20650            0 :                                         return _r;
   20651              :                                       }
   20652            0 : next_after_fail1869:;
   20653              :                                     }
   20654              :                                 }
   20655              :                             }
   20656              :                           }
   20657              :                         break;
   20658              :                       }
   20659              :                     default:;
   20660              :                     }
   20661              :                 }
   20662              :               break;
   20663              :             }
   20664      1361178 :           default:;
   20665              :           }
   20666      1361178 :         if (zerop (_q21))
   20667              :           {
   20668       122696 :             switch (TREE_CODE (_p2))
   20669              :               {
   20670            7 :               case NEGATE_EXPR:
   20671            7 :                 {
   20672            7 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20673            7 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20674              :                     {
   20675            7 :                       {
   20676            7 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20677            7 :                         const enum tree_code cmp = LE_EXPR;
   20678            7 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20679            7 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20680           14 :  && element_precision (captures[1])
   20681            7 :  <= element_precision (captures[0])
   20682            7 :  && bitwise_equal_p (captures[1], captures[2])
   20683           14 :  && (!VECTOR_TYPE_P (type)
   20684            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   20685            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   20686              : )
   20687              :                           {
   20688           14 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   20689            7 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   20690            7 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20691              : )
   20692              :                               {
   20693            7 :                                 {
   20694            7 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20695            7 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   20696            7 :                                     if (types_match (captures[0], stype)
   20697              : )
   20698              :                                       {
   20699            7 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1870;
   20700            7 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1870;
   20701            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
   20702            7 :                                         {
   20703            7 :                                           tree res_op0;
   20704            7 :                                           {
   20705            7 :                                             tree _o1[1], _r1;
   20706            7 :                                             {
   20707            7 :                                               tree _o2[1], _r2;
   20708            7 :                                               _o2[0] = captures[0];
   20709            7 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20710            7 :                                               _o1[0] = _r2;
   20711              :                                             }
   20712            7 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20713            7 :                                             res_op0 = _r1;
   20714              :                                           }
   20715            7 :                                           tree _r;
   20716            7 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20717            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20718            7 :                                           return _r;
   20719              :                                         }
   20720            0 : next_after_fail1870:;
   20721              :                                       }
   20722              :                                     else
   20723              :                                       {
   20724            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1871;
   20725            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1871;
   20726            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1871;
   20727            0 :                                         {
   20728            0 :                                           tree res_op0;
   20729            0 :                                           {
   20730            0 :                                             tree _o1[1], _r1;
   20731            0 :                                             {
   20732            0 :                                               tree _o2[1], _r2;
   20733            0 :                                               {
   20734            0 :                                                 tree _o3[1], _r3;
   20735            0 :                                                 _o3[0] = captures[2];
   20736            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   20737              :                                                   {
   20738            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   20739              :                                                   }
   20740              :                                                 else
   20741              :                                                   _r3 = _o3[0];
   20742            0 :                                                 _o2[0] = _r3;
   20743              :                                               }
   20744            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20745            0 :                                               _o1[0] = _r2;
   20746              :                                             }
   20747            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20748            0 :                                             res_op0 = _r1;
   20749              :                                           }
   20750            0 :                                           tree _r;
   20751            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20752            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20753            0 :                                           return _r;
   20754              :                                         }
   20755            0 : next_after_fail1871:;
   20756              :                                       }
   20757              :                                 }
   20758              :                               }
   20759              :                             else
   20760              :                               {
   20761            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1872;
   20762            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1872;
   20763            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1872;
   20764            0 :                                 {
   20765            0 :                                   tree res_op0;
   20766            0 :                                   {
   20767            0 :                                     tree _o1[1], _r1;
   20768            0 :                                     {
   20769            0 :                                       tree _o2[1], _r2;
   20770            0 :                                       _o2[0] = captures[2];
   20771            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   20772            0 :                                       _o1[0] = _r2;
   20773              :                                     }
   20774            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20775            0 :                                     res_op0 = _r1;
   20776              :                                   }
   20777            0 :                                   tree _r;
   20778            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20779            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   20780            0 :                                   return _r;
   20781              :                                 }
   20782            0 : next_after_fail1872:;
   20783              :                               }
   20784              :                           }
   20785              :                       }
   20786              :                     }
   20787              :                   break;
   20788              :                 }
   20789              :               default:;
   20790              :               }
   20791              :           }
   20792      1361171 :         switch (TREE_CODE (_q20))
   20793              :           {
   20794          193 :           case MINUS_EXPR:
   20795          193 :             {
   20796          193 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20797          193 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20798          193 :               if (zerop (_q21))
   20799              :                 {
   20800          148 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20801              :                     {
   20802            0 :                       switch (TREE_CODE (_p2))
   20803              :                         {
   20804            0 :                         case MINUS_EXPR:
   20805            0 :                           {
   20806            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20807            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20808            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20809              :                               {
   20810            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20811              :                                   {
   20812            0 :                                     {
   20813            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20814            0 :                                       const enum tree_code cmp = LE_EXPR;
   20815            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20816            0 :  && !TYPE_UNSIGNED (type)
   20817              : )
   20818              :                                         {
   20819            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   20820            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   20821            0 :  && (!VECTOR_TYPE_P (type)
   20822            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   20823            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   20824              : )
   20825              :                                             {
   20826            0 :                                               {
   20827            0 :  tree utype = unsigned_type_for (type);
   20828            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1873;
   20829            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1873;
   20830            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1873;
   20831            0 :                                                   {
   20832            0 :                                                     tree res_op0;
   20833            0 :                                                     {
   20834            0 :                                                       tree _o1[1], _r1;
   20835            0 :                                                       {
   20836            0 :                                                         tree _o2[1], _r2;
   20837            0 :                                                         _o2[0] = captures[0];
   20838            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20839            0 :                                                         _o1[0] = _r2;
   20840              :                                                       }
   20841            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20842            0 :                                                       res_op0 = _r1;
   20843              :                                                     }
   20844            0 :                                                     tree _r;
   20845            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20846            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   20847            0 :                                                     return _r;
   20848              :                                                   }
   20849            0 : next_after_fail1873:;
   20850              :                                               }
   20851              :                                             }
   20852              :                                           else
   20853              :                                             {
   20854            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1874;
   20855            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1874;
   20856            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1874;
   20857            0 :                                               {
   20858            0 :                                                 tree res_op0;
   20859            0 :                                                 {
   20860            0 :                                                   tree _o1[1], _r1;
   20861            0 :                                                   _o1[0] = captures[0];
   20862            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20863            0 :                                                   res_op0 = _r1;
   20864              :                                                 }
   20865            0 :                                                 tree _r;
   20866            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   20867            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   20868            0 :                                                 return _r;
   20869              :                                               }
   20870            0 : next_after_fail1874:;
   20871              :                                             }
   20872              :                                         }
   20873              :                                     }
   20874              :                                   }
   20875              :                               }
   20876              :                             break;
   20877              :                           }
   20878              :                         default:;
   20879              :                         }
   20880              :                     }
   20881              :                 }
   20882              :               break;
   20883              :             }
   20884              :           default:;
   20885              :           }
   20886              :         break;
   20887              :       }
   20888      1751751 :     case LT_EXPR:
   20889      1751751 :       {
   20890      1751751 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20891      1751751 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20892      1751751 :         switch (TREE_CODE (_q20))
   20893              :           {
   20894       102906 :           CASE_CONVERT:
   20895       102906 :             {
   20896       102906 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20897       102906 :               if (zerop (_q21))
   20898              :                 {
   20899        15435 :                   switch (TREE_CODE (_p2))
   20900              :                     {
   20901            8 :                     case NEGATE_EXPR:
   20902            8 :                       {
   20903            8 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20904            8 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20905              :                           {
   20906            0 :                             {
   20907            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20908            0 :                               const enum tree_code cmp = LT_EXPR;
   20909            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20910            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20911            0 :  && element_precision (captures[1])
   20912            0 :  <= element_precision (captures[0])
   20913            0 :  && bitwise_equal_p (captures[1], captures[2])
   20914            0 :  && (!VECTOR_TYPE_P (type)
   20915            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   20916            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   20917              : )
   20918              :                                 {
   20919            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   20920            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   20921            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20922              : )
   20923              :                                     {
   20924            0 :                                       {
   20925            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20926            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   20927            0 :                                           if (types_match (captures[0], stype)
   20928              : )
   20929              :                                             {
   20930            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1875;
   20931            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1875;
   20932            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1875;
   20933            0 :                                               {
   20934            0 :                                                 tree res_op0;
   20935            0 :                                                 {
   20936            0 :                                                   tree _o1[1], _r1;
   20937            0 :                                                   {
   20938            0 :                                                     tree _o2[1], _r2;
   20939            0 :                                                     _o2[0] = captures[0];
   20940            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20941            0 :                                                     _o1[0] = _r2;
   20942              :                                                   }
   20943            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20944            0 :                                                   res_op0 = _r1;
   20945              :                                                 }
   20946            0 :                                                 tree _r;
   20947            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20948            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20949            0 :                                                 return _r;
   20950              :                                               }
   20951            0 : next_after_fail1875:;
   20952              :                                             }
   20953              :                                           else
   20954              :                                             {
   20955            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1876;
   20956            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1876;
   20957            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
   20958            0 :                                               {
   20959            0 :                                                 tree res_op0;
   20960            0 :                                                 {
   20961            0 :                                                   tree _o1[1], _r1;
   20962            0 :                                                   {
   20963            0 :                                                     tree _o2[1], _r2;
   20964            0 :                                                     {
   20965            0 :                                                       tree _o3[1], _r3;
   20966            0 :                                                       _o3[0] = captures[2];
   20967            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   20968              :                                                         {
   20969            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   20970              :                                                         }
   20971              :                                                       else
   20972              :                                                         _r3 = _o3[0];
   20973            0 :                                                       _o2[0] = _r3;
   20974              :                                                     }
   20975            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20976            0 :                                                     _o1[0] = _r2;
   20977              :                                                   }
   20978            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20979            0 :                                                   res_op0 = _r1;
   20980              :                                                 }
   20981            0 :                                                 tree _r;
   20982            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20983            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20984            0 :                                                 return _r;
   20985              :                                               }
   20986            0 : next_after_fail1876:;
   20987              :                                             }
   20988              :                                       }
   20989              :                                     }
   20990              :                                   else
   20991              :                                     {
   20992            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1877;
   20993            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1877;
   20994            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
   20995            0 :                                       {
   20996            0 :                                         tree res_op0;
   20997            0 :                                         {
   20998            0 :                                           tree _o1[1], _r1;
   20999            0 :                                           {
   21000            0 :                                             tree _o2[1], _r2;
   21001            0 :                                             _o2[0] = captures[2];
   21002            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21003            0 :                                             _o1[0] = _r2;
   21004              :                                           }
   21005            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21006            0 :                                           res_op0 = _r1;
   21007              :                                         }
   21008            0 :                                         tree _r;
   21009            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21010            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   21011            0 :                                         return _r;
   21012              :                                       }
   21013            0 : next_after_fail1877:;
   21014              :                                     }
   21015              :                                 }
   21016              :                             }
   21017              :                           }
   21018              :                         break;
   21019              :                       }
   21020              :                     default:;
   21021              :                     }
   21022              :                 }
   21023              :               break;
   21024              :             }
   21025      1751751 :           default:;
   21026              :           }
   21027      1751751 :         if (zerop (_q21))
   21028              :           {
   21029       373223 :             switch (TREE_CODE (_p2))
   21030              :               {
   21031           33 :               case NEGATE_EXPR:
   21032           33 :                 {
   21033           33 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21034           33 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21035              :                     {
   21036           25 :                       {
   21037           25 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21038           25 :                         const enum tree_code cmp = LT_EXPR;
   21039           25 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21040           25 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21041           50 :  && element_precision (captures[1])
   21042           25 :  <= element_precision (captures[0])
   21043           25 :  && bitwise_equal_p (captures[1], captures[2])
   21044           50 :  && (!VECTOR_TYPE_P (type)
   21045            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21046            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21047              : )
   21048              :                           {
   21049           50 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21050           25 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21051           26 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21052              : )
   21053              :                               {
   21054           24 :                                 {
   21055           24 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21056           24 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21057           24 :                                     if (types_match (captures[0], stype)
   21058              : )
   21059              :                                       {
   21060           24 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1878;
   21061           24 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1878;
   21062           24 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
   21063           24 :                                         {
   21064           24 :                                           tree res_op0;
   21065           24 :                                           {
   21066           24 :                                             tree _o1[1], _r1;
   21067           24 :                                             {
   21068           24 :                                               tree _o2[1], _r2;
   21069           24 :                                               _o2[0] = captures[0];
   21070           24 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21071           24 :                                               _o1[0] = _r2;
   21072              :                                             }
   21073           24 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21074           24 :                                             res_op0 = _r1;
   21075              :                                           }
   21076           24 :                                           tree _r;
   21077           24 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21078           24 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   21079           24 :                                           return _r;
   21080              :                                         }
   21081            0 : next_after_fail1878:;
   21082              :                                       }
   21083              :                                     else
   21084              :                                       {
   21085            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1879;
   21086            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1879;
   21087            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
   21088            0 :                                         {
   21089            0 :                                           tree res_op0;
   21090            0 :                                           {
   21091            0 :                                             tree _o1[1], _r1;
   21092            0 :                                             {
   21093            0 :                                               tree _o2[1], _r2;
   21094            0 :                                               {
   21095            0 :                                                 tree _o3[1], _r3;
   21096            0 :                                                 _o3[0] = captures[2];
   21097            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21098              :                                                   {
   21099            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21100              :                                                   }
   21101              :                                                 else
   21102              :                                                   _r3 = _o3[0];
   21103            0 :                                                 _o2[0] = _r3;
   21104              :                                               }
   21105            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21106            0 :                                               _o1[0] = _r2;
   21107              :                                             }
   21108            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21109            0 :                                             res_op0 = _r1;
   21110              :                                           }
   21111            0 :                                           tree _r;
   21112            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21113            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   21114            0 :                                           return _r;
   21115              :                                         }
   21116            0 : next_after_fail1879:;
   21117              :                                       }
   21118              :                                 }
   21119              :                               }
   21120              :                             else
   21121              :                               {
   21122            1 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1880;
   21123            1 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1880;
   21124            1 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
   21125            1 :                                 {
   21126            1 :                                   tree res_op0;
   21127            1 :                                   {
   21128            1 :                                     tree _o1[1], _r1;
   21129            1 :                                     {
   21130            1 :                                       tree _o2[1], _r2;
   21131            1 :                                       _o2[0] = captures[2];
   21132            1 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21133            1 :                                       _o1[0] = _r2;
   21134              :                                     }
   21135            1 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21136            1 :                                     res_op0 = _r1;
   21137              :                                   }
   21138            1 :                                   tree _r;
   21139            1 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21140            1 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   21141            1 :                                   return _r;
   21142              :                                 }
   21143            0 : next_after_fail1880:;
   21144              :                               }
   21145              :                           }
   21146              :                       }
   21147              :                     }
   21148              :                   break;
   21149              :                 }
   21150              :               default:;
   21151              :               }
   21152              :           }
   21153      1751726 :         switch (TREE_CODE (_q20))
   21154              :           {
   21155        11286 :           case MINUS_EXPR:
   21156        11286 :             {
   21157        11286 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21158        11286 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21159        11286 :               if (zerop (_q21))
   21160              :                 {
   21161         7376 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21162              :                     {
   21163            0 :                       switch (TREE_CODE (_p2))
   21164              :                         {
   21165            0 :                         case MINUS_EXPR:
   21166            0 :                           {
   21167            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21168            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21169            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21170              :                               {
   21171            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21172              :                                   {
   21173            0 :                                     {
   21174            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21175            0 :                                       const enum tree_code cmp = LT_EXPR;
   21176            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21177            0 :  && !TYPE_UNSIGNED (type)
   21178              : )
   21179              :                                         {
   21180            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21181            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21182            0 :  && (!VECTOR_TYPE_P (type)
   21183            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21184            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21185              : )
   21186              :                                             {
   21187            0 :                                               {
   21188            0 :  tree utype = unsigned_type_for (type);
   21189            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1881;
   21190            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1881;
   21191            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
   21192            0 :                                                   {
   21193            0 :                                                     tree res_op0;
   21194            0 :                                                     {
   21195            0 :                                                       tree _o1[1], _r1;
   21196            0 :                                                       {
   21197            0 :                                                         tree _o2[1], _r2;
   21198            0 :                                                         _o2[0] = captures[0];
   21199            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21200            0 :                                                         _o1[0] = _r2;
   21201              :                                                       }
   21202            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21203            0 :                                                       res_op0 = _r1;
   21204              :                                                     }
   21205            0 :                                                     tree _r;
   21206            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21207            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   21208            0 :                                                     return _r;
   21209              :                                                   }
   21210            0 : next_after_fail1881:;
   21211              :                                               }
   21212              :                                             }
   21213              :                                           else
   21214              :                                             {
   21215            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1882;
   21216            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1882;
   21217            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
   21218            0 :                                               {
   21219            0 :                                                 tree res_op0;
   21220            0 :                                                 {
   21221            0 :                                                   tree _o1[1], _r1;
   21222            0 :                                                   _o1[0] = captures[0];
   21223            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21224            0 :                                                   res_op0 = _r1;
   21225              :                                                 }
   21226            0 :                                                 tree _r;
   21227            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21228            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   21229            0 :                                                 return _r;
   21230              :                                               }
   21231            0 : next_after_fail1882:;
   21232              :                                             }
   21233              :                                         }
   21234              :                                     }
   21235              :                                   }
   21236              :                               }
   21237              :                             break;
   21238              :                           }
   21239              :                         default:;
   21240              :                         }
   21241              :                     }
   21242              :                 }
   21243              :               break;
   21244              :             }
   21245      1751726 :           default:;
   21246              :           }
   21247      1751726 :         if (integer_zerop (_q21))
   21248              :           {
   21249       317212 :             switch (TREE_CODE (_p1))
   21250              :               {
   21251           21 :               case BIT_NOT_EXPR:
   21252           21 :                 {
   21253           21 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   21254           21 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   21255              :                     {
   21256           13 :                       {
   21257           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   21258           13 :                         tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   21259           13 :                         if (res) return res;
   21260              :                       }
   21261              :                     }
   21262              :                   break;
   21263              :                 }
   21264       317199 :               default:;
   21265              :               }
   21266       317199 :             switch (TREE_CODE (_p2))
   21267              :               {
   21268            8 :               case BIT_NOT_EXPR:
   21269            8 :                 {
   21270            8 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21271            8 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21272              :                     {
   21273            8 :                       {
   21274            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21275            8 :                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   21276            8 :                         if (res) return res;
   21277              :                       }
   21278              :                     }
   21279              :                   break;
   21280              :                 }
   21281       317191 :               default:;
   21282              :               }
   21283       317191 :             switch (TREE_CODE (_p1))
   21284              :               {
   21285       281039 :               case INTEGER_CST:
   21286       281039 :                 {
   21287       281039 :                   if (integer_zerop (_p2))
   21288              :                     {
   21289         8685 :                       {
   21290         8685 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21291         8685 :                         if (integer_pow2p (captures[1])
   21292         8685 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   21293              : )
   21294              :                           {
   21295         8468 :                             {
   21296         8468 :  int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
   21297         8468 :                                 if (shift >= 0
   21298              : )
   21299              :                                   {
   21300         8453 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1883;
   21301         8453 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1883;
   21302         8453 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1883;
   21303         8453 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
   21304         8453 :                                     {
   21305         8453 :                                       tree res_op0;
   21306         8453 :                                       {
   21307         8453 :                                         tree _o1[1], _r1;
   21308         8453 :                                         {
   21309         8453 :                                           tree _o2[2], _r2;
   21310         8453 :                                           _o2[0] = captures[0];
   21311         8453 :                                           _o2[1] =  build_int_cst (integer_type_node, shift);
   21312         8453 :                                           _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   21313         8453 :                                           _o1[0] = _r2;
   21314              :                                         }
   21315         8453 :                                         if (TREE_TYPE (_o1[0]) != type)
   21316              :                                           {
   21317         8428 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   21318              :                                           }
   21319              :                                         else
   21320              :                                           _r1 = _o1[0];
   21321         8453 :                                         res_op0 = _r1;
   21322              :                                       }
   21323         8453 :                                       tree res_op1;
   21324         8453 :                                       res_op1 = captures[1];
   21325         8453 :                                       tree _r;
   21326         8453 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   21327         8453 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   21328         8468 :                                       return _r;
   21329              :                                     }
   21330              : next_after_fail1883:;
   21331              :                                   }
   21332              :                                 else
   21333              :                                   {
   21334           15 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1884;
   21335           15 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1884;
   21336           15 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1884;
   21337           15 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
   21338           15 :                                     {
   21339           15 :                                       tree res_op0;
   21340           15 :                                       {
   21341           15 :                                         tree _o1[1], _r1;
   21342           15 :                                         _o1[0] = captures[0];
   21343           15 :                                         if (TREE_TYPE (_o1[0]) != type)
   21344              :                                           {
   21345           15 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   21346              :                                           }
   21347              :                                         else
   21348              :                                           _r1 = _o1[0];
   21349           15 :                                         res_op0 = _r1;
   21350              :                                       }
   21351           15 :                                       tree res_op1;
   21352           15 :                                       res_op1 = captures[1];
   21353           15 :                                       tree _r;
   21354           15 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   21355           15 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   21356           15 :                                       return _r;
   21357              :                                     }
   21358              : next_after_fail1884:;
   21359              :                                   }
   21360              :                             }
   21361              :                           }
   21362              :                       }
   21363              :                     }
   21364              :                   break;
   21365              :                 }
   21366              :               default:;
   21367              :               }
   21368              :           }
   21369              :         break;
   21370              :       }
   21371     11502696 :     default:;
   21372              :     }
   21373     11502696 : {
   21374     11502696 :   tree _p0_pops[1];
   21375     11502696 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   21376              :     {
   21377       466917 :       tree _q20 = _p0_pops[0];
   21378       466917 :       if (tree_truth_valued_p (_q20))
   21379              :         {
   21380         4464 :           {
   21381         4464 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   21382         8928 :             if (COND_EXPR == VEC_COND_EXPR
   21383         4464 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   21384              : )
   21385              :               {
   21386         3150 :                 if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1885;
   21387           46 :                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1885;
   21388           37 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
   21389           37 :                 {
   21390           37 :                   tree res_op0;
   21391           37 :                   res_op0 = captures[0];
   21392           37 :                   tree res_op1;
   21393           37 :                   res_op1 = captures[2];
   21394           37 :                   tree res_op2;
   21395           37 :                   res_op2 = captures[1];
   21396           37 :                   tree _r;
   21397           37 :                   _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   21398           37 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   21399           37 :                   return _r;
   21400              :                 }
   21401         4427 : next_after_fail1885:;
   21402              :               }
   21403              :           }
   21404              :         }
   21405              :     }
   21406              : }
   21407     11502659 :   return NULL_TREE;
   21408              : }
   21409              : #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.